Gelato
  • Introduction
    • Gelato, The Web3 Cloud Platform
  • Smart Wallets
    • Introduction
      • Understanding EIP-7702
      • Understanding ERC-4337
      • ERC-4337 vs EIP-7702
    • Templates & Examples
    • How-To Guides
      • Create a Sponsor API Key
      • Sponsor gas for your users
      • Allow users to pay gas with erc20
      • Allow users to pay gas with native
      • Create Dynamic's Environment Id
      • Use Dynamic/Privy signers with React SDK
      • Estimate Gas for your transactions
    • React SDK
    • Demo
    • Supported Networks
  • Rollup As A Service
    • Introduction
    • Rollup Stacks
      • Arbitrum Orbit
        • Run a Full Orbit Node
      • OP Stack
        • Run OP Node
    • Deploy your Rollup
    • Customization
      • Data Availability
        • Celestia
        • Avail
        • Eigen DA
      • Custom Gas Token
      • Marketplace
        • Gelato Services
        • Data Indexers
        • Block Explorers
        • Oracles
        • Bridges
        • Account Abstraction
        • On & Off-ramp
        • Community
        • Identity & KYC
        • Others
      • Verifier Node Package
    • Public Testnet
  • RPC Nodes
    • Introduction
    • Compute Units
    • Using RPC Nodes
    • Supported Networks
    • Pricing and Plans
    • FAQ
  • Web3 Services
    • Web3 Functions
      • Understanding Web3 Functions
        • Trigger Types
        • Typescript Function
        • Solidity Function
        • Automated Transactions
      • Security Considerations
      • Template & Use Cases
      • Quick Start
        • Writing Typescript Functions
          • Event Trigger
          • Private Typescript Functions
          • Callbacks
        • Test, Deploy & Run Typescript functions
        • Writing Solidity Functions
        • Test, Deploy & Run Solidity Functions
        • Initiate an Automated Transaction
      • Create a Web3 Function Task
        • Using the UI
        • Using the Safe App
        • Using a Smart Contract
        • Using the Automate SDK
      • Analytics & Monitoring
      • Supported Networks
      • Subscription & Payments
      • Legacy Automate Migration Guide
    • Relay
      • What is Relaying?
      • Security Considerations
        • ERC-2771 Delegatecall Vulnerability
      • Templates
      • Quick Start
        • Sponsored Calls
        • Non-Sponsored Calls
      • ERC-2771 (recommended)
        • SponsoredCallERC2771
        • CallWithSyncFeeERC2771
          • Relay Context Contracts ERC2771
      • Non-ERC-2771
        • SponsoredCall
        • CallWithSyncFee
          • Relay Context Contracts
      • Relay API
      • Gelato's Fee Oracle
      • Tracking your Relay Request
      • Supported Networks
      • Subscriptions and Payments
        • 1Balance & Relay
        • SyncFee Payment Tokens
        • Relay Pricing
      • ERC2771 Migration Guide
    • VRF
      • Understanding VRF
      • How does Gelato VRF Work?
      • Security Considerations
      • Template
      • Quick Start
      • Create a VRF Task
        • Create a Fallback VRF
        • Migrating from Chainlink VRF
      • Supported Networks
      • Pricing & Rate Limits
    • Oracles
      • Understanding Gelato Oracles
      • Quick Start
      • Data Providers
        • Stork
        • Choas Labs
      • Migrating from Chainlink Oracles
      • Available Price Feeds
      • Supported Networks
      • Pricing & Rate Limits
    • Account Abstraction
      • Understanding ERC-4337
      • Introduction to Gelato Bundler
      • Templates & Examples
      • Quick Start
      • Supported Networks
      • Bundler API Endpoints
        • eth_sendUserOperation
        • eth_estimateUserOperationGas
        • eth_getUserOperationByHash
        • eth_getUserOperationReceipt
        • eth_supportedEntryPoints
        • eth_maxPriorityFeePerGas
        • eth_chainId
    • 1Balance
      • 1Balance Alerts
      • Subscription Plans
      • Subscription Notifications
      • USDC Addresses
    • AI Agents
    • Teams
  • GELATO DAO
    • DAO & Token (GEL)
    • GEL Token Contracts
    • Governance Process
  • Social Media
Powered by GitBook
On this page
  1. Web3 Services
  2. Account Abstraction
  3. Bundler API Endpoints

eth_sendUserOperation

PreviousBundler API EndpointsNexteth_estimateUserOperationGas

Last updated 5 days ago

Please refer to to create a sponsorApiKey.

In case of sponsoring gas with 1Balance the maxFeePerGas and paymasterAndData fields must be zero to avoid on-chain EntryPoint fee payments. This decreases overhead and leads to gas savings.

EntryPoint v0.7 Params

Field
Description

sender

The address of the account initiating the UserOperation. Can be a counterfactual address if the account is yet to be deployed.

nonce

A unique sequential number used to prevent replay attacks and ensure correct execution ordering.

factory

The address of the contract responsible for deploying the smart account, if the account is not yet deployed.

factoryData

Encoded constructor or init data to be passed to the factory contract for creating the smart account.

callData

Encoded data specifying one or more function calls the smart account will execute during the operation.

maxFeePerGas

Maximum total gas price (base fee + priority fee) the user is willing to pay per unit of gas (Note : Zero for 1Balance)

maxPriorityFeePerGas

Maximum tip (priority fee) per unit of gas to incentivize bundlers (Note : Zero for 1Balance)

preVerificationGas

Estimated gas consumed before UserOperation execution (e.g., calldata decoding, signature validation). Bundler is compensated for this gas (Note : Zero for 1Balance)

signature

Cryptographic signature (or authorization data) from the account, used to prove that the operation is valid and authorized.

callGasLimit

The maximum gas allocated for executing the account’s internal calls (i.e., the actual transaction logic).

verificationGasLimit

The maximum gas allocated for validating the operation (e.g., account creation, signature verification, etc.).

Example

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "eth_sendUserOperation",
  "params": [
    {
      "sender": "0x85580969d39AeFB6CcFfea11E277C0B210FF33d1",
      "nonce": "0x1973f7116e20000000000000000",
      "factory": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67",
      "factoryData": "0x....",
      "callData": "0x....",
      "maxFeePerGas": "0x0",
      "maxPriorityFeePerGas": "0x0",
      "preVerificationGas": "0x0",
      "signature": "0x....",
      "callGasLimit": "0x1d1d3",
      "verificationGasLimit": "0x57619"
  }, "0x0000000071727De22E5E9d8BAf0edAc6f37da032" // entryPoint v0.7 address
  ]
}

The API Playground below refers to EntryPoint v0.6 parameters, If you’re working with EntryPoint v0.7, please refer to the parameters listed above.

1Balance & Relay
  • EntryPoint v0.7 Params
  • POSTeth_sendUserOperation

eth_sendUserOperation

post

Sends a UserOperation to the specified network.

Path parameters
chainIdnumberRequired

Target network chain identifier.

Query parameters
sponsorApiKeystringRequired

1Balance API key which covers transaction costs.

retriesnumberOptional

Number of times to retry failing transactions.

Default: 5
Body
idnumberOptional
jsonrpcstringOptionalDefault: 2.0
methodstringOptionalDefault: eth_sendUserOperation
Responses
200
Successful response
application/json
400
Validation error
application/json
post
POST /bundlers/{chainId}/rpc HTTP/1.1
Host: api.gelato.digital
Content-Type: application/json
Accept: */*
Content-Length: 310

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "eth_sendUserOperation",
  "params": [
    {
      "sender": "text",
      "nonce": "text",
      "initCode": "text",
      "callData": "text",
      "signature": "text",
      "paymasterAndData": "0x",
      "callGasLimit": "text",
      "verificationGasLimit": "text",
      "preVerificationGas": "0x0",
      "maxFeePerGas": "0x0",
      "maxPriorityFeePerGas": "text"
    }
  ]
}
{
  "id": 1,
  "jsonrpc": "2.0",
  "result": "0x13574b2256b73bdc33fb121052f64b3803161e5ec602a6dc9e56177ba387e700"
}