Skip to main content
POST
/
rpc
/
{chainId}
eth_sendUserOperationSync
curl --request POST \
  --url https://api.gelato.cloud/rpc/{chainId} \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <x-api-key>' \
  --data '
{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "eth_sendUserOperationSync",
  "params": [
    {
      "sender": "0x....",
      "nonce": "0x....",
      "factory": "0x....",
      "factoryData": "0x....",
      "callData": "0x....",
      "signature": "0x....",
      "maxFeePerGas": "0x....",
      "maxPriorityFeePerGas": "0x....",
      "callGasLimit": "0x....",
      "verificationGasLimit": "0x....",
      "preVerificationGas": "0x....",
      "paymaster": "0x....",
      "paymasterData": "0x....",
      "paymasterPostOpGasLimit": "0x....",
      "paymasterVerificationGasLimit": "0x....",
      "eip7702Auth": {
        "address": "0x....",
        "chainId": "0x....",
        "nonce": "0x....",
        "r": "0x....",
        "s": "0x....",
        "yParity": "0x...."
      }
    },
    "0x0000000071727De22E5E9d8BAf0edAc6f37da032",
    60000
  ]
}
'
{
  "id": 1,
  "jsonrpc": "2.0",
  "result": {
    "userOpHash": "0x13574b2256b73bdc33fb121052f64b3803161e5ec602a6dc9e56177ba387e700",
    "entryPoint": "0x0000000071727De22E5E9d8BAf0edAc6f37da032",
    "sender": "0x...",
    "nonce": "0x0",
    "paymaster": "0x...",
    "actualGasCost": "0x0",
    "actualGasUsed": "0x0",
    "success": true,
    "reason": "",
    "logs": [
      {}
    ],
    "receipt": {
      "transactionHash": "0x...",
      "blockHash": "0x...",
      "blockNumber": "0x...",
      "gasUsed": "0x...",
      "status": "0x1"
    }
  }
}

Headers

X-API-Key
string
required

Gelato API key for higher rate limits. This must be provided if sponsoring off-chain via Gas Tank.

Path Parameters

chainId
number
required

Target network chain identifier.

Query Parameters

payment
enum<string>

Payment method for gas fees. Use 'sponsored' for Gas Tank sponsorship.

Available options:
sponsored,
native,
erc20
retries
number
default:5

Number of times to retry failing transactions.

Body

application/json
id
number
default:1
jsonrpc
string
default:2.0
method
string
default:eth_sendUserOperationSync
params
(`UserOperationEntryPoint0.7` · object | `UserOperationEntryPoint0.6` · object | string | number)[]
  1. Object - The UserOperation object
  2. String - The EntryPoint address the request should be sent through. This MUST be one of the entry points returned by the eth_supportedEntryPoints rpc call.
  3. Number - Timeout in milliseconds to wait for transaction inclusion (optional)
Required array length: 2 - 3 elements

Response

Successful response

id
number
default:1
jsonrpc
string
default:2.0
result
object

Transaction receipt returned when UserOperation is included on-chain