LogoLogo
  • Overview
  • Getting Started
  • 🔑How do I get my API Key?
  • 📑List of All Endpoints
  • ⚙️SDK
    • Overview
    • Getting Started
  • ⛓️INTEGRATIONS
    • ⚡Blockchains
      • EVM based blockchains
        • Ethereum
        • Binance Smart Chain
        • Avalanche - C
        • Avalanche - P
        • Avalanche - X
        • Polygon
        • Cronos
        • Arbitrum
        • Fantom
        • Optimism
        • Base
        • zkSync Era
        • Mantle
      • Non-EVM based chains
        • Tron
        • Solana
        • Near
        • Algorand
        • Aptos
        • Sui
        • Starknet
        • TON
        • Cosmos Hub
        • Osmosis
        • Stacks
        • Bitcoin
        • Stellar
          • Stellar RWA
        • XRP Ledger
          • XRP Ledger RWA
    • ⚡Bridges
      • Stargate
      • Stargate V2
      • Squid Router
      • Squid Router V2
      • Allbridge Classic
      • Allbridge Core
    • ⚡DEX & DEX Aggregators
      • Uniswap V2
      • Uniswap V3
      • Uniswap X
      • Sushiswap V2
      • PancakeSwap V2
      • PancakeSwap V3
      • Aerodrome
      • Camelot V3
      • Curve V2
      • Balancer V2
      • STON.fi
      • Trader Joe
      • Orca
      • Raydium
      • SDEX
      • Cetus
      • REF Finance
      • Liquidswap
      • Sologenic
      • Alex
      • 0x (Aggregator)
      • 1inch (Aggregator)
      • Kyberswap (Aggregator)
        • Kyberswap ( Limit Order Endpoints )
      • Jupiter (Aggregator)
    • ⚡Derivatives
      • dYdX V4
    • ⚡Fungible Tokens
      • ERC20
      • WETH
    • ⚡Lending Protocols
      • Aave V2
      • Aave V3
      • Compound V2
      • Compound V3
      • Morpho
    • ⚡Yield Aggregators
      • Yearn Finance V2
      • Harvest Finance
      • Pendle
    • ⚡Liquid Staking
      • Chorus One
      • Lido V2
      • Stader
      • Benqi
      • Jito
      • EigenLayer
    • ⚡Non Fungible Tokens
      • ERC721
      • ERC1155
      • Metaplex
    • ⚡Oracles
      • ChainLink
      • WinkLink
      • Pyth Network
      • RedStone
    • ⚡Stablecoins
      • EVM
    • ⚡Synthetics
      • Synthetix
    • ⚡Supported Wallets
      • MPC Wallets
        • DFNS
        • FORDEFI
        • FIREBLOCKS
        • CIRCLE
      • HD Wallets
        • PHANTOM
        • COINBASE
        • TON Wallet
      • Wallet Connect v2
  • How To
    • Execute a Local Swap
    • Execute a Cross Chain Swap
    • Use Limit Orders
    • Lend and Borrow
    • Provision Liquidity
      • Adding Liquidity
      • Removing liquidity
    • Yield Farm
    • Use Our Transaction Decoder
    • Submit an RFQ
    • Subscribe to Events
    • Stream Data (WebSocket)
      • Stream Transaction
      • Stream Trade
      • Stream Gas
      • Stream Ticker Price
    • Source Pricing
    • Track Memecoins
    • Manage Token Approvals
  • Use Cases
    • Trade Reconciliation
    • Portfolio Management
    • Trading Features
    • On-Chain Data: DEX Liquidity Pool Forensics
    • Transaction and Pool Analysis
  • Account Abstraction
    • Overview
      • User Endpoints
      • Paymaster Endpoint
      • Bundler Endpoint
    • ⚙️SDK - Overview
  • Additional Info
    • Error Messages
    • Client-Side Security Essentials
    • Compute Unit Costs
    • API Metadata
    • Audit Certificate
    • Brand Assets
    • FAQs
    • Quicknode Marketplace
      • DEX
      • Lending Protocols
  • ID's
    • Chain IDs
    • Bridge IDs
      • Internal Chain IDs for Bridges
    • DEX IDs
    • Lending Protocol IDs
    • Yield Aggregator ID
    • Liquid Staking IDs
    • Oracle IDs
    • Stablecoin IDs
    • Derivatives IDs
    • Synthetics IDs
  • Mapping
    • Blockchains
    • DEXs
      • Uniswap V2
      • Uniswap V3
      • Sushiswap
      • PancakeSwap
      • Curve
      • Balancer
    • Lending Protocols
      • Aave
      • Compound
  • Protocol Spender
    • Spender list
Powered by GitBook
On this page
  • Utilize the following APIs to get the signature message & the user operation.
  • /getsignaturemessage
  • Get the signature message, which needs to be signed.
  • /getuserops
  • Get the user operation, which can be signed and sent to the bundler.
  1. Account Abstraction
  2. Overview

User Endpoints

PreviousOverviewNextPaymaster Endpoint

Last updated 2 months ago

As per , User Operations is a structure that describes a transaction to be sent on behalf of a user. To avoid confusion, it is not named “transaction”.

  • Like a transaction, it contains “sender”, “to”, “calldata”, “maxFeePerGas”, “maxPriorityFee”, “signature”, “nonce”

  • unlike a transaction, it contains several other fields, described below

  • also, the “signature” field usage is not defined by the protocol, but by each account implementation

Utilize the following APIs to get the signature message & the user operation.

/getsignaturemessage

Get the signature message, which needs to be signed.

GET https://api.expand.network/aa/getsignaturemessage

Query Parameters

Name
Type
Description

chainId

String

chainSymbol

String

sender*

String

On-chain wallet address.

rpc

String

Remote procedural call URL.

nonce

String

Anti-replay parameter.

initCode

String

The initCode of the account. (needed if and only if the account is not yet on-chain and needs to be created)

preVerificationGas

String

The amount of gas to pay for to compensate the bundler for pre-verification execution and calldata.

verificationGasLimit

String

The amount of gas to allocate for the verification step.

gasLimit

String

Maximum gas limit provided by the sender, for the transaction.

callGasLimit

String

The amount of gas to allocate the main execution call.

callData

String

Encoded data for executing the primary function call or operation within the user's transaction.

maxPriorityFeePerGas

String

Maximum priority fee per gas. (similar to EIP-1559 max_priority_fee_per_gas)

maxFeePerGas

String

signature

String

Data passed into the account along with the nonce during the verification step.

paymasterAndData

String

Address of paymaster sponsoring the transaction, followed by extra data to send to the paymaster. (empty for self-sponsored transaction)

https://api.expand.network/aa/getsignaturemessage?sender=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48&chainId=1&callData=0x38ed173900000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000063056e00436da25bcf48a40dfbbdcc708935100600000000000000000000000000000000000000000000000000000000634d00ee0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000b4fbf271143f4fbf7b91a5ded31805e42b2208d600000000000000000000000011fe4b6ae13d2a6055c8d9cf65c55bac32b5d844
{
    "status": 200,
    "msg": "success",
    "data": {
        "messageToBeSigned": "0x4617338a3acd06271c356d52f8cfc260519e8e2115f0af41eb79b7ac13b1963c"
    }
}

/getuserops

Get the user operation, which can be signed and sent to the bundler.

GET https://api.expand.network/aa/getuserops

Query Parameters

Name
Type
Description

chainId

String

chainSymbol

String

sender*

String

On-chain wallet address.

rpc

String

Remote procedural call URL.

nonce

String

Anti-replay parameter.

initCode

String

The initCode of the account. (needed if and only if the account is not yet on-chain and needs to be created)

preVerificationGas

String

The amount of gas to pay for to compensate the bundler for pre-verification execution and calldata.

verificationGasLimit

String

The amount of gas to allocate for the verification step.

gasLimit

String

Maximum gas limit provided by the sender, for the transaction.

callGasLimit

String

The amount of gas to allocate the main execution call.

callData

String

Encoded data for executing the primary function call or operation within the user's transaction.

maxPriorityFeePerGas

String

Maximum priority fee per gas. (similar to EIP-1559 max_priority_fee_per_gas)

maxFeePerGas

String

signature

String

Data passed into the account along with the nonce during the verification step.

paymasterAndData

String

Address of paymaster sponsoring the transaction, followed by extra data to send to the paymaster. (empty for self-sponsored transaction)

https://api.expand.network/aa/getuserops?sender=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48&chainId=1&callData=0x38ed173900000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000063056e00436da25bcf48a40dfbbdcc708935100600000000000000000000000000000000000000000000000000000000634d00ee0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000b4fbf271143f4fbf7b91a5ded31805e42b2208d600000000000000000000000011fe4b6ae13d2a6055c8d9cf65c55bac32b5d844
{
    "status": 200,
    "msg": "success",
    "data": {
        "sender": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
        "nonce": "0",
        "initCode": "0x",
        "callData": "0x38ed173900000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000063056e00436da25bcf48a40dfbbdcc708935100600000000000000000000000000000000000000000000000000000000634d00ee0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000b4fbf271143f4fbf7b91a5ded31805e42b2208d600000000000000000000000011fe4b6ae13d2a6055c8d9cf65c55bac32b5d844",
        "callGasLimit": "260611",
        "gasLimit": "362451",
        "verificationGasLimit": "362451",
        "preVerificationGas": "53576",
        "maxFeePerGas": "29964445250",
        "maxPriorityFeePerGas": "100000000",
        "paymasterAndData": "0x",
        "signature": "0x"
    }
}

Refer to the page for details.

Refer to the page for details.

The maximum fee per gas to pay for the execution of this operation. (similar to max_fee_per_gas)

Refer to the page for details.

Refer to the page for details.

The maximum fee per gas to pay for the execution of this operation. (similar to max_fee_per_gas)

ERC-4337
Chain ID
Chain ID
EIP-1559
Chain ID
Chain ID
EIP-1559