Blockdaemon Aa API

The aa API from Blockdaemon — 4 operation(s) for aa.

Operations 4

GET /defi/v1/aa/getpaymasterdata Get Paymaster Data #
GET /defi/v1/aa/getsignaturemessage Get Signature Message #
GET /defi/v1/aa/getuserops Get User Ops #
POST /defi/v1/aa/senduserops Send User Ops #

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-dex-removeliquidity-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-dex-addliquidity-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-dex-swapaggregator-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-bridge-swap-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-dex-swapwithapproval-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-dex-swap-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-new-rule-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-rule-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-target-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-patch-target-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-new-target-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-variable-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-tx-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-tx-outputs-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-block-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-report-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-block-identifier-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-tx-output-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-api-key-create-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-api-key-create-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-api-key-list-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-health-information-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-authenticator-info-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-new-stake-intent-solana-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-new-stake-intent-near-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-withdrawal-intent-near-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-new-stake-intent-avalanche-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-deactivation-intents-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-ethereum-top-up-intent-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-solana-split-transaction-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-solana-deactivate-transaction-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-solana-withdraw-transaction-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-solana-stake-transaction-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-solana-stake-transaction-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-solana-withdraw-transaction-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-yield-response-solana-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-yield-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-yield-response-cosmos-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-validator-rewards-format1-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-rewards-format1-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-reward-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-api-tx-decode-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-api-tx-signed-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-api-tx-compile-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-api-tx-create-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-api-tx-create-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-api-tx-decode-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-webhook-send-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-webhook-verification-response-schema.json

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/blockdaemon:blockdaemon-aa-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

blockdaemon-aa-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    name: Blockdaemon
    email: info@blockdaemon.com
  description: The Blockdaemon DeFi API provides a single interface to a multitude of DeFi projects and blockchains
  title: Blockdaemon DeFi Aa API
  version: 1.0.0
  x-logo:
    altText: Blockdaemon logo
    backgroundColor: '#fafafa'
    url: https://storage.googleapis.com/blockdaemon-app-static-images/marketing/PNG/dark-logo.png
servers:
- url: https://svc.blockdaemon.com
security:
- ApiKeyAuth: []
tags:
- name: aa
paths:
  /defi/v1/aa/getpaymasterdata:
    get:
      tags:
      - aa
      summary: Get Paymaster Data
      description: 'This endpoint retrieves the paymaster data necessary for account abstraction. It returns a payload containing the paymasterData, a verification hash, and validity timestamps (mockValidUntil and mockValidAfter) that should be incorporated into user operations.


        > 💡

        **Compute Unit Value:** `15` (Fixed)'
      operationId: aaGetpaymasterdata
      parameters:
      - name: chainId
        in: query
        required: false
        schema:
          type: string
          description: The unique ID to direct queries or transactions to the correct blockchain. Find more [here](https://docs.blockdaemon.com/docs/defi-api-supported-protocols#supported-chains).
          enum:
          - '1'
          - '56'
          - '43114'
          - '137'
          - '250'
          - '10'
          - '11155420'
          - '42161'
          - '421614'
          - '25'
          - '338'
          - '84532'
          - '8453'
          - '43113'
          - '97'
          - '80002'
          - '300'
          - '324'
          example: '1'
        description: The unique ID to direct queries or transactions to the correct blockchain. Find more [here](https://docs.blockdaemon.com/docs/defi-api-supported-protocols#supported-chains).
      - name: chainSymbol
        in: query
        required: false
        schema:
          type: string
          description: The abbreviated chain name for queries or transactions.
          example: ETH
        description: The abbreviated chain name for queries or transactions.
      - name: sender
        in: query
        required: true
        schema:
          type: string
          description: On-chain wallet address.
          example: '0x03D3a52d79eeB5014dFe28258e8c0978Ecd8e65c'
        description: On-chain wallet address.
      - name: nonce
        in: query
        required: false
        schema:
          type: string
          description: Anti-replay parameter.
          example: '0'
        description: Anti-replay parameter.
      - name: initCode
        in: query
        required: false
        schema:
          type: string
          description: The initCode of the account. (needed if and only if the account is not yet on-chain and needs to be created)
          example: 0x
        description: The initCode of the account. (needed if and only if the account is not yet on-chain and needs to be created)
      - name: preVerificationGas
        in: query
        required: false
        schema:
          type: string
          description: Gas units to compensate the bundler for pre-verification overhead and calldata encoding, as an integer string (ERC-4337).
          example: '53576'
        description: Gas units to compensate the bundler for pre-verification overhead and calldata encoding, as an integer string (ERC-4337).
      - name: verificationGasLimit
        in: query
        required: false
        schema:
          type: string
          description: Maximum gas units for verifying the user operation (signature validation and paymaster logic), as an integer string (ERC-4337).
          example: '362451'
        description: Maximum gas units for verifying the user operation (signature validation and paymaster logic), as an integer string (ERC-4337).
      - name: gasLimit
        in: query
        required: false
        schema:
          type: string
          description: Maximum gas units for the overall user operation execution, as an integer string (ERC-4337).
          example: '10000'
        description: Maximum gas units for the overall user operation execution, as an integer string (ERC-4337).
      - name: callGasLimit
        in: query
        required: false
        schema:
          type: string
          description: Maximum gas units for the main execution call of the user operation, as an integer string (ERC-4337).
          example: '260611'
        description: Maximum gas units for the main execution call of the user operation, as an integer string (ERC-4337).
      - name: callData
        in: query
        required: false
        schema:
          type: string
          description: Encoded data for executing the primary function call or operation within the user's transaction.
          example: '0x38ed173900000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000063056e00436da25bcf48a40dfbbdcc708935100600000000000000000000000000000000000000000000000000000000634d00ee0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000b4fbf271143f4fbf7b91a5ded31805e42b2208d600000000000000000000000011fe4b6ae13d2a6055c8d9cf65c55bac32b5d844'
        description: Encoded data for executing the primary function call or operation within the user's transaction.
      - name: maxPriorityFeePerGas
        in: query
        required: false
        schema:
          type: string
          description: 'Maximum priority fee (tip) per gas unit in wei to incentivize validators or bundlers, as an integer string (EIP-1559). Example: ''1000000000'' = 1 gwei.'
          example: '100000000'
        description: 'Maximum priority fee (tip) per gas unit in wei to incentivize validators or bundlers, as an integer string (EIP-1559). Example: ''1000000000'' = 1 gwei.'
      - name: maxFeePerGas
        in: query
        required: false
        schema:
          type: string
          description: 'Maximum total fee per gas unit in wei (base fee + priority fee), as an integer string (EIP-1559). Example: ''20000000000'' = 20 gwei.'
          example: '29964445250'
        description: 'Maximum total fee per gas unit in wei (base fee + priority fee), as an integer string (EIP-1559). Example: ''20000000000'' = 20 gwei.'
      - name: paymasterAndData
        in: query
        required: false
        schema:
          type: string
          description: Address of paymaster sponsoring the transaction, followed by extra data to send to the paymaster. (empty for self-sponsored transaction)
          example: 0x
        description: Address of paymaster sponsoring the transaction, followed by extra data to send to the paymaster. (empty for self-sponsored transaction)
      - name: paymasterContractAddress
        in: query
        required: true
        schema:
          type: string
          description: Address of the contract from where, gas is to be paid.
          example: '0xba60b04029be2bfd16d76e70290acfad3a8b582c'
        description: Address of the contract from where, gas is to be paid.
      - name: mockValidAfter
        in: query
        required: true
        schema:
          type: string
          description: The UserOp is valid only after this time, to be sent in epoch time format.
          example: '0x0'
        description: The UserOp is valid only after this time, to be sent in epoch time format.
      - name: mockValidUntil
        in: query
        required: true
        schema:
          type: string
          description: The UserOp is valid only up to this time, to be sent in epoch time format.
          example: '0x00000000deadbeef'
        description: The UserOp is valid only up to this time, to be sent in epoch time format.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                  msg:
                    type: string
                  data:
                    type: object
                example:
                  status: 200
                  msg: success
                  data:
                    paymasterData: '0xba60b04029be2bfd16d76e70290acfad3a8b582c00000000000000000000000000000000000000000000000000000000deadbeef00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
                    hash: '0x2907ffb2f2320e35a041bd74235caed02f706e3ed4b2308f0a064a1f9e0aac67'
                    mockValidUntil: '0x00000000deadbeef'
                    mockValidAfter: '0x0'
      x-bd-cu: '15'
      x-bd-cu-type: fixed
      x-internal: false
  /defi/v1/aa/getsignaturemessage:
    get:
      tags:
      - aa
      summary: Get Signature Message
      description: 'This endpoint retrieves a hexadecimal signature message that must be signed by the sender as part of the account abstraction process. The signed message serves as a critical authorization component for subsequent user operations on the blockchain.


        > 💡

        **Compute Unit Value:** `15` (Fixed)'
      operationId: aaGetsignaturemessage
      parameters:
      - name: chainId
        in: query
        required: false
        schema:
          type: string
          description: The unique ID to direct queries or transactions to the correct blockchain. Find more [here](https://docs.blockdaemon.com/docs/defi-api-supported-protocols#supported-chains).
          enum:
          - '1'
          - '56'
          - '43114'
          - '137'
          - '250'
          - '10'
          - '11155420'
          - '42161'
          - '421614'
          - '25'
          - '338'
          - '84532'
          - '8453'
          - '43113'
          - '97'
          - '80002'
          - '300'
          - '324'
          example: '1'
        description: The unique ID to direct queries or transactions to the correct blockchain. Find more [here](https://docs.blockdaemon.com/docs/defi-api-supported-protocols#supported-chains).
      - name: chainSymbol
        in: query
        required: false
        schema:
          type: string
          description: The abbreviated chain name for queries or transactions.
          example: ETH
        description: The abbreviated chain name for queries or transactions.
      - name: sender
        in: query
        required: true
        schema:
          type: string
          description: On-chain wallet address.
          example: '0x03D3a52d79eeB5014dFe28258e8c0978Ecd8e65c'
        description: On-chain wallet address.
      - name: nonce
        in: query
        required: false
        schema:
          type: string
          description: Anti-replay parameter.
          example: '0'
        description: Anti-replay parameter.
      - name: initCode
        in: query
        required: false
        schema:
          type: string
          description: The initCode of the account. (needed if and only if the account is not yet on-chain and needs to be created)
          example: 0x
        description: The initCode of the account. (needed if and only if the account is not yet on-chain and needs to be created)
      - name: preVerificationGas
        in: query
        required: false
        schema:
          type: string
          description: Gas units to compensate the bundler for pre-verification overhead and calldata encoding, as an integer string (ERC-4337).
          example: '53576'
        description: Gas units to compensate the bundler for pre-verification overhead and calldata encoding, as an integer string (ERC-4337).
      - name: verificationGasLimit
        in: query
        required: false
        schema:
          type: string
          description: Maximum gas units for verifying the user operation (signature validation and paymaster logic), as an integer string (ERC-4337).
          example: '362451'
        description: Maximum gas units for verifying the user operation (signature validation and paymaster logic), as an integer string (ERC-4337).
      - name: gasLimit
        in: query
        required: false
        schema:
          type: string
          description: Maximum gas units for the overall user operation execution, as an integer string (ERC-4337).
          example: '10000'
        description: Maximum gas units for the overall user operation execution, as an integer string (ERC-4337).
      - name: callGasLimit
        in: query
        required: false
        schema:
          type: string
          description: Maximum gas units for the main execution call of the user operation, as an integer string (ERC-4337).
          example: '260611'
        description: Maximum gas units for the main execution call of the user operation, as an integer string (ERC-4337).
      - name: callData
        in: query
        required: false
        schema:
          type: string
          description: Encoded data for executing the primary function call or operation within the user's transaction.
          example: '0x38ed173900000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000063056e00436da25bcf48a40dfbbdcc708935100600000000000000000000000000000000000000000000000000000000634d00ee0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000b4fbf271143f4fbf7b91a5ded31805e42b2208d600000000000000000000000011fe4b6ae13d2a6055c8d9cf65c55bac32b5d844'
        description: Encoded data for executing the primary function call or operation within the user's transaction.
      - name: maxPriorityFeePerGas
        in: query
        required: false
        schema:
          type: string
          description: 'Maximum priority fee (tip) per gas unit in wei to incentivize validators or bundlers, as an integer string (EIP-1559). Example: ''1000000000'' = 1 gwei.'
          example: '100000000'
        description: 'Maximum priority fee (tip) per gas unit in wei to incentivize validators or bundlers, as an integer string (EIP-1559). Example: ''1000000000'' = 1 gwei.'
      - name: maxFeePerGas
        in: query
        required: false
        schema:
          type: string
          description: 'Maximum total fee per gas unit in wei (base fee + priority fee), as an integer string (EIP-1559). Example: ''20000000000'' = 20 gwei.'
          example: '29964445250'
        description: 'Maximum total fee per gas unit in wei (base fee + priority fee), as an integer string (EIP-1559). Example: ''20000000000'' = 20 gwei.'
      - name: paymasterAndData
        in: query
        required: false
        schema:
          type: string
          description: Address of paymaster sponsoring the transaction, followed by extra data to send to the paymaster. (empty for self-sponsored transaction)
          example: 0x
        description: Address of paymaster sponsoring the transaction, followed by extra data to send to the paymaster. (empty for self-sponsored transaction)
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                  msg:
                    type: string
                  data:
                    type: object
                example:
                  status: 200
                  msg: success
                  data:
                    messageToBeSigned: '0x4617338a3acd06271c356d52f8cfc260519e8e2115f0af41eb79b7ac13b1963c'
      x-bd-cu: '15'
      x-bd-cu-type: fixed
      x-internal: false
  /defi/v1/aa/getuserops:
    get:
      tags:
      - aa
      summary: Get User Ops
      description: 'Retrieves a user operation object that can be signed and submitted to the bundler. Used in account abstraction flows to gather the required transaction data.


        > 💡

        **Compute Unit Value:** `5` (Fixed)'
      operationId: aaGetuserops
      parameters:
      - name: chainId
        in: query
        required: false
        schema:
          type: string
          description: The unique ID to direct queries or transactions to the correct blockchain. Find more [here](https://docs.blockdaemon.com/docs/defi-api-supported-protocols#supported-chains).
          enum:
          - '1'
          - '56'
          - '43114'
          - '137'
          - '250'
          - '10'
          - '11155420'
          - '42161'
          - '421614'
          - '25'
          - '338'
          - '84532'
          - '8453'
          - '43113'
          - '97'
          - '80002'
          - '300'
          - '324'
          example: '1'
        description: The unique ID to direct queries or transactions to the correct blockchain. Find more [here](https://docs.blockdaemon.com/docs/defi-api-supported-protocols#supported-chains).
      - name: chainSymbol
        in: query
        required: false
        schema:
          type: string
          description: The abbreviated chain name for queries or transactions.
          example: ETH
        description: The abbreviated chain name for queries or transactions.
      - name: sender
        in: query
        required: true
        schema:
          type: string
          description: Specifies the account or contract initiating the operation. If not on-chain yet, the account may need to be created.
          example: '0x03D3a52d79eeB5014dFe28258e8c0978Ecd8e65c'
        description: Specifies the account or contract initiating the operation. If not on-chain yet, the account may need to be created.
      - name: nonce
        in: query
        required: false
        schema:
          type: string
          description: Anti-replay parameter.
          example: '0'
        description: Anti-replay parameter.
      - name: initCode
        in: query
        required: false
        schema:
          type: string
          description: The initCode of the account. (needed if and only if the account is not yet on-chain and needs to be created)
          example: 0x
        description: The initCode of the account. (needed if and only if the account is not yet on-chain and needs to be created)
      - name: preVerificationGas
        in: query
        required: false
        schema:
          type: string
          description: Gas units to compensate the bundler for pre-verification overhead and calldata encoding, as an integer string (ERC-4337).
          example: '53576'
        description: Gas units to compensate the bundler for pre-verification overhead and calldata encoding, as an integer string (ERC-4337).
      - name: verificationGasLimit
        in: query
        required: false
        schema:
          type: string
          description: Maximum gas units for verifying the user operation (signature validation and paymaster logic), as an integer string (ERC-4337).
          example: '362451'
        description: Maximum gas units for verifying the user operation (signature validation and paymaster logic), as an integer string (ERC-4337).
      - name: gasLimit
        in: query
        required: false
        schema:
          type: string
          description: Maximum gas units for the overall user operation execution, as an integer string (ERC-4337).
          example: '10000'
        description: Maximum gas units for the overall user operation execution, as an integer string (ERC-4337).
      - name: callGasLimit
        in: query
        required: false
        schema:
          type: string
          description: Maximum gas units for the main execution call of the user operation, as an integer string (ERC-4337).
          example: '260611'
        description: Maximum gas units for the main execution call of the user operation, as an integer string (ERC-4337).
      - name: callData
        in: query
        required: false
        schema:
          type: string
          description: The encoded data for the transaction function call or operation to be executed in this user operation.
          example: '0x38ed173900000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000063056e00436da25bcf48a40dfbbdcc708935100600000000000000000000000000000000000000000000000000000000634d00ee0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000b4fbf271143f4fbf7b91a5ded31805e42b2208d600000000000000000000000011fe4b6ae13d2a6055c8d9cf65c55bac32b5d844'
        description: The encoded data for the transaction function call or operation to be executed in this user operation.
      - name: maxPriorityFeePerGas
        in: query
        required: false
        schema:
          type: string
          description: 'Maximum priority fee (tip) per gas unit in wei to incentivize validators or bundlers, as an integer string (EIP-1559). Example: ''1000000000'' = 1 gwei.'
          example: '100000000'
        description: 'Maximum priority fee (tip) per gas unit in wei to incentivize validators or bundlers, as an integer string (EIP-1559). Example: ''1000000000'' = 1 gwei.'
      - name: maxFeePerGas
        in: query
        required: false
        schema:
          type: string
          description: 'Maximum total fee per gas unit in wei (base fee + priority fee), as an integer string (EIP-1559). Example: ''20000000000'' = 20 gwei.'
          example: '29964445250'
        description: 'Maximum total fee per gas unit in wei (base fee + priority fee), as an integer string (EIP-1559). Example: ''20000000000'' = 20 gwei.'
      - name: paymasterAndData
        in: query
        required: false
        schema:
          type: string
          description: Address of the paymaster sponsoring the transaction, plus any additional data sent to the paymaster. Leave empty for self-sponsored transactions.
          example: 0x
        description: Address of the paymaster sponsoring the transaction, plus any additional data sent to the paymaster. Leave empty for self-sponsored transactions.
      - name: userOps
        in: query
        required: true
        schema:
          type: string
          description: Array of user operation objects as per ERC-4337. Defines one or more operations to bundle.
          example:
          - sender: '0x03D3a52d79eeB5014dFe28258e8c0978Ecd8e65c'
            nonce: '0'
            initCode: 0x
            callData: '0x38ed173900000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000063056e00436da25bcf48a40dfbbdcc708935100600000000000000000000000000000000000000000000000000000000634d00ee0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000b4fbf271143f4fbf7b91a5ded31805e42b2208d600000000000000000000000011fe4b6ae13d2a6055c8d9cf65c55bac32b5d844'
            callGasLimit: '260611'
            gasLimit: '362451'
            verificationGasLimit: '362451'
            preVerificationGas: '53576'
            maxFeePerGas: '29964445250'
            maxPriorityFeePerGas: '100000000'
            paymasterAndData: 0x
            signature: '0x06ba793e154877ba4beff535372f70be6d2ebb5503f374297658caa13a114b5b29b5a45cd4835176e637018823bba5990b6f043f93fe792a5bdb2a09958ecca61c'
        description: Array of user operation objects as per ERC-4337. Defines one or more operations to bundle.
      - name: bundler
        in: query
        required: true
        schema:
          type: string
          description: The address of the bundler or beneficiary responsible for executing the user operations.
          example: '0x6Fb447Ae94F5180254D436A693907a1f57696900'
        description: The address of the bundler or beneficiary responsible for executing the user operations.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                  msg:
                    type: string
                  data:
                    type: object
                example:
                  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
      x-bd-cu: '5'
      x-bd-cu-type: fixed
      x-internal: false
  /defi/v1/aa/senduserops:
    post:
      tags:
      - aa
      summary: Send User Ops
      description: 'This endpoint generates and returns the necessary paymaster parameters for account abstraction. It constructs a user operation payload including sender, recipient, gas, and call data details which can be submitted to execute transactions on the blockchain.


        > 💡

        **Compute Unit Value:** `15` (Fixed)'
      operationId: aaSenduserops
      requestBody:
        required: true
        description: The request body for a /defi/v1/aa/senduserops
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/_aa_senduserops_Request'
            example:
              chainId: '1'
              chainSymbol: ETH
              bundler: '0x6Fb447Ae94F5180254D436A693907a1f57696900'
              gas: '100000'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                  msg:
                    type: string
                  data:
                    type: object
                example:
                  status: 200
                  msg: success
                  data:
                    from: '0x6Fb447Ae94F5180254D436A693907a1f57696900'
                    to: '0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789'
                    gas: '516124'
                    data: '0x1fad948c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000006fb447ae94f5180254d436a693907a1f576969000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000003d3a52d79eeb5014dfe28258e8c0978ecd8e65c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000003fa0300000000000000000000000000000000000000000000000000000000000587d3000000000000000000000000000000000000000000000000000000000000d14800000000000000000000000000000000000000000000000000000006fa0526420000000000000000000000000000000000000000000000000000000005f5e10000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000002e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010438ed173900000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000063056e00436da25bcf48a40dfbbdcc708935100600000000000000000000000000000000000000000000000000000000634d00ee0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000b4fbf271143f4fbf7b91a5ded31805e42b2208d600000000000000000000000011fe4b6ae13d2a6055c8d9cf65c55bac32b5d844000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004106ba793e154877ba4beff535372f70be6d2ebb5503f374297658caa13a114b5b29b5a45cd4835176e637018823bba5990b6f043f93fe792a5bdb2a09958ecca61c00000000000000000000000000000000000000000000000000000000000000'
                    value: '0'
      x-bd-cu: '15'
      x-bd-cu-type: fixed
      x-internal: false
components:
  schemas:
    _aa_senduserops_Request:
      type: object
      properties:
        chainId:
          type: string
          description: The unique ID to direct queries or transactions to the correct blockchain. Find more [here](https://docs.blockdaemon.com/docs/defi-api-supported-protocols#supported-chains).
          enum:
          - '1'
          - '56'
          - '43114'
          - '137'
          - '250'
          - '10'
          - '11155420'
          - '42161'
          - '421614'
          - '25'
          - '338'
          - '84532'
          - '8453'
          - '43113'
          - '97'
          - '80002'
          - '300'
          - '324'
          example: '1'
        chainSymbol:
          type: string
          description: The abbreviated chain name for queries or transactions.
          example: ETH
        userOps:
          type: array
          items:
            type: string
          description: Array of user operation objects as per ERC-4337. Defines one or more operations to bundle.
        bundler:
          type: string
          description: The address of the bundler or beneficiary responsible for executing the user operations.
          example: '0x6Fb447Ae94F5180254D436A693907a1f57696900'
        gas:
          type: string
          description: 'Maximum number of gas units to allocate for the transaction, as an integer string (e.g., ''200000''). If omitted, gas is estimated automatically. Note: this is gas units, not wei or gwei.'
          example: '100000'
      required:
      - userOps
      - bundler
      description: The request body for a /defi/v1/aa/senduserops
      example:
        chainId: '1'
        chainSymbol: ETH
        bundler: '0x6Fb447Ae94F5180254D436A693907a1f57696900'
        gas: '100000'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: '`X-API-Key: <Token>` header must be set to authenticate API requests.You can create tokens in the "Configure" tab of your API access area at https://app.blockdaemon.com.'
externalDocs:
  description: Blockdaemon DeFi documentation
  url: http://www.blockdaemon.com/api/defi
x-provenance:
  method: searched
  source: https://docs.blockdaemon.com/reference
  harvested: '2026-10-14'
  tool: harvest-readme-openapi.py
  note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
  assembled_from:
  - https://docs.blockdaemon.com/reference/aagetpaymasterdata.md
  - https://docs.blockdaemon.com/reference/aagetsignaturemessage.md
  - https://docs.blockdaemon.com/reference/aagetuserops.md
  - https://docs.blockdaemon.com/reference/aasenduserops.md
  - https://docs.blockdaemon.com/reference/accountv1allowance.md
  - https://docs.blockdaemon.com/reference/accountv1portfolio.md
  - https://docs.blockdaemon.com/reference/bridgeaddliquidity.md


# --- truncated at 32 KB (42 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/openapi/blockdaemon-aa-api-openapi.yml