Uniswap User Operation Structure is a JSON Structure definition published by Uniswap. It conforms to the https://json-schema.org/draft/2020-12/schema meta-schema.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "UserOperation Structure",
"description": "JSON Structure for UserOperation from Uniswap Trading API",
"structure": {
"type": "object",
"description": "ERC-4337 v0.8 UserOperation.",
"properties": {
"sender": {
"type": "string",
"description": "Smart account address that will execute the operation."
},
"nonce": {
"type": "string",
"description": "Anti-replay nonce from the EntryPoint."
},
"callData": {
"type": "string",
"description": "ABI-encoded call data for the batch execution."
},
"callGasLimit": {
"type": "string",
"description": "Gas limit for the main execution call."
},
"verificationGasLimit": {
"type": "string",
"description": "Gas limit for the verification step."
},
"preVerificationGas": {
"type": "string",
"description": "Gas to cover bundler overhead and L1 data costs."
},
"maxFeePerGas": {
"type": "string",
"description": "EIP-1559 max fee per gas."
},
"maxPriorityFeePerGas": {
"type": "string",
"description": "EIP-1559 max priority fee per gas."
},
"factory": {
"type": "string",
"description": "Account factory address (present for first-time account deployment)."
},
"factoryData": {
"type": "string",
"description": "Calldata for the account factory."
},
"paymaster": {
"type": "string",
"description": "Paymaster contract address (present when gas is sponsored)."
},
"paymasterVerificationGasLimit": {
"type": "string",
"description": "Gas limit for paymaster verification."
},
"paymasterPostOpGasLimit": {
"type": "string",
"description": "Gas limit for paymaster post-operation."
},
"paymasterData": {
"type": "string",
"description": "Paymaster-specific data."
},
"signature": {
"type": "string",
"description": "Dummy signature placeholder; the client signs the UserOperation after receiving this response."
},
"eip7702Auth": {
"type": "object",
"description": "Signed EIP-7702 authorization tuple.",
"properties": {
"address": {
"type": "string",
"description": "Contract address to delegate to."
},
"chainId": {
"type": "string",
"description": "Hex-encoded chain ID."
},
"nonce": {
"type": "string",
"description": "Hex-encoded nonce."
},
"r": {
"type": "string",
"description": "ECDSA r value."
},
"s": {
"type": "string",
"description": "ECDSA s value."
},
"yParity": {
"type": "string",
"description": "ECDSA y parity."
}
},
"required": [
"address",
"chainId",
"nonce",
"r",
"s",
"yParity"
]
}
},
"required": [
"sender",
"nonce",
"callData",
"callGasLimit",
"verificationGasLimit",
"preVerificationGas",
"maxFeePerGas",
"maxPriorityFeePerGas",
"signature"
]
}
}
Every JSON Structure here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for json structure
4 MCP tools reach this
find_json_structuresBrowse and filter every JSON Structure in the catalog.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools
Call it yourself
curl for this page
This JSON Structure
curl "https://apis.io/api/v1/json-structures/uniswap-user-operation-structure"
All json structure
curl "https://apis.io/api/v1/json-structures?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no email required.
A second provider on the same verified email joins the account you already have.