From ff8041bbfa37cb7ab1839b00edd321a8024ca405 Mon Sep 17 00:00:00 2001 From: jakehobbs Date: Thu, 4 Jun 2026 16:53:19 -0700 Subject: [PATCH 1/2] Use the remote Wallet API OpenRPC source Configure wallet-api as a remote OpenRPC spec so generation can switch over when the hosted spec is live. Co-Authored-By: Codex --- content/remote-specs.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/content/remote-specs.json b/content/remote-specs.json index 27820c607..f00c38e2b 100644 --- a/content/remote-specs.json +++ b/content/remote-specs.json @@ -2,5 +2,10 @@ { "name": "admin-api", "url": "https://admin-api.alchemy.com/openapi.yaml" + }, + { + "name": "wallet-api", + "url": "https://txe-api-specs.docs.alchemy.com/wallet/openrpc.yaml", + "type": "openrpc" } ] From 82f7ac1c1aa705c4ccbaf7ce43cedaa88f96b8db Mon Sep 17 00:00:00 2001 From: jakehobbs Date: Thu, 4 Jun 2026 16:55:21 -0700 Subject: [PATCH 2/2] Remove the local Wallet API OpenRPC source The Wallet API spec is now remote-owned, so keep the repository from carrying a stale local source copy. Co-Authored-By: Codex --- .../alchemy/wallet-api/wallet-api.yaml | 10029 ---------------- 1 file changed, 10029 deletions(-) delete mode 100644 src/openrpc/alchemy/wallet-api/wallet-api.yaml diff --git a/src/openrpc/alchemy/wallet-api/wallet-api.yaml b/src/openrpc/alchemy/wallet-api/wallet-api.yaml deleted file mode 100644 index b029da42e..000000000 --- a/src/openrpc/alchemy/wallet-api/wallet-api.yaml +++ /dev/null @@ -1,10029 +0,0 @@ -# yaml-language-server: $schema=https://meta.open-rpc.org/ - -$schema: https://meta.open-rpc.org/ -openrpc: 1.2.4 -info: - title: Alchemy Wallet APIs JSON-RPC spec - description: A specification of the standard JSON-RPC methods for the Alchemy Wallet APIs. - version: 0.0.0 -servers: - - url: https://api.g.alchemy.com/v2 -methods: - - name: wallet_requestAccount - description: This method is used to get the smart account address and relevant info for a given signer. If an account does not already exist for a given signer, this method will create one before returning the counterfactual address. - x-compute-units: 50 - params: - - name: params[0] - required: true - schema: - anyOf: - - type: "object" - required: - - "signerAddress" - properties: - signerAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - id: - type: "string" - pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$" - format: "uuid" - creationHint: - anyOf: - - allOf: - - type: "object" - properties: - createAdditional: - type: "boolean" - errorMessage: "createAdditional must be true or omitted" - description: "If true, will allow creating more than one smart wallet per signer." - salt: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - anyOf: - - type: "object" - properties: - accountType: - anyOf: - - type: "string" - description: "Modular Account V2 SMA-B account type" - enum: - - "sma-b" - - type: "string" - description: "Light Account V2 account type" - enum: - - "la-v2" - - type: "string" - description: "(deprecated - backwards compatibility only - reach out to support@alchemy.com with questions/concerns) Light Account V1.0.1 account type" - enum: - - "la-v1.0.1" - - type: "string" - description: "(deprecated - backwards compatibility only - reach out to support@alchemy.com with questions/concerns) Light Account V1.0.2 account type" - enum: - - "la-v1.0.2" - - type: "string" - description: "(deprecated - backwards compatibility only - reach out to support@alchemy.com with questions/concerns) Light Account V1.1.0 account type" - enum: - - "la-v1.1.0" - errorMessage: "accountType must be one of: 'sma-b', 'la-v2', 'la-v1.0.1', 'la-v1.0.2', 'la-v1.1.0', 'la-v2-multi-owner', or 'ma-v1-multi-owner'" - description: "Single owner account types" - - type: "object" - required: - - "accountType" - properties: - accountType: - anyOf: - - type: "string" - description: "Light Account V2 Multi-Owner account type" - enum: - - "la-v2-multi-owner" - - type: "string" - description: "(deprecated - backwards compatibility only - reach out to support@alchemy.com with questions/concerns) Modular Account V1 Multi-Owner account type" - enum: - - "ma-v1-multi-owner" - errorMessage: "accountType must be one of: 'sma-b', 'la-v2', 'la-v1.0.1', 'la-v1.0.2', 'la-v1.1.0', 'la-v2-multi-owner', or 'ma-v1-multi-owner'" - initialOwners: - type: "array" - items: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The initial owners of the account. The signer address will be implicitly added if not specified in this list." - description: "Multi-owner account types" - errorMessage: "accountType must be one of: 'sma-b', 'la-v2', 'la-v1.0.1', 'la-v1.0.2', 'la-v1.1.0', 'la-v2-multi-owner', or 'ma-v1-multi-owner'" - description: "Smart contract account types" - - type: "object" - required: - - "accountType" - properties: - accountType: - type: "string" - enum: - - "7702" - description: "Smart EOA account type (EIP-7702)" - includeCounterfactualInfo: - type: "boolean" - default: false - description: "Using signer address" - - type: "object" - required: - - "accountAddress" - properties: - accountAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - includeCounterfactualInfo: - type: "boolean" - default: false - description: "Using smart contract account address" - errorMessage: "Must provide either 'signerAddress' (with optional 'id', 'creationHint', 'includeCounterfactualInfo') or 'accountAddress' (with optional 'includeCounterfactualInfo')" - - result: - name: requestAccountResponse - schema: - type: "object" - required: - - "accountAddress" - - "id" - properties: - accountAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - id: - type: "string" - pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$" - format: "uuid" - counterfactualInfo: - type: "object" - required: - - "factoryType" - - "factoryAddress" - - "factoryData" - properties: - factoryType: - anyOf: - - type: "string" - description: "Light Account v1.0.1" - enum: - - "LightAccountV1.0.1" - - type: "string" - description: "Light Account v1.0.2" - enum: - - "LightAccountV1.0.2" - - type: "string" - description: "Light Account v1.1.0" - enum: - - "LightAccountV1.1.0" - - type: "string" - description: "Light Account v2.0.0" - enum: - - "LightAccountV2.0.0" - - type: "string" - description: "Light Account v2.0.0 MultiOwner" - enum: - - "LightAccountV2.0.0-MultiOwner" - - type: "string" - description: "Modular Account v1.0.0 MultiOwner" - enum: - - "MAv1.0.0-MultiOwner" - - type: "string" - description: "Modular Account v1.0.0 MultiSig" - enum: - - "MAv1.0.0-MultiSig" - - type: "string" - description: "Modular Account v2.0.0 SMA-B" - enum: - - "MAv2.0.0-sma-b" - - type: "string" - description: "Modular Account v2.0.0 SSV" - enum: - - "MAv2.0.0-ma-ssv" - - type: "string" - description: "Unknown factory type" - enum: - - "unknown" - factoryAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - factoryData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - delegation: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - - examples: - - name: "wallet_requestAccount example" - params: - - name: "param0" - value: - signerAddress: "0xa363219d7C0b8673df17529D469Db9eFF0f35D2A" - result: - name: "Response" - value: - accountAddress: "0xa363219d7C0b8673df17529D469Db9eFF0f35D2A" - id: "3061cc5f-1f96-48a9-ab45-41faad2dd23b" - - - name: wallet_prepareCalls - description: This method is used to prepare a user operation for submission. It will return a built user operation and a signature request which needs to be signed by the user before submitting to wallet_sendPreparedCalls - x-compute-units: 1750 - x-rate-limit-cus: 50 - params: - - name: params[0] - required: true - schema: - anyOf: - - type: "object" - required: - - "from" - - "chainId" - properties: - calls: - type: "array" - items: - type: "object" - required: - - "to" - properties: - to: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - data: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - from: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - capabilities: - type: "object" - properties: - permissions: - anyOf: - - type: "object" - required: - - "context" - properties: - context: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Permissions context" - - type: "object" - required: - - "sessionId" - - "signature" - properties: - sessionId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - signature: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Remote permission" - paymasterService: - allOf: - - anyOf: - - type: "object" - required: - - "policyId" - properties: - policyId: - type: "string" - pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$" - format: "uuid" - description: "The policy ID to use" - description: "Single policy ID" - - type: "object" - required: - - "policyIds" - properties: - policyIds: - type: "array" - items: - type: "string" - pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$" - format: "uuid" - description: "The policy IDs to use" - description: "Multiple policy IDs" - - type: "object" - properties: - onlyEstimation: - type: "boolean" - description: "If true, will only estimate fees. Skips signature request and gas sponsorship" - erc20: - anyOf: - - type: "object" - required: - - "tokenAddress" - - "preOpSettings" - properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - preOpSettings: - type: "object" - required: - - "autoPermit" - properties: - autoPermit: - type: "object" - required: - - "below" - - "amount" - properties: - below: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount below which a Permit signature will be injected" - amount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount of tokens to Permit to the paymaster for gas payment" - durationSeconds: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The duration of the Permit signature in seconds" - description: "Settings for automatically injecting a Permit signature for ERC20 gas payment" - description: "ERC20 Paymaster Settings for pre-op policies (autoPermit)" - additionalProperties: false - description: "ERC20 Paymaster Settings with preOpSettings (autoPermit)" - - type: "object" - required: - - "tokenAddress" - - "preOpSettings" - properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - preOpSettings: - type: "object" - required: - - "permitDetails" - properties: - permitDetails: - type: "object" - required: - - "deadline" - - "value" - properties: - deadline: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The deadline in the signed Permit object" - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The value in the signed Permit object" - description: "Details of the returned Permit signature" - description: "ERC20 Paymaster Settings for pre-op policies (permitDetails)" - additionalProperties: false - description: "ERC20 Paymaster Settings with preOpSettings (permitDetails)" - - type: "object" - required: - - "tokenAddress" - - "postOpSettings" - properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - postOpSettings: - type: "object" - properties: - autoApprove: - anyOf: - - type: "boolean" - description: "Automatically inject approval for the exact amount needed for this operation" - - type: "object" - required: - - "below" - - "amount" - properties: - below: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount below which an approval will be injected" - amount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount of tokens to approve to the paymaster for gas payment" - description: "Settings for automatically injecting an approval for ERC20 gas payment with specific thresholds" - balanceCheck: - type: "boolean" - description: "By default, the sender's ERC-20 balance is checked at prepare time and the request is rejected if it can't cover the maximum gas cost. Set to false when the User Operation itself credits the sender enough tokens to cover gas. If the sender's balance is still insufficient when the paymaster attempts to pull payment, the User Operation will fail on-chain." - description: "ERC20 Paymaster Settings for post-op policies" - additionalProperties: false - description: "ERC20 Paymaster Settings with postOpSettings" - - type: "object" - required: - - "tokenAddress" - properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - additionalProperties: false - description: "No auto approval (requires manual ERC20 approvals to paymaster contract)" - errorMessage: "ERC20 settings must specify only one of: preOpSettings, postOpSettings, or neither (for manual approvals). Cannot specify both preOpSettings and postOpSettings" - description: "ERC20 Paymaster Settings" - webhookData: - type: "string" - description: "Additional data you can include in the request, such as proof of humanity, if you have enabled custom rules in your Gas Manager policy." - gasParamsOverride: - type: "object" - properties: - preVerificationGas: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - verificationGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - callGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - paymasterVerificationGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - paymasterPostOpGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - maxFeePerGas: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - maxPriorityFeePerGas: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - eip7702Auth: - anyOf: - - type: "object" - required: - - "delegation" - properties: - account: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - delegation: - anyOf: - - type: "string" - enum: - - "ModularAccountV2" - - type: "string" - enum: - - "0x69007702764179f14F51cdce752f4f775d74E139" - - "0x0000000000000000000000000000000000000000" - description: "Specify EIP-7702 delegation" - - type: "boolean" - description: "Use default EIP-7702 delegation (Note: EIP-7702 is enabled by default unless you first call `wallet_requestAccount` to get a smart contract address.)" - nonceOverride: - type: "object" - required: - - "nonceKey" - properties: - nonceKey: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Override nonce key as hex string" - stateOverride: - type: "object" - additionalProperties: - anyOf: - - type: "object" - required: - - "state" - properties: - balance: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - code: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - state: - type: "object" - additionalProperties: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - propertyNames: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Mapping from storage slot (hex) to value (hex)" - additionalProperties: false - description: "Full account state" - - type: "object" - required: - - "stateDiff" - properties: - balance: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - code: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - stateDiff: - type: "object" - additionalProperties: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - propertyNames: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Mapping from storage slot (hex) to value (hex)" - additionalProperties: false - description: "Account state diff" - - type: "object" - properties: - balance: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - code: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - additionalProperties: false - description: "Account override without state changes" - propertyNames: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "Mapping from account address to overrides" - experimental_dataSuffix: - type: "object" - required: - - "value" - properties: - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "ERC-8021 transaction attribution data suffix. The wallet appends these bytes to calldata to enable interoperable attribution tracking." - paymasterPermitSignature: - oneOf: - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "secp256k1" - data: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "Secp256k1 signature" - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "ecdsa" - data: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "ECDSA signature (alias for secp256k1)" - description: "EVM request" - - type: "object" - required: - - "calls" - - "from" - - "chainId" - properties: - calls: - type: "array" - items: - type: "object" - required: - - "programId" - - "data" - properties: - programId: - type: "string" - pattern: "^[1-9A-HJ-NP-Za-km-z]+$" - minLength: 32 - maxLength: 44 - errorMessage: "Must be a valid base58-encoded Solana address (32-44 characters)" - description: "Base58-encoded Solana address" - accounts: - type: "array" - items: - type: "object" - required: - - "pubkey" - - "isSigner" - - "isWritable" - properties: - pubkey: - type: "string" - pattern: "^[1-9A-HJ-NP-Za-km-z]+$" - minLength: 32 - maxLength: 44 - errorMessage: "Must be a valid base58-encoded Solana address (32-44 characters)" - description: "Base58-encoded Solana address" - isSigner: - type: "boolean" - isWritable: - type: "boolean" - data: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded instruction data" - description: "Raw Solana instruction" - from: - type: "string" - pattern: "^[1-9A-HJ-NP-Za-km-z]+$" - minLength: 32 - maxLength: 44 - errorMessage: "Must be a valid base58-encoded Solana address (32-44 characters)" - description: "Base58-encoded Solana address" - chainId: - anyOf: - - anyOf: - - type: "string" - enum: - - "solana:mainnet" - - type: "string" - enum: - - "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp" - description: "Solana Mainnet" - - anyOf: - - type: "string" - enum: - - "solana:devnet" - - type: "string" - enum: - - "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1" - description: "Solana Devnet" - description: "Solana chain identifier" - addressLookupTableAddresses: - type: "array" - items: - type: "string" - pattern: "^[1-9A-HJ-NP-Za-km-z]+$" - minLength: 32 - maxLength: 44 - errorMessage: "Must be a valid base58-encoded Solana address (32-44 characters)" - description: "Base58-encoded Solana address" - capabilities: - type: "object" - properties: - paymasterService: - allOf: - - type: "object" - required: - - "policyId" - properties: - policyId: - type: "string" - pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$" - format: "uuid" - description: "The policy ID to use" - description: "Single policy ID" - - type: "object" - properties: - webhookData: - type: "string" - description: "Additional data for custom policy rules, such as proof of humanity." - prefundRent: - type: "boolean" - description: "Opt-in: ask the paymaster to simulate the transaction and prefund any lamports needed for CPI-created accounts (e.g. SystemProgram.createAccount)." - description: "Solana request" - - result: - name: prepareCallsResponse - schema: - anyOf: - - allOf: - - oneOf: - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "array" - data: - type: "array" - items: - oneOf: - - type: "object" - required: - - "type" - - "data" - - "chainId" - - "feePayment" - properties: - type: - type: "string" - description: "User Operation (Entrypoint v0.6.0)" - enum: - - "user-operation-v060" - data: - type: "object" - required: - - "sender" - - "nonce" - - "initCode" - - "callData" - - "callGasLimit" - - "verificationGasLimit" - - "preVerificationGas" - - "maxFeePerGas" - - "maxPriorityFeePerGas" - - "paymasterAndData" - properties: - sender: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - initCode: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Present" - - type: "string" - description: "Absent" - enum: - - "0x" - callData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - callGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verificationGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - preVerificationGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxPriorityFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymasterAndData: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Present" - - type: "string" - description: "Absent" - enum: - - "0x" - description: "Unsigned User Operation (Entrypoint v0.6.0)" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - signatureRequest: - oneOf: - - type: "object" - required: - - "type" - - "data" - - "rawPayload" - properties: - type: - type: "string" - enum: - - "personal_sign" - data: - anyOf: - - type: "string" - minLength: 1 - description: "Message" - - type: "object" - required: - - "raw" - properties: - raw: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw message" - rawPayload: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - description: "Personal sign" - - type: "object" - required: - - "type" - - "data" - - "rawPayload" - properties: - type: - type: "string" - enum: - - "eth_signTypedData_v4" - data: - type: "object" - required: - - "types" - - "primaryType" - - "message" - properties: - domain: - type: "object" - properties: - chainId: - type: "integer" - minimum: 1 - maximum: 9007199254740991 - name: - type: "string" - salt: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verifyingContract: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - version: - type: "string" - types: - type: "object" - additionalProperties: - type: "array" - items: - type: "object" - required: - - "name" - - "type" - properties: - type: - type: "string" - name: - type: "string" - propertyNames: - type: "string" - description: "Mapping from type name to array of field definitions" - primaryType: - type: "string" - message: - type: "object" - additionalProperties: {} - propertyNames: - type: "string" - description: "Mapping from field name to value" - rawPayload: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - description: "Typed data" - feePayment: - type: "object" - required: - - "sponsored" - - "tokenAddress" - - "maxAmount" - properties: - sponsored: - type: "boolean" - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - maxAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Prepared User Operation (Entrypoint v0.6.0). Returned for legacy Light Account v1.x accounts." - - type: "object" - required: - - "type" - - "data" - - "chainId" - - "feePayment" - properties: - type: - type: "string" - description: "User Operation (Entrypoint v0.7.0)" - enum: - - "user-operation-v070" - data: - type: "object" - required: - - "sender" - - "nonce" - - "callData" - - "callGasLimit" - - "verificationGasLimit" - - "preVerificationGas" - - "maxFeePerGas" - - "maxPriorityFeePerGas" - properties: - sender: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - factory: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - factoryData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - callData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - callGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verificationGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - preVerificationGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxPriorityFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymaster: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - paymasterData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymasterVerificationGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymasterPostOpGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Unsigned User Operation (Entrypoint v0.7.0)" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - signatureRequest: - oneOf: - - type: "object" - required: - - "type" - - "data" - - "rawPayload" - properties: - type: - type: "string" - enum: - - "personal_sign" - data: - anyOf: - - type: "string" - minLength: 1 - description: "Message" - - type: "object" - required: - - "raw" - properties: - raw: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw message" - rawPayload: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - description: "Personal sign" - - type: "object" - required: - - "type" - - "data" - - "rawPayload" - properties: - type: - type: "string" - enum: - - "eth_signTypedData_v4" - data: - type: "object" - required: - - "types" - - "primaryType" - - "message" - properties: - domain: - type: "object" - properties: - chainId: - type: "integer" - minimum: 1 - maximum: 9007199254740991 - name: - type: "string" - salt: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verifyingContract: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - version: - type: "string" - types: - type: "object" - additionalProperties: - type: "array" - items: - type: "object" - required: - - "name" - - "type" - properties: - type: - type: "string" - name: - type: "string" - propertyNames: - type: "string" - description: "Mapping from type name to array of field definitions" - primaryType: - type: "string" - message: - type: "object" - additionalProperties: {} - propertyNames: - type: "string" - description: "Mapping from field name to value" - rawPayload: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - description: "Typed data" - feePayment: - type: "object" - required: - - "sponsored" - - "tokenAddress" - - "maxAmount" - properties: - sponsored: - type: "boolean" - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - maxAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Prepared User Operation (Entrypoint v0.7.0). Returned for modern account types including Modular Account (sma-b), Light Account v2, and 7702 accounts." - - type: "object" - required: - - "type" - - "data" - - "chainId" - - "signatureRequest" - properties: - type: - type: "string" - description: "EIP-7702 Authorization Request" - enum: - - "authorization" - data: - type: "object" - required: - - "address" - - "nonce" - properties: - address: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - signatureRequest: - type: "object" - required: - - "type" - - "rawPayload" - properties: - type: - type: "string" - enum: - - "eip7702Auth" - rawPayload: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - description: "Prepared EIP-7702 Authorization. Returned as part of an array response for 7702 accounts requiring delegation, or at the top level for BSO-sponsored undelegation." - description: "Array of Prepared Calls. Returned for EIP-7702 accounts that require both an authorization signature and a user operation." - - type: "object" - required: - - "type" - - "data" - - "chainId" - - "feePayment" - properties: - type: - type: "string" - description: "User Operation (Entrypoint v0.6.0)" - enum: - - "user-operation-v060" - data: - type: "object" - required: - - "sender" - - "nonce" - - "initCode" - - "callData" - - "callGasLimit" - - "verificationGasLimit" - - "preVerificationGas" - - "maxFeePerGas" - - "maxPriorityFeePerGas" - - "paymasterAndData" - properties: - sender: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - initCode: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Present" - - type: "string" - description: "Absent" - enum: - - "0x" - callData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - callGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verificationGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - preVerificationGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxPriorityFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymasterAndData: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Present" - - type: "string" - description: "Absent" - enum: - - "0x" - description: "Unsigned User Operation (Entrypoint v0.6.0)" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - signatureRequest: - oneOf: - - type: "object" - required: - - "type" - - "data" - - "rawPayload" - properties: - type: - type: "string" - enum: - - "personal_sign" - data: - anyOf: - - type: "string" - minLength: 1 - description: "Message" - - type: "object" - required: - - "raw" - properties: - raw: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw message" - rawPayload: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - description: "Personal sign" - - type: "object" - required: - - "type" - - "data" - - "rawPayload" - properties: - type: - type: "string" - enum: - - "eth_signTypedData_v4" - data: - type: "object" - required: - - "types" - - "primaryType" - - "message" - properties: - domain: - type: "object" - properties: - chainId: - type: "integer" - minimum: 1 - maximum: 9007199254740991 - name: - type: "string" - salt: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verifyingContract: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - version: - type: "string" - types: - type: "object" - additionalProperties: - type: "array" - items: - type: "object" - required: - - "name" - - "type" - properties: - type: - type: "string" - name: - type: "string" - propertyNames: - type: "string" - description: "Mapping from type name to array of field definitions" - primaryType: - type: "string" - message: - type: "object" - additionalProperties: {} - propertyNames: - type: "string" - description: "Mapping from field name to value" - rawPayload: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - description: "Typed data" - feePayment: - type: "object" - required: - - "sponsored" - - "tokenAddress" - - "maxAmount" - properties: - sponsored: - type: "boolean" - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - maxAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Prepared User Operation (Entrypoint v0.6.0). Returned for legacy Light Account v1.x accounts." - - type: "object" - required: - - "type" - - "data" - - "chainId" - - "feePayment" - properties: - type: - type: "string" - description: "User Operation (Entrypoint v0.7.0)" - enum: - - "user-operation-v070" - data: - type: "object" - required: - - "sender" - - "nonce" - - "callData" - - "callGasLimit" - - "verificationGasLimit" - - "preVerificationGas" - - "maxFeePerGas" - - "maxPriorityFeePerGas" - properties: - sender: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - factory: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - factoryData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - callData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - callGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verificationGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - preVerificationGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxPriorityFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymaster: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - paymasterData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymasterVerificationGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymasterPostOpGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Unsigned User Operation (Entrypoint v0.7.0)" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - signatureRequest: - oneOf: - - type: "object" - required: - - "type" - - "data" - - "rawPayload" - properties: - type: - type: "string" - enum: - - "personal_sign" - data: - anyOf: - - type: "string" - minLength: 1 - description: "Message" - - type: "object" - required: - - "raw" - properties: - raw: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw message" - rawPayload: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - description: "Personal sign" - - type: "object" - required: - - "type" - - "data" - - "rawPayload" - properties: - type: - type: "string" - enum: - - "eth_signTypedData_v4" - data: - type: "object" - required: - - "types" - - "primaryType" - - "message" - properties: - domain: - type: "object" - properties: - chainId: - type: "integer" - minimum: 1 - maximum: 9007199254740991 - name: - type: "string" - salt: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verifyingContract: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - version: - type: "string" - types: - type: "object" - additionalProperties: - type: "array" - items: - type: "object" - required: - - "name" - - "type" - properties: - type: - type: "string" - name: - type: "string" - propertyNames: - type: "string" - description: "Mapping from type name to array of field definitions" - primaryType: - type: "string" - message: - type: "object" - additionalProperties: {} - propertyNames: - type: "string" - description: "Mapping from field name to value" - rawPayload: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - description: "Typed data" - feePayment: - type: "object" - required: - - "sponsored" - - "tokenAddress" - - "maxAmount" - properties: - sponsored: - type: "boolean" - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - maxAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Prepared User Operation (Entrypoint v0.7.0). Returned for modern account types including Modular Account (sma-b), Light Account v2, and 7702 accounts." - - type: "object" - required: - - "type" - - "data" - - "chainId" - - "signatureRequest" - properties: - type: - type: "string" - description: "EIP-7702 Authorization Request" - enum: - - "authorization" - data: - type: "object" - required: - - "address" - - "nonce" - properties: - address: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - signatureRequest: - type: "object" - required: - - "type" - - "rawPayload" - properties: - type: - type: "string" - enum: - - "eip7702Auth" - rawPayload: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - description: "Prepared EIP-7702 Authorization. Returned as part of an array response for 7702 accounts requiring delegation, or at the top level for BSO-sponsored undelegation." - - type: "object" - required: - - "type" - - "modifiedRequest" - - "data" - - "signatureRequest" - properties: - type: - type: "string" - description: "ERC-7597 Permit Signature Request for the paymaster" - enum: - - "paymaster-permit" - modifiedRequest: - type: "object" - required: - - "from" - - "chainId" - properties: - calls: - type: "array" - items: - type: "object" - required: - - "to" - properties: - to: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - data: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - from: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - capabilities: - type: "object" - properties: - permissions: - anyOf: - - type: "object" - required: - - "context" - properties: - context: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Permissions context" - - type: "object" - required: - - "sessionId" - - "signature" - properties: - sessionId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - signature: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Remote permission" - paymasterService: - allOf: - - anyOf: - - type: "object" - required: - - "policyId" - properties: - policyId: - type: "string" - pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$" - format: "uuid" - description: "The policy ID to use" - description: "Single policy ID" - - type: "object" - required: - - "policyIds" - properties: - policyIds: - type: "array" - items: - type: "string" - pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$" - format: "uuid" - description: "The policy IDs to use" - description: "Multiple policy IDs" - - type: "object" - properties: - onlyEstimation: - type: "boolean" - description: "If true, will only estimate fees. Skips signature request and gas sponsorship" - erc20: - anyOf: - - type: "object" - required: - - "tokenAddress" - - "preOpSettings" - properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - preOpSettings: - type: "object" - required: - - "autoPermit" - properties: - autoPermit: - type: "object" - required: - - "below" - - "amount" - properties: - below: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount below which a Permit signature will be injected" - amount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount of tokens to Permit to the paymaster for gas payment" - durationSeconds: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The duration of the Permit signature in seconds" - description: "Settings for automatically injecting a Permit signature for ERC20 gas payment" - description: "ERC20 Paymaster Settings for pre-op policies (autoPermit)" - additionalProperties: false - description: "ERC20 Paymaster Settings with preOpSettings (autoPermit)" - - type: "object" - required: - - "tokenAddress" - - "preOpSettings" - properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - preOpSettings: - type: "object" - required: - - "permitDetails" - properties: - permitDetails: - type: "object" - required: - - "deadline" - - "value" - properties: - deadline: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The deadline in the signed Permit object" - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The value in the signed Permit object" - description: "Details of the returned Permit signature" - description: "ERC20 Paymaster Settings for pre-op policies (permitDetails)" - additionalProperties: false - description: "ERC20 Paymaster Settings with preOpSettings (permitDetails)" - - type: "object" - required: - - "tokenAddress" - - "postOpSettings" - properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - postOpSettings: - type: "object" - properties: - autoApprove: - anyOf: - - type: "boolean" - description: "Automatically inject approval for the exact amount needed for this operation" - - type: "object" - required: - - "below" - - "amount" - properties: - below: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount below which an approval will be injected" - amount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount of tokens to approve to the paymaster for gas payment" - description: "Settings for automatically injecting an approval for ERC20 gas payment with specific thresholds" - balanceCheck: - type: "boolean" - description: "By default, the sender's ERC-20 balance is checked at prepare time and the request is rejected if it can't cover the maximum gas cost. Set to false when the User Operation itself credits the sender enough tokens to cover gas. If the sender's balance is still insufficient when the paymaster attempts to pull payment, the User Operation will fail on-chain." - description: "ERC20 Paymaster Settings for post-op policies" - additionalProperties: false - description: "ERC20 Paymaster Settings with postOpSettings" - - type: "object" - required: - - "tokenAddress" - properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - additionalProperties: false - description: "No auto approval (requires manual ERC20 approvals to paymaster contract)" - errorMessage: "ERC20 settings must specify only one of: preOpSettings, postOpSettings, or neither (for manual approvals). Cannot specify both preOpSettings and postOpSettings" - description: "ERC20 Paymaster Settings" - webhookData: - type: "string" - description: "Additional data you can include in the request, such as proof of humanity, if you have enabled custom rules in your Gas Manager policy." - gasParamsOverride: - type: "object" - properties: - preVerificationGas: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - verificationGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - callGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - paymasterVerificationGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - paymasterPostOpGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - maxFeePerGas: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - maxPriorityFeePerGas: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - eip7702Auth: - anyOf: - - type: "object" - required: - - "delegation" - properties: - account: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - delegation: - anyOf: - - type: "string" - enum: - - "ModularAccountV2" - - type: "string" - enum: - - "0x69007702764179f14F51cdce752f4f775d74E139" - - "0x0000000000000000000000000000000000000000" - description: "Specify EIP-7702 delegation" - - type: "boolean" - description: "Use default EIP-7702 delegation (Note: EIP-7702 is enabled by default unless you first call `wallet_requestAccount` to get a smart contract address.)" - nonceOverride: - type: "object" - required: - - "nonceKey" - properties: - nonceKey: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Override nonce key as hex string" - stateOverride: - type: "object" - additionalProperties: - anyOf: - - type: "object" - required: - - "state" - properties: - balance: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - code: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - state: - type: "object" - additionalProperties: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - propertyNames: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Mapping from storage slot (hex) to value (hex)" - additionalProperties: false - description: "Full account state" - - type: "object" - required: - - "stateDiff" - properties: - balance: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - code: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - stateDiff: - type: "object" - additionalProperties: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - propertyNames: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Mapping from storage slot (hex) to value (hex)" - additionalProperties: false - description: "Account state diff" - - type: "object" - properties: - balance: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - code: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - additionalProperties: false - description: "Account override without state changes" - propertyNames: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "Mapping from account address to overrides" - experimental_dataSuffix: - type: "object" - required: - - "value" - properties: - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "ERC-8021 transaction attribution data suffix. The wallet appends these bytes to calldata to enable interoperable attribution tracking." - paymasterPermitSignature: - oneOf: - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "secp256k1" - data: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "Secp256k1 signature" - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "ecdsa" - data: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "ECDSA signature (alias for secp256k1)" - data: - type: "object" - required: - - "types" - - "primaryType" - - "message" - properties: - domain: - type: "object" - properties: - chainId: - type: "integer" - minimum: 1 - maximum: 9007199254740991 - name: - type: "string" - salt: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verifyingContract: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - version: - type: "string" - types: - type: "object" - additionalProperties: - type: "array" - items: - type: "object" - required: - - "name" - - "type" - properties: - type: - type: "string" - name: - type: "string" - propertyNames: - type: "string" - description: "Mapping from type name to array of field definitions" - primaryType: - type: "string" - message: - type: "object" - additionalProperties: {} - propertyNames: - type: "string" - description: "Mapping from field name to value" - signatureRequest: - type: "object" - required: - - "type" - - "data" - - "rawPayload" - properties: - type: - type: "string" - enum: - - "eth_signTypedData_v4" - data: - type: "object" - required: - - "types" - - "primaryType" - - "message" - properties: - domain: - type: "object" - properties: - chainId: - type: "integer" - minimum: 1 - maximum: 9007199254740991 - name: - type: "string" - salt: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verifyingContract: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - version: - type: "string" - types: - type: "object" - additionalProperties: - type: "array" - items: - type: "object" - required: - - "name" - - "type" - properties: - type: - type: "string" - name: - type: "string" - propertyNames: - type: "string" - description: "Mapping from type name to array of field definitions" - primaryType: - type: "string" - message: - type: "object" - additionalProperties: {} - propertyNames: - type: "string" - description: "Mapping from field name to value" - rawPayload: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - description: "Typed data" - description: "Paymaster permit. Returned when the account's paymaster policy requires an ERC-20 token permit signature. The client must sign the permit and resubmit the request with the permit signature before the user operation can be prepared." - - type: "object" - properties: - details: - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "user-operation" - data: - type: "object" - required: - - "hash" - - "calls" - properties: - hash: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - calls: - type: "array" - items: - type: "object" - required: - - "to" - properties: - to: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - data: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "EVM response" - - type: "object" - required: - - "type" - - "chainId" - - "signatureRequest" - - "data" - - "feePayment" - - "details" - properties: - type: - type: "string" - description: "Solana v0 versioned transaction" - enum: - - "solana-transaction-v0" - chainId: - anyOf: - - anyOf: - - type: "string" - enum: - - "solana:mainnet" - - type: "string" - enum: - - "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp" - description: "Solana Mainnet" - - anyOf: - - type: "string" - enum: - - "solana:devnet" - - type: "string" - enum: - - "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1" - description: "Solana Devnet" - description: "Solana chain identifier" - signatureRequest: - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "solana_signTransaction" - data: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Full serialized transaction, hex-encoded" - description: "Solana transaction signature request" - data: - type: "object" - required: - - "compiledTransaction" - - "signer" - - "version" - - "lifetimeConstraint" - properties: - compiledTransaction: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Pre-compiled wire-format transaction bytes from prepareCalls. Contains all non-user signatures (e.g. paymaster) already embedded." - signer: - type: "string" - pattern: "^[1-9A-HJ-NP-Za-km-z]+$" - minLength: 32 - maxLength: 44 - errorMessage: "Must be a valid base58-encoded Solana address (32-44 characters)" - description: "User's signing address" - version: - type: "string" - enum: - - "0" - lifetimeConstraint: - type: "object" - required: - - "blockHash" - properties: - blockHash: - type: "string" - pattern: "^[1-9A-HJ-NP-Za-km-z]+$" - lastValidBlockHeight: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - minContextSlot: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Slot at which the paymaster simulated this transaction. Pass to sendTransaction as minContextSlot to reduce stale-state risk." - description: "Solana v0 versioned transaction data (send-relevant fields)" - feePayment: - type: "object" - required: - - "sponsored" - - "feePayer" - properties: - sponsored: - type: "boolean" - feePayer: - type: "string" - pattern: "^[1-9A-HJ-NP-Za-km-z]+$" - minLength: 32 - maxLength: 44 - errorMessage: "Must be a valid base58-encoded Solana address (32-44 characters)" - description: "Address paying transaction fees" - estimatedFeeLamports: - type: "number" - description: "Estimated transaction fee in lamports" - estimatedRentLamports: - type: "number" - description: "Estimated rent in lamports" - prefundLamports: - type: "number" - description: "Total lamports pre-funded by paymaster" - description: "Solana fee payment details" - details: - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "solana-transaction-v0" - data: - type: "object" - required: - - "calls" - properties: - calls: - type: "array" - items: - type: "object" - required: - - "programId" - - "data" - properties: - programId: - type: "string" - pattern: "^[1-9A-HJ-NP-Za-km-z]+$" - minLength: 32 - maxLength: 44 - errorMessage: "Must be a valid base58-encoded Solana address (32-44 characters)" - description: "Base58-encoded Solana address" - accounts: - type: "array" - items: - type: "object" - required: - - "pubkey" - - "isSigner" - - "isWritable" - properties: - pubkey: - type: "string" - pattern: "^[1-9A-HJ-NP-Za-km-z]+$" - minLength: 32 - maxLength: 44 - errorMessage: "Must be a valid base58-encoded Solana address (32-44 characters)" - description: "Base58-encoded Solana address" - isSigner: - type: "boolean" - isWritable: - type: "boolean" - data: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded instruction data" - description: "Raw Solana instruction" - addressLookupTableAddresses: - type: "array" - items: - type: "string" - pattern: "^[1-9A-HJ-NP-Za-km-z]+$" - minLength: 32 - maxLength: 44 - errorMessage: "Must be a valid base58-encoded Solana address (32-44 characters)" - description: "Base58-encoded Solana address" - description: "Prepared Solana v0 transaction" - - examples: - - name: "wallet_prepareCalls example" - params: - - name: "param0" - value: - calls: - - to: "0x1234567890123456789012345678901234567890" - data: "0x" - from: "0xa363219d7C0b8673df17529D469Db9eFF0f35D2A" - chainId: "0x01" - capabilities: - paymasterService: - policyId: "11111111-2222-4333-8444-555555555555" - result: - name: "Response" - value: - type: "user-operation-v070" - data: - sender: "0xa363219d7C0b8673df17529D469Db9eFF0f35D2A" - nonce: "0x10000000000000000" - callData: "0x34fcd5be0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000001234567890123456789012345678901234567890000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000" - paymaster: "0x3f222Df6aB18C1E10d0Ec136503c3B0dfd929048" - paymasterData: "0x0000000000000000682d7e7c9fa6f71c28c31141a11ac9eb2bdbe898ddbd42a4f7085f8bb3380ba75dd9231a386e24fe5a84777217c907391e983b5b0f78a4a9d0fd1c8631dd22c10e106b461c" - paymasterPostOpGasLimit: "0x0" - paymasterVerificationGasLimit: "0x74d3" - maxPriorityFeePerGas: "0x60e4b0" - maxFeePerGas: "0x1bf52290" - callGasLimit: "0x2bb8" - verificationGasLimit: "0xc845" - preVerificationGas: "0x14b74" - chainId: "0x66eee" - signatureRequest: - type: "personal_sign" - data: - raw: "0xc69e468aa6fafb5c7298c02841e76f976b433018266af39a5807bc29ea9ad392" - rawPayload: "0x2a8073568c8fad3edf15f70c3471a7fff18e1d57c650a501ab47f57a5c1f0e39" - feePayment: - sponsored: false - tokenAddress: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" - maxAmount: "0x1f34" - details: - type: "user-operation" - data: - hash: "0xc69e468aa6fafb5c7298c02841e76f976b433018266af39a5807bc29ea9ad392" - calls: - - to: "0x1234567890123456789012345678901234567890" - data: "0x" - - - name: wallet_sendPreparedCalls - description: This method is used after signing the signatureRequest returned from prepareCalls to submit a user operation - x-compute-units: 3000 - x-rate-limit-cus: 100 - x-compute-units-variants: - sponsored_delegation: - compute-units: 15000 - rate-limit-cus: 100 - params: - - name: params[0] - required: true - schema: - anyOf: - - allOf: - - anyOf: - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "array" - data: - type: "array" - items: - anyOf: - - allOf: - - type: "object" - required: - - "type" - - "data" - - "chainId" - properties: - type: - type: "string" - description: "User Operation (Entrypoint v0.6.0)" - enum: - - "user-operation-v060" - data: - type: "object" - required: - - "sender" - - "nonce" - - "initCode" - - "callData" - - "callGasLimit" - - "verificationGasLimit" - - "preVerificationGas" - - "maxFeePerGas" - - "maxPriorityFeePerGas" - - "paymasterAndData" - properties: - sender: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - initCode: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Present" - - type: "string" - description: "Absent" - enum: - - "0x" - callData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - callGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verificationGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - preVerificationGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxPriorityFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymasterAndData: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Present" - - type: "string" - description: "Absent" - enum: - - "0x" - description: "Unsigned User Operation (Entrypoint v0.6.0)" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - required: - - "signature" - properties: - signature: - oneOf: - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "secp256k1" - data: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "Secp256k1 signature" - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "ecdsa" - data: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "ECDSA signature (alias for secp256k1)" - description: "Prepared User Operation (Entrypoint v0.6.0) with signature" - - allOf: - - type: "object" - required: - - "type" - - "data" - - "chainId" - properties: - type: - type: "string" - description: "User Operation (Entrypoint v0.7.0)" - enum: - - "user-operation-v070" - data: - type: "object" - required: - - "sender" - - "nonce" - - "callData" - - "callGasLimit" - - "verificationGasLimit" - - "preVerificationGas" - - "maxFeePerGas" - - "maxPriorityFeePerGas" - properties: - sender: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - factory: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - factoryData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - callData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - callGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verificationGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - preVerificationGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxPriorityFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymaster: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - paymasterData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymasterVerificationGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymasterPostOpGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Unsigned User Operation (Entrypoint v0.7.0)" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - required: - - "signature" - properties: - signature: - oneOf: - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "secp256k1" - data: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "Secp256k1 signature" - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "ecdsa" - data: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "ECDSA signature (alias for secp256k1)" - description: "Prepared User Operation (Entrypoint v0.7.0) with signature" - - allOf: - - type: "object" - required: - - "type" - - "data" - - "chainId" - properties: - type: - type: "string" - description: "EIP-7702 Authorization Request" - enum: - - "authorization" - data: - type: "object" - required: - - "address" - - "nonce" - properties: - address: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - required: - - "signature" - properties: - signature: - oneOf: - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "secp256k1" - data: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "Secp256k1 signature" - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "ecdsa" - data: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "ECDSA signature (alias for secp256k1)" - description: "Prepared EIP-7702 Authorization with signature" - description: "Array of prepared calls with signatures" - - allOf: - - type: "object" - required: - - "type" - - "data" - - "chainId" - properties: - type: - type: "string" - description: "User Operation (Entrypoint v0.6.0)" - enum: - - "user-operation-v060" - data: - type: "object" - required: - - "sender" - - "nonce" - - "initCode" - - "callData" - - "callGasLimit" - - "verificationGasLimit" - - "preVerificationGas" - - "maxFeePerGas" - - "maxPriorityFeePerGas" - - "paymasterAndData" - properties: - sender: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - initCode: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Present" - - type: "string" - description: "Absent" - enum: - - "0x" - callData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - callGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verificationGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - preVerificationGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxPriorityFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymasterAndData: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Present" - - type: "string" - description: "Absent" - enum: - - "0x" - description: "Unsigned User Operation (Entrypoint v0.6.0)" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - required: - - "signature" - properties: - signature: - oneOf: - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "secp256k1" - data: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "Secp256k1 signature" - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "ecdsa" - data: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "ECDSA signature (alias for secp256k1)" - description: "Prepared User Operation (Entrypoint v0.6.0) with signature" - - allOf: - - type: "object" - required: - - "type" - - "data" - - "chainId" - properties: - type: - type: "string" - description: "User Operation (Entrypoint v0.7.0)" - enum: - - "user-operation-v070" - data: - type: "object" - required: - - "sender" - - "nonce" - - "callData" - - "callGasLimit" - - "verificationGasLimit" - - "preVerificationGas" - - "maxFeePerGas" - - "maxPriorityFeePerGas" - properties: - sender: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - factory: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - factoryData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - callData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - callGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verificationGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - preVerificationGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxPriorityFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymaster: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - paymasterData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymasterVerificationGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymasterPostOpGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Unsigned User Operation (Entrypoint v0.7.0)" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - required: - - "signature" - properties: - signature: - oneOf: - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "secp256k1" - data: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "Secp256k1 signature" - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "ecdsa" - data: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "ECDSA signature (alias for secp256k1)" - description: "Prepared User Operation (Entrypoint v0.7.0) with signature" - - allOf: - - type: "object" - required: - - "type" - - "data" - - "chainId" - properties: - type: - type: "string" - description: "EIP-7702 Authorization Request" - enum: - - "authorization" - data: - type: "object" - required: - - "address" - - "nonce" - properties: - address: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - required: - - "signature" - properties: - signature: - oneOf: - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "secp256k1" - data: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "Secp256k1 signature" - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "ecdsa" - data: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "ECDSA signature (alias for secp256k1)" - description: "Prepared EIP-7702 Authorization with signature" - - type: "object" - properties: - capabilities: - type: "object" - properties: - permissions: - anyOf: - - type: "object" - required: - - "context" - properties: - context: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Permissions context" - - type: "object" - required: - - "sessionId" - - "signature" - properties: - sessionId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - signature: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Remote permission" - paymasterService: - allOf: - - anyOf: - - type: "object" - required: - - "policyId" - properties: - policyId: - type: "string" - pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$" - format: "uuid" - description: "The policy ID to use" - description: "Single policy ID" - - type: "object" - required: - - "policyIds" - properties: - policyIds: - type: "array" - items: - type: "string" - pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$" - format: "uuid" - description: "The policy IDs to use" - description: "Multiple policy IDs" - - type: "object" - properties: - webhookData: - type: "string" - description: "Additional data you can include in the request, such as proof of humanity, if you have enabled custom rules in your Gas Manager policy." - callId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "EVM request" - - allOf: - - type: "object" - required: - - "type" - - "chainId" - - "data" - properties: - type: - type: "string" - description: "Solana v0 versioned transaction" - enum: - - "solana-transaction-v0" - chainId: - anyOf: - - anyOf: - - type: "string" - enum: - - "solana:mainnet" - - type: "string" - enum: - - "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp" - description: "Solana Mainnet" - - anyOf: - - type: "string" - enum: - - "solana:devnet" - - type: "string" - enum: - - "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1" - description: "Solana Devnet" - description: "Solana chain identifier" - data: - type: "object" - required: - - "compiledTransaction" - - "signer" - - "version" - - "lifetimeConstraint" - properties: - compiledTransaction: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Pre-compiled wire-format transaction bytes from prepareCalls. Contains all non-user signatures (e.g. paymaster) already embedded." - signer: - type: "string" - pattern: "^[1-9A-HJ-NP-Za-km-z]+$" - minLength: 32 - maxLength: 44 - errorMessage: "Must be a valid base58-encoded Solana address (32-44 characters)" - description: "User's signing address" - version: - type: "string" - enum: - - "0" - lifetimeConstraint: - type: "object" - required: - - "blockHash" - properties: - blockHash: - type: "string" - pattern: "^[1-9A-HJ-NP-Za-km-z]+$" - lastValidBlockHeight: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - minContextSlot: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Slot at which the paymaster simulated this transaction. Pass to sendTransaction as minContextSlot to reduce stale-state risk." - description: "Solana v0 versioned transaction data (send-relevant fields)" - - type: "object" - required: - - "signature" - properties: - signature: - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "ed25519" - data: - type: "string" - description: "64-byte Ed25519 signature, base58-encoded" - description: "Prepared Solana v0 transaction with signature" - - result: - name: sendPreparedCallsResponse - schema: - anyOf: - - type: "object" - required: - - "id" - - "preparedCallIds" - - "details" - properties: - id: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - preparedCallIds: - type: "array" - items: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "To be deprecated. Please use `id` instead." - details: - oneOf: - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "user-operation" - data: - type: "object" - required: - - "hash" - properties: - hash: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - calls: - type: "array" - items: - type: "object" - required: - - "to" - properties: - to: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - data: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - required: - - "type" - properties: - type: - type: "string" - enum: - - "delegation" - description: "EVM response" - - type: "object" - required: - - "id" - - "preparedCallIds" - - "details" - properties: - id: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - preparedCallIds: - type: "array" - items: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - details: - type: "object" - required: - - "type" - properties: - type: - type: "string" - enum: - - "solana-transaction-v0" - description: "Solana response" - - examples: - - name: "wallet_sendPreparedCalls example" - params: - - name: "param0" - value: - type: "user-operation-v070" - data: - sender: "0xa363219d7C0b8673df17529D469Db9eFF0f35D2A" - nonce: "0x10000000000000000" - callData: "0x34fcd5be0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000001234567890123456789012345678901234567890000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000" - paymaster: "0x3f222Df6aB18C1E10d0Ec136503c3B0dfd929048" - paymasterData: "0x0000000000000000682d7e7c9fa6f71c28c31141a11ac9eb2bdbe898ddbd42a4f7085f8bb3380ba75dd9231a386e24fe5a84777217c907391e983b5b0f78a4a9d0fd1c8631dd22c10e106b461c" - paymasterPostOpGasLimit: "0x0" - paymasterVerificationGasLimit: "0x74d3" - maxPriorityFeePerGas: "0x60e4b0" - maxFeePerGas: "0x1bf52290" - callGasLimit: "0x2bb8" - verificationGasLimit: "0xc845" - preVerificationGas: "0x14b74" - chainId: "0x66eee" - signature: - type: "secp256k1" - data: "0xb1a055089b1ba8387ed435f2bd0afe7ff69f22b928cdfdea1b5323c64d6af387164de3fa6febf031b544de46a84d6fb7f084b9798ddfaba820950c257139a7321b" - result: - name: "Response" - value: - id: "0x0000000000000000000000000000000000000000000000000000000000066eeec69e468aa6fafb5c7298c02841e76f976b433018266af39a5807bc29ea9ad392" - preparedCallIds: - - "0x0000000000000000000000000000000000000000000000000000000000066eeec69e468aa6fafb5c7298c02841e76f976b433018266af39a5807bc29ea9ad392" - details: - type: "user-operation" - data: - hash: "0xc69e468aa6fafb5c7298c02841e76f976b433018266af39a5807bc29ea9ad392" - calls: - - to: "0x1234567890123456789012345678901234567890" - data: "0x" - value: "0x0" - - - name: wallet_createSession - description: This method is used to create a session for a given address with specified permissions. - x-compute-units: 50 - params: - - name: params[0] - required: true - schema: - allOf: - - type: "object" - required: - - "chainId" - - "key" - - "permissions" - properties: - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - expirySec: - type: "integer" - minimum: 0 - maximum: 9999999999 - description: "Unix timestamp in seconds (0 for no expiry)" - key: - type: "object" - required: - - "type" - - "publicKey" - properties: - type: - anyOf: - - type: "string" - description: "Secp256k1" - enum: - - "secp256k1" - - type: "string" - description: "ECDSA (alias for secp256k1)" - enum: - - "ecdsa" - - type: "string" - description: "Contract" - enum: - - "contract" - publicKey: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Note that this should be the public key's 20-byte address, not the full 64-byte public key" - permissions: - type: "array" - items: - oneOf: - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "native-token-transfer" - data: - type: "object" - required: - - "allowance" - properties: - allowance: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "allows transfer of native tokens from the account" - title: "native-token-transfer" - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "erc20-token-transfer" - data: - type: "object" - required: - - "allowance" - - "address" - properties: - allowance: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - address: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "allows transfer or approval of erc20 tokens from the account" - title: "erc20-token-transfer" - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "gas-limit" - data: - type: "object" - required: - - "limit" - properties: - limit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "allows the key to spend gas for UOs" - title: "gas-limit" - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "contract-access" - data: - type: "object" - required: - - "address" - properties: - address: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "grants access to all functions in a contract" - title: "contract-access" - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "account-functions" - data: - type: "object" - required: - - "functions" - properties: - functions: - type: "array" - items: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - minItems: 1 - description: "grants access to functions in the account" - title: "account-functions" - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "functions-on-all-contracts" - data: - type: "object" - required: - - "functions" - properties: - functions: - type: "array" - items: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - minItems: 1 - description: "access to a function selector in any address or contract" - title: "functions-on-all-contracts" - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "functions-on-contract" - data: - type: "object" - required: - - "address" - - "functions" - properties: - address: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - functions: - type: "array" - items: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - minItems: 1 - description: "grants access to specified functions on a specific contract" - title: "functions-on-contract" - - type: "object" - required: - - "type" - properties: - type: - type: "string" - enum: - - "root" - description: "grants full access to everything" - title: "root" - minItems: 1 - - type: "object" - required: - - "account" - properties: - account: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - - result: - name: createSessionResponse - schema: - type: "object" - required: - - "sessionId" - - "chainId" - - "signatureRequest" - properties: - sessionId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - signatureRequest: - type: "object" - required: - - "type" - - "data" - - "rawPayload" - properties: - type: - type: "string" - enum: - - "eth_signTypedData_v4" - data: - type: "object" - required: - - "types" - - "primaryType" - - "message" - properties: - domain: - type: "object" - properties: - chainId: - type: "integer" - minimum: 1 - maximum: 9007199254740991 - name: - type: "string" - salt: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verifyingContract: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - version: - type: "string" - types: - type: "object" - additionalProperties: - type: "array" - items: - type: "object" - required: - - "name" - - "type" - properties: - type: - type: "string" - name: - type: "string" - propertyNames: - type: "string" - description: "Mapping from type name to array of field definitions" - primaryType: - type: "string" - message: - type: "object" - additionalProperties: {} - propertyNames: - type: "string" - description: "Mapping from field name to value" - rawPayload: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - description: "Typed data" - - examples: - - name: "wallet_createSession example" - params: - - name: "param0" - value: - account: "0xafdABa1E09e82F780721963eba39bA9e6d9FE4d2" - chainId: "0x01" - key: - publicKey: "0x647bbf38CD0E116d1672405aE17a775572a84e03" - type: "secp256k1" - permissions: - - type: "root" - expirySec: 1747969653 - result: - name: "Response" - value: - sessionId: "0xcd8b2d07a6fa76f1e8a5eaa8f3a7883c" - chainId: "0x1" - signatureRequest: - type: "eth_signTypedData_v4" - data: - domain: - chainId: 1 - verifyingContract: "0xafdABa1E09e82F780721963eba39bA9e6d9FE4d2" - types: - DeferredAction: - - name: "nonce" - type: "uint256" - - name: "deadline" - type: "uint48" - - name: "call" - type: "bytes" - primaryType: "DeferredAction" - message: - nonce: "0x1030000000000000000" - deadline: 1747969653 - call: "0x1bbf564c00000000000099DE0BF6fA90dEB851E2A2df7d83000000010500000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000647bbf38cd0e116d1672405ae17a775572a84e0300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000007900000000000082B8e2012be914dFA4f62A0573eA0000000101000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000682fe675000000000000000000000000000000000000000000000000000000000000000000000000000000" - rawPayload: "0x2a8073568c8fad3edf15f70c3471a7fff18e1d57c650a501ab47f57a5c1f0e39" - - - name: wallet_formatSign - description: This method is used to format ECDSA signatures - x-compute-units: 15 - params: - - name: params[0] - required: true - schema: - type: "object" - required: - - "from" - - "chainId" - - "signature" - properties: - from: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - signature: - oneOf: - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "secp256k1" - data: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "Secp256k1 signature" - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "ecdsa" - data: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "ECDSA signature (alias for secp256k1)" - capabilities: - type: "object" - required: - - "permissions" - properties: - permissions: - anyOf: - - type: "object" - required: - - "context" - properties: - context: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Permissions context" - - type: "object" - required: - - "sessionId" - - "signature" - properties: - sessionId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - signature: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Remote permission" - - result: - name: formatSignResponse - schema: - type: "object" - required: - - "signature" - properties: - signature: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - examples: - - name: "wallet_formatSign example" - params: - - name: "param0" - value: - from: "0xa363219d7C0b8673df17529D469Db9eFF0f35D2A" - chainId: "0x01" - signature: - type: "ecdsa" - data: "0xb1a055089b1ba8387ed435f2bd0afe7ff69f22b928cdfdea1b5323c64d6af387164de3fa6febf031b544de46a84d6fb7f084b9798ddfaba820950c257139a7321b" - result: - name: "Response" - value: - signature: "0xb1a055089b1ba8387ed435f2bd0afe7ff69f22b928cdfdea1b5323c64d6af387164de3fa6febf031b544de46a84d6fb7f084b9798ddfaba820950c257139a7321b" - - - name: wallet_getCallsStatus - description: This method is used to get the status of calls IDs returned from wallet_sendPreparedCalls. - x-compute-units: 20 - params: - - name: callId - required: true - schema: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The call ID returned from wallet_sendPreparedCalls" - title: "callId" - - result: - name: getCallsStatusResponse - schema: - anyOf: - - type: "object" - required: - - "id" - - "chainId" - - "atomic" - - "status" - - "details" - properties: - id: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - atomic: - type: "boolean" - status: - anyOf: - - type: "number" - description: "Batch has been received by the wallet but has not completed execution onchain" - title: "Pending" - enum: - - 100 - - type: "number" - description: "Batch has been preconfirmed onchain" - title: "Preconfirmed" - enum: - - 110 - - type: "number" - description: "Batch reverted *completely* in a preconfirmation and only changes related to gas charge may have been included onchain" - title: "Preconfirmed Onchain Failure" - enum: - - 115 - - type: "number" - description: "Batch reverted *partially* in a preconfirmation and some changes related to batch calls may have been included onchain" - title: "Preconfirmed Partial Onchain Failure" - enum: - - 116 - - type: "number" - description: "Origin confirmed, destination pending" - title: "Cross-Chain In Progress" - enum: - - 120 - - type: "number" - description: "Batch has been included onchain without reverts, receipts array contains info of all calls" - title: "Confirmed" - enum: - - 200 - - type: "number" - description: "Batch has not been included onchain and wallet will not retry" - title: "Offchain Failure" - enum: - - 400 - - type: "number" - description: "Cross-chain operation failed and was refunded" - title: "Cross-Chain Refunded" - enum: - - 410 - - type: "number" - description: "Batch reverted *completely* and only changes related to gas charge may have been included onchain" - title: "Onchain Failure" - enum: - - 500 - - type: "number" - description: "Batch reverted *partially* and some changes related to batch calls may have been included onchain" - title: "Partial Onchain Failure" - enum: - - 600 - receipts: - type: "array" - items: - type: "object" - required: - - "logs" - - "status" - - "blockHash" - - "blockNumber" - - "gasUsed" - - "transactionHash" - properties: - logs: - type: "array" - items: - type: "object" - required: - - "address" - - "data" - - "topics" - properties: - address: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - data: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - topics: - type: "array" - items: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - status: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "0x1 for success, 0x0 for failure" - blockHash: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - blockNumber: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - gasUsed: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - transactionHash: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - details: - oneOf: - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "user-operation" - data: - allOf: - - type: "object" - required: - - "hash" - properties: - hash: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - calls: - type: "array" - items: - type: "object" - required: - - "to" - properties: - to: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - data: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - properties: - pendingBundle: - type: "object" - required: - - "txHash" - - "sentAtBlock" - properties: - txHash: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - sentAtBlock: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - required: - - "type" - properties: - type: - type: "string" - enum: - - "delegation" - txHash: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "EVM response" - - type: "object" - required: - - "id" - - "chainId" - - "atomic" - - "status" - properties: - id: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - chainId: - anyOf: - - anyOf: - - type: "string" - enum: - - "solana:mainnet" - - type: "string" - enum: - - "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp" - description: "Solana Mainnet" - - anyOf: - - type: "string" - enum: - - "solana:devnet" - - type: "string" - enum: - - "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1" - description: "Solana Devnet" - description: "Solana chain identifier" - atomic: - type: "boolean" - status: - anyOf: - - type: "number" - description: "Batch has been received by the wallet but has not completed execution onchain" - title: "Pending" - enum: - - 100 - - type: "number" - description: "Batch has been preconfirmed onchain" - title: "Preconfirmed" - enum: - - 110 - - type: "number" - description: "Batch reverted *completely* in a preconfirmation and only changes related to gas charge may have been included onchain" - title: "Preconfirmed Onchain Failure" - enum: - - 115 - - type: "number" - description: "Batch reverted *partially* in a preconfirmation and some changes related to batch calls may have been included onchain" - title: "Preconfirmed Partial Onchain Failure" - enum: - - 116 - - type: "number" - description: "Origin confirmed, destination pending" - title: "Cross-Chain In Progress" - enum: - - 120 - - type: "number" - description: "Batch has been included onchain without reverts, receipts array contains info of all calls" - title: "Confirmed" - enum: - - 200 - - type: "number" - description: "Batch has not been included onchain and wallet will not retry" - title: "Offchain Failure" - enum: - - 400 - - type: "number" - description: "Cross-chain operation failed and was refunded" - title: "Cross-Chain Refunded" - enum: - - 410 - - type: "number" - description: "Batch reverted *completely* and only changes related to gas charge may have been included onchain" - title: "Onchain Failure" - enum: - - 500 - - type: "number" - description: "Batch reverted *partially* and some changes related to batch calls may have been included onchain" - title: "Partial Onchain Failure" - enum: - - 600 - commitment: - anyOf: - - type: "string" - enum: - - "processed" - - type: "string" - enum: - - "confirmed" - - type: "string" - enum: - - "finalized" - description: "Solana commitment level: processed, confirmed, or finalized." - receipts: - type: "array" - items: - type: "object" - required: - - "signature" - - "slot" - properties: - signature: - type: "string" - pattern: "^[1-9A-HJ-NP-Za-km-z]+$" - description: "Base58 transaction signature" - blockTime: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Unix timestamp" - slot: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Slot number" - description: "Solana transaction receipt" - description: "Solana response" - - examples: - - name: "wallet_getCallsStatus example" - params: - - name: "param0" - value: "0x0000000000000000000000000000000000000000000000000000000000066eee1057eff9529142aa3b74adcaacfce5b99a09d80c9f2e38e35ea1f27535e61477" - result: - name: "Response" - value: - id: "0x0000000000000000000000000000000000000000000000000000000000066eee1057eff9529142aa3b74adcaacfce5b99a09d80c9f2e38e35ea1f27535e61477" - chainId: "0x66eee" - atomic: true - status: 200 - details: - type: "user-operation" - data: - hash: "0x1057eff9529142aa3b74adcaacfce5b99a09d80c9f2e38e35ea1f27535e61477" - calls: - - to: "0x1234567890123456789012345678901234567890" - data: "0x" - receipts: - - status: "0x1" - blockHash: "0x7c6f2f548c0ad4434dfb64f49a810bc795dadcd4cbec948bf8d4ae81a10fed5e" - blockNumber: "0x8ba5f79" - gasUsed: "0x33c65" - transactionHash: "0x8ec28074a461102e4dbe43cb4aa9fed3e8c1274f1f1b0d5f6a0919ce7e20f517" - logs: - - address: "0x00000000000017c61b5bee81050ec8efc9c6fecd" - data: "0x0000000000000000000000000000000000000000000000000000000000000000" - topics: - - "0xd32049610f0cd3babd266cf338d726cc8c34c8ff97356c0f33c13fa59962ac92" - - "0x000000000000000000000000f13223cca0ae9786dd91dffe1f4e834c71ccdc2d" - - "0x0000000000000000000000003f3503e682bf27330f9e5065043d47207e609e7d" - - address: "0x0000000071727de22e5e9d8baf0edac6f37da032" - data: "0x00000000000000000000000000000000000017c61b5bee81050ec8efc9c6fecd0000000000000000000000002cc0c7981d846b9f2a16276556f6e8cb52bfb633" - topics: - - "0xd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d" - - "0x1057eff9529142aa3b74adcaacfce5b99a09d80c9f2e38e35ea1f27535e61477" - - "0x000000000000000000000000f13223cca0ae9786dd91dffe1f4e834c71ccdc2d" - - address: "0x0000000071727de22e5e9d8baf0edac6f37da032" - data: "0x" - topics: - - "0xbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f972" - - address: "0x0000000071727de22e5e9d8baf0edac6f37da032" - data: "0x00000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000014ba6c2cd4f0000000000000000000000000000000000000000000000000000000000003451d" - topics: - - "0x49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f" - - "0x1057eff9529142aa3b74adcaacfce5b99a09d80c9f2e38e35ea1f27535e61477" - - "0x000000000000000000000000f13223cca0ae9786dd91dffe1f4e834c71ccdc2d" - - "0x0000000000000000000000002cc0c7981d846b9f2a16276556f6e8cb52bfb633" - - - name: wallet_getCapabilities - description: This method is used to request capabilities from a wallet - x-compute-units: 10 - params: - - name: Wallet Address - required: true - schema: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - title: "Wallet Address" - - - name: Chain IDs - required: false - schema: - type: "array" - items: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - title: "Chain IDs" - - result: - name: getCapabilitiesResponse - schema: - type: "object" - additionalProperties: - type: "object" - additionalProperties: - description: "Mapping from capability name to data" - propertyNames: - type: "string" - description: "Mapping from capability name to data" - propertyNames: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Mapping from chain ID (hex) to capabilities" - - examples: - - name: "wallet_getCapabilities example" - params: - - name: "param0" - value: "0xd46e8dd67c5d32be8058bb8eb970870f07244567" - - name: "param1" - value: - - "0x2105" - - "0x14A34" - result: - name: "Response" - value: - 0x0: - atomic: - status: "supported" - paymasterService: - supported: true - eip7702Auth: - supported: true - - - name: wallet_getCrossChainStatus_v0 - description: This method is used to get the status of a transaction (same-chain or cross-chain). - x-compute-units: 40 - params: - - name: callId - required: true - schema: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The call ID returned from wallet_sendPreparedCalls" - title: "callId" - - result: - name: getCrossChainStatusResponse - schema: - oneOf: - - type: "object" - required: - - "type" - - "id" - - "status" - properties: - type: - type: "string" - enum: - - "same-chain" - id: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - status: - anyOf: - - type: "number" - description: "Batch has been received by the wallet but has not completed execution onchain" - title: "Pending" - enum: - - 100 - - type: "number" - description: "Batch has been preconfirmed onchain" - title: "Preconfirmed" - enum: - - 110 - - type: "number" - description: "Batch reverted *completely* in a preconfirmation and only changes related to gas charge may have been included onchain" - title: "Preconfirmed Onchain Failure" - enum: - - 115 - - type: "number" - description: "Batch reverted *partially* in a preconfirmation and some changes related to batch calls may have been included onchain" - title: "Preconfirmed Partial Onchain Failure" - enum: - - 116 - - type: "number" - description: "Origin confirmed, destination pending" - title: "Cross-Chain In Progress" - enum: - - 120 - - type: "number" - description: "Batch has been included onchain without reverts, receipts array contains info of all calls" - title: "Confirmed" - enum: - - 200 - - type: "number" - description: "Batch has not been included onchain and wallet will not retry" - title: "Offchain Failure" - enum: - - 400 - - type: "number" - description: "Cross-chain operation failed and was refunded" - title: "Cross-Chain Refunded" - enum: - - 410 - - type: "number" - description: "Batch reverted *completely* and only changes related to gas charge may have been included onchain" - title: "Onchain Failure" - enum: - - 500 - - type: "number" - description: "Batch reverted *partially* and some changes related to batch calls may have been included onchain" - title: "Partial Onchain Failure" - enum: - - 600 - originTransaction: - type: "object" - required: - - "chainId" - - "status" - properties: - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - status: - anyOf: - - type: "number" - description: "Batch has been received by the wallet but has not completed execution onchain" - title: "Pending" - enum: - - 100 - - type: "number" - description: "Batch has been preconfirmed onchain" - title: "Preconfirmed" - enum: - - 110 - - type: "number" - description: "Batch reverted *completely* in a preconfirmation and only changes related to gas charge may have been included onchain" - title: "Preconfirmed Onchain Failure" - enum: - - 115 - - type: "number" - description: "Batch reverted *partially* in a preconfirmation and some changes related to batch calls may have been included onchain" - title: "Preconfirmed Partial Onchain Failure" - enum: - - 116 - - type: "number" - description: "Origin confirmed, destination pending" - title: "Cross-Chain In Progress" - enum: - - 120 - - type: "number" - description: "Batch has been included onchain without reverts, receipts array contains info of all calls" - title: "Confirmed" - enum: - - 200 - - type: "number" - description: "Batch has not been included onchain and wallet will not retry" - title: "Offchain Failure" - enum: - - 400 - - type: "number" - description: "Cross-chain operation failed and was refunded" - title: "Cross-Chain Refunded" - enum: - - 410 - - type: "number" - description: "Batch reverted *completely* and only changes related to gas charge may have been included onchain" - title: "Onchain Failure" - enum: - - 500 - - type: "number" - description: "Batch reverted *partially* and some changes related to batch calls may have been included onchain" - title: "Partial Onchain Failure" - enum: - - 600 - receipt: - type: "object" - required: - - "logs" - - "status" - - "blockHash" - - "blockNumber" - - "gasUsed" - - "transactionHash" - properties: - logs: - type: "array" - items: - type: "object" - required: - - "address" - - "data" - - "topics" - properties: - address: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - data: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - topics: - type: "array" - items: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - status: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "0x1 for success, 0x0 for failure" - blockHash: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - blockNumber: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - gasUsed: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - transactionHash: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - required: - - "type" - - "id" - - "status" - properties: - type: - type: "string" - enum: - - "cross-chain" - id: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - status: - anyOf: - - type: "number" - description: "Batch has been received by the wallet but has not completed execution onchain" - title: "Pending" - enum: - - 100 - - type: "number" - description: "Batch has been preconfirmed onchain" - title: "Preconfirmed" - enum: - - 110 - - type: "number" - description: "Batch reverted *completely* in a preconfirmation and only changes related to gas charge may have been included onchain" - title: "Preconfirmed Onchain Failure" - enum: - - 115 - - type: "number" - description: "Batch reverted *partially* in a preconfirmation and some changes related to batch calls may have been included onchain" - title: "Preconfirmed Partial Onchain Failure" - enum: - - 116 - - type: "number" - description: "Origin confirmed, destination pending" - title: "Cross-Chain In Progress" - enum: - - 120 - - type: "number" - description: "Batch has been included onchain without reverts, receipts array contains info of all calls" - title: "Confirmed" - enum: - - 200 - - type: "number" - description: "Batch has not been included onchain and wallet will not retry" - title: "Offchain Failure" - enum: - - 400 - - type: "number" - description: "Cross-chain operation failed and was refunded" - title: "Cross-Chain Refunded" - enum: - - 410 - - type: "number" - description: "Batch reverted *completely* and only changes related to gas charge may have been included onchain" - title: "Onchain Failure" - enum: - - 500 - - type: "number" - description: "Batch reverted *partially* and some changes related to batch calls may have been included onchain" - title: "Partial Onchain Failure" - enum: - - 600 - originTransaction: - type: "object" - required: - - "chainId" - - "status" - properties: - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - status: - anyOf: - - type: "number" - description: "Batch has been received by the wallet but has not completed execution onchain" - title: "Pending" - enum: - - 100 - - type: "number" - description: "Batch has been preconfirmed onchain" - title: "Preconfirmed" - enum: - - 110 - - type: "number" - description: "Batch reverted *completely* in a preconfirmation and only changes related to gas charge may have been included onchain" - title: "Preconfirmed Onchain Failure" - enum: - - 115 - - type: "number" - description: "Batch reverted *partially* in a preconfirmation and some changes related to batch calls may have been included onchain" - title: "Preconfirmed Partial Onchain Failure" - enum: - - 116 - - type: "number" - description: "Origin confirmed, destination pending" - title: "Cross-Chain In Progress" - enum: - - 120 - - type: "number" - description: "Batch has been included onchain without reverts, receipts array contains info of all calls" - title: "Confirmed" - enum: - - 200 - - type: "number" - description: "Batch has not been included onchain and wallet will not retry" - title: "Offchain Failure" - enum: - - 400 - - type: "number" - description: "Cross-chain operation failed and was refunded" - title: "Cross-Chain Refunded" - enum: - - 410 - - type: "number" - description: "Batch reverted *completely* and only changes related to gas charge may have been included onchain" - title: "Onchain Failure" - enum: - - 500 - - type: "number" - description: "Batch reverted *partially* and some changes related to batch calls may have been included onchain" - title: "Partial Onchain Failure" - enum: - - 600 - receipt: - type: "object" - required: - - "logs" - - "status" - - "blockHash" - - "blockNumber" - - "gasUsed" - - "transactionHash" - properties: - logs: - type: "array" - items: - type: "object" - required: - - "address" - - "data" - - "topics" - properties: - address: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - data: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - topics: - type: "array" - items: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - status: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "0x1 for success, 0x0 for failure" - blockHash: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - blockNumber: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - gasUsed: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - transactionHash: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - destinationTransaction: - type: "object" - required: - - "chainId" - - "status" - properties: - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - status: - anyOf: - - type: "number" - description: "Batch has been received by the wallet but has not completed execution onchain" - title: "Pending" - enum: - - 100 - - type: "number" - description: "Batch has been preconfirmed onchain" - title: "Preconfirmed" - enum: - - 110 - - type: "number" - description: "Batch reverted *completely* in a preconfirmation and only changes related to gas charge may have been included onchain" - title: "Preconfirmed Onchain Failure" - enum: - - 115 - - type: "number" - description: "Batch reverted *partially* in a preconfirmation and some changes related to batch calls may have been included onchain" - title: "Preconfirmed Partial Onchain Failure" - enum: - - 116 - - type: "number" - description: "Origin confirmed, destination pending" - title: "Cross-Chain In Progress" - enum: - - 120 - - type: "number" - description: "Batch has been included onchain without reverts, receipts array contains info of all calls" - title: "Confirmed" - enum: - - 200 - - type: "number" - description: "Batch has not been included onchain and wallet will not retry" - title: "Offchain Failure" - enum: - - 400 - - type: "number" - description: "Cross-chain operation failed and was refunded" - title: "Cross-Chain Refunded" - enum: - - 410 - - type: "number" - description: "Batch reverted *completely* and only changes related to gas charge may have been included onchain" - title: "Onchain Failure" - enum: - - 500 - - type: "number" - description: "Batch reverted *partially* and some changes related to batch calls may have been included onchain" - title: "Partial Onchain Failure" - enum: - - 600 - receipt: - type: "object" - required: - - "logs" - - "status" - - "blockHash" - - "blockNumber" - - "gasUsed" - - "transactionHash" - properties: - logs: - type: "array" - items: - type: "object" - required: - - "address" - - "data" - - "topics" - properties: - address: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - data: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - topics: - type: "array" - items: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - status: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "0x1 for success, 0x0 for failure" - blockHash: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - blockNumber: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - gasUsed: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - transactionHash: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - examples: - - name: "wallet_getCrossChainStatus_v0 example" - params: - - name: "param0" - value: "0x010100066d00682d7e7c9fa6f71c28c31141a11ac9eb2bdbe898ddbd42a4f7085f8bb3380ba75dd9231a386e24fe5a84777217c907391e983b5b0f78a4a9d0fd1c8631dd22c00000000000000000000000000000000000000000000000000000000000a4b1000000000000000000000000000000000000000000000000000000000000000102a8073568c8fad3edf15f70c3471a7fff18e1d57c650a501ab47f57a5c1f0e39" - result: - name: "Response" - value: - type: "cross-chain" - id: "0x010100066d00682d7e7c9fa6f71c28c31141a11ac9eb2bdbe898ddbd42a4f7085f8bb3380ba75dd9231a386e24fe5a84777217c907391e983b5b0f78a4a9d0fd1c8631dd22c00000000000000000000000000000000000000000000000000000000000a4b1000000000000000000000000000000000000000000000000000000000000000102a8073568c8fad3edf15f70c3471a7fff18e1d57c650a501ab47f57a5c1f0e39" - status: 120 - originTransaction: - chainId: "0xa4b1" - status: 200 - receipt: - status: "0x1" - blockHash: "0x7c6f2f548c0ad4434dfb64f49a810bc795dadcd4cbec948bf8d4ae81a10fed5e" - blockNumber: "0x8ba5f79" - gasUsed: "0x33c65" - transactionHash: "0x8ec28074a461102e4dbe43cb4aa9fed3e8c1274f1f1b0d5f6a0919ce7e20f517" - logs: [] - destinationTransaction: - chainId: "0x1" - status: 100 - - - name: wallet_listAccounts - description: This method is used to list all smart accounts for a given signer. - x-compute-units: 10 - params: - - name: params[0] - required: true - schema: - type: "object" - required: - - "signerAddress" - properties: - signerAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - limit: - type: "number" - minimum: 1 - maximum: 100 - default: 100 - after: - type: "string" - pattern: "^[A-Za-z0-9_-]*$" - format: "base64url" - contentEncoding: "base64url" - - result: - name: listAccountsResponse - schema: - type: "object" - required: - - "accounts" - - "meta" - properties: - accounts: - type: "array" - items: - type: "object" - required: - - "accountAddress" - - "id" - properties: - accountAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - id: - type: "string" - pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$" - format: "uuid" - meta: - type: "object" - required: - - "totalCount" - - "after" - properties: - totalCount: - type: "integer" - minimum: -9007199254740991 - maximum: 9007199254740991 - after: - anyOf: - - type: "string" - pattern: "^[A-Za-z0-9_-]*$" - format: "base64url" - contentEncoding: "base64url" - - type: "null" - - examples: - - name: "wallet_listAccounts example" - params: - - name: "param0" - value: - signerAddress: "0x6275B53E98D07c729108A177207634eA22F5A748" - result: - name: "Response" - value: - accounts: - - accountAddress: "0xafdABa1E09e82F780721963eba39bA9e6d9FE4d2" - id: "3d8b3315-4aa1-4c67-8c82-20221e8dbf16" - meta: - totalCount: 1 - after: null - - - name: wallet_prepareSign - description: This method is used to translate raw data into a signature request - x-compute-units: 15 - params: - - name: params[0] - required: true - schema: - type: "object" - required: - - "from" - - "chainId" - - "signatureRequest" - properties: - from: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - signatureRequest: - oneOf: - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "personal_sign" - data: - anyOf: - - type: "string" - minLength: 1 - description: "Message" - - type: "object" - required: - - "raw" - properties: - raw: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw message" - description: "SignableMessage for personal_sign" - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "eth_signTypedData_v4" - data: - type: "object" - required: - - "types" - - "primaryType" - - "message" - properties: - domain: - type: "object" - properties: - chainId: - type: "integer" - minimum: 1 - maximum: 9007199254740991 - name: - type: "string" - salt: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verifyingContract: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - version: - type: "string" - types: - type: "object" - additionalProperties: - type: "array" - items: - type: "object" - required: - - "name" - - "type" - properties: - type: - type: "string" - name: - type: "string" - propertyNames: - type: "string" - description: "Mapping from type name to array of field definitions" - primaryType: - type: "string" - message: - type: "object" - additionalProperties: {} - propertyNames: - type: "string" - description: "Mapping from field name to value" - description: "TypedDataDefinition for eth_signTypedData_v4" - capabilities: - type: "object" - required: - - "permissions" - properties: - permissions: - anyOf: - - type: "object" - required: - - "context" - properties: - context: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Permissions context" - - type: "object" - required: - - "sessionId" - - "signature" - properties: - sessionId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - signature: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Remote permission" - - result: - name: prepareSignResponse - schema: - type: "object" - required: - - "chainId" - - "signatureRequest" - properties: - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - signatureRequest: - oneOf: - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "personal_sign" - data: - anyOf: - - type: "string" - minLength: 1 - description: "Message" - - type: "object" - required: - - "raw" - properties: - raw: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw message" - description: "SignableMessage for personal_sign" - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "eth_signTypedData_v4" - data: - type: "object" - required: - - "types" - - "primaryType" - - "message" - properties: - domain: - type: "object" - properties: - chainId: - type: "integer" - minimum: 1 - maximum: 9007199254740991 - name: - type: "string" - salt: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verifyingContract: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - version: - type: "string" - types: - type: "object" - additionalProperties: - type: "array" - items: - type: "object" - required: - - "name" - - "type" - properties: - type: - type: "string" - name: - type: "string" - propertyNames: - type: "string" - description: "Mapping from type name to array of field definitions" - primaryType: - type: "string" - message: - type: "object" - additionalProperties: {} - propertyNames: - type: "string" - description: "Mapping from field name to value" - description: "TypedDataDefinition for eth_signTypedData_v4" - - examples: - - name: "wallet_prepareSign example" - params: - - name: "param0" - value: - from: "0xa363219d7C0b8673df17529D469Db9eFF0f35D2A" - chainId: "0x01" - signatureRequest: - type: "personal_sign" - data: - raw: "0x48656c6c6f20576f726c6421" - result: - name: "Response" - value: - chainId: "0x66eee" - signatureRequest: - type: "eth_signTypedData_v4" - data: - domain: - chainId: 421614 - verifyingContract: "0xafdABa1E09e82F780721963eba39bA9e6d9FE4d2" - types: - ReplaySafeHash: - - name: "hash" - type: "bytes32" - primaryType: "ReplaySafeHash" - message: - hash: "0xec3608877ecbf8084c29896b7eab2a368b2b3c8d003288584d145613dfa4706c" - - - name: wallet_requestQuote_v0 - description: This method is used to request swap quotes - x-compute-units: 800 - x-rate-limit-cus: 50 - params: - - name: params[0] - required: true - schema: - anyOf: - - anyOf: - - anyOf: - - allOf: - - type: "object" - required: - - "from" - - "chainId" - - "fromToken" - - "toToken" - properties: - from: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - fromToken: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - toToken: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - slippage: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - properties: - postCalls: - type: "array" - items: - type: "object" - required: - - "to" - properties: - to: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - data: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - properties: - returnRawCalls: - type: "boolean" - description: "Must be 'false' or undefined" - capabilities: - type: "object" - properties: - permissions: - anyOf: - - type: "object" - required: - - "context" - properties: - context: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Permissions context" - - type: "object" - required: - - "sessionId" - - "signature" - properties: - sessionId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - signature: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Remote permission" - paymasterService: - allOf: - - anyOf: - - type: "object" - required: - - "policyId" - properties: - policyId: - type: "string" - pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$" - format: "uuid" - description: "The policy ID to use" - description: "Single policy ID" - - type: "object" - required: - - "policyIds" - properties: - policyIds: - type: "array" - items: - type: "string" - pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$" - format: "uuid" - description: "The policy IDs to use" - description: "Multiple policy IDs" - - type: "object" - properties: - onlyEstimation: - type: "boolean" - description: "If true, will only estimate fees. Skips signature request and gas sponsorship" - erc20: - anyOf: - - type: "object" - required: - - "tokenAddress" - - "preOpSettings" - properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - preOpSettings: - type: "object" - required: - - "autoPermit" - properties: - autoPermit: - type: "object" - required: - - "below" - - "amount" - properties: - below: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount below which a Permit signature will be injected" - amount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount of tokens to Permit to the paymaster for gas payment" - durationSeconds: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The duration of the Permit signature in seconds" - description: "Settings for automatically injecting a Permit signature for ERC20 gas payment" - description: "ERC20 Paymaster Settings for pre-op policies (autoPermit)" - additionalProperties: false - description: "ERC20 Paymaster Settings with preOpSettings (autoPermit)" - - type: "object" - required: - - "tokenAddress" - - "preOpSettings" - properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - preOpSettings: - type: "object" - required: - - "permitDetails" - properties: - permitDetails: - type: "object" - required: - - "deadline" - - "value" - properties: - deadline: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The deadline in the signed Permit object" - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The value in the signed Permit object" - description: "Details of the returned Permit signature" - description: "ERC20 Paymaster Settings for pre-op policies (permitDetails)" - additionalProperties: false - description: "ERC20 Paymaster Settings with preOpSettings (permitDetails)" - - type: "object" - required: - - "tokenAddress" - - "postOpSettings" - properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - postOpSettings: - type: "object" - properties: - autoApprove: - anyOf: - - type: "boolean" - description: "Automatically inject approval for the exact amount needed for this operation" - - type: "object" - required: - - "below" - - "amount" - properties: - below: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount below which an approval will be injected" - amount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount of tokens to approve to the paymaster for gas payment" - description: "Settings for automatically injecting an approval for ERC20 gas payment with specific thresholds" - balanceCheck: - type: "boolean" - description: "By default, the sender's ERC-20 balance is checked at prepare time and the request is rejected if it can't cover the maximum gas cost. Set to false when the User Operation itself credits the sender enough tokens to cover gas. If the sender's balance is still insufficient when the paymaster attempts to pull payment, the User Operation will fail on-chain." - description: "ERC20 Paymaster Settings for post-op policies" - additionalProperties: false - description: "ERC20 Paymaster Settings with postOpSettings" - - type: "object" - required: - - "tokenAddress" - properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - additionalProperties: false - description: "No auto approval (requires manual ERC20 approvals to paymaster contract)" - errorMessage: "ERC20 settings must specify only one of: preOpSettings, postOpSettings, or neither (for manual approvals). Cannot specify both preOpSettings and postOpSettings" - description: "ERC20 Paymaster Settings" - webhookData: - type: "string" - description: "Additional data you can include in the request, such as proof of humanity, if you have enabled custom rules in your Gas Manager policy." - gasParamsOverride: - type: "object" - properties: - preVerificationGas: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - verificationGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - callGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - paymasterVerificationGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - paymasterPostOpGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - maxFeePerGas: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - maxPriorityFeePerGas: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - eip7702Auth: - anyOf: - - type: "object" - required: - - "delegation" - properties: - account: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - delegation: - anyOf: - - type: "string" - enum: - - "ModularAccountV2" - - type: "string" - enum: - - "0x69007702764179f14F51cdce752f4f775d74E139" - - "0x0000000000000000000000000000000000000000" - description: "Specify EIP-7702 delegation" - - type: "boolean" - description: "Use default EIP-7702 delegation (Note: EIP-7702 is enabled by default unless you first call `wallet_requestAccount` to get a smart contract address.)" - nonceOverride: - type: "object" - required: - - "nonceKey" - properties: - nonceKey: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Override nonce key as hex string" - stateOverride: - type: "object" - additionalProperties: - anyOf: - - type: "object" - required: - - "state" - properties: - balance: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - code: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - state: - type: "object" - additionalProperties: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - propertyNames: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Mapping from storage slot (hex) to value (hex)" - additionalProperties: false - description: "Full account state" - - type: "object" - required: - - "stateDiff" - properties: - balance: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - code: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - stateDiff: - type: "object" - additionalProperties: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - propertyNames: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Mapping from storage slot (hex) to value (hex)" - additionalProperties: false - description: "Account state diff" - - type: "object" - properties: - balance: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - code: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - additionalProperties: false - description: "Account override without state changes" - propertyNames: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "Mapping from account address to overrides" - experimental_dataSuffix: - type: "object" - required: - - "value" - properties: - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "ERC-8021 transaction attribution data suffix. The wallet appends these bytes to calldata to enable interoperable attribution tracking." - - type: "object" - required: - - "fromAmount" - properties: - fromAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Specify exact 'from' amount" - - allOf: - - type: "object" - required: - - "from" - - "chainId" - - "fromToken" - - "toToken" - properties: - from: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - fromToken: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - toToken: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - slippage: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - properties: - postCalls: - type: "array" - items: - type: "object" - required: - - "to" - properties: - to: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - data: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - properties: - returnRawCalls: - type: "boolean" - description: "Must be 'false' or undefined" - capabilities: - type: "object" - properties: - permissions: - anyOf: - - type: "object" - required: - - "context" - properties: - context: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Permissions context" - - type: "object" - required: - - "sessionId" - - "signature" - properties: - sessionId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - signature: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Remote permission" - paymasterService: - allOf: - - anyOf: - - type: "object" - required: - - "policyId" - properties: - policyId: - type: "string" - pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$" - format: "uuid" - description: "The policy ID to use" - description: "Single policy ID" - - type: "object" - required: - - "policyIds" - properties: - policyIds: - type: "array" - items: - type: "string" - pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$" - format: "uuid" - description: "The policy IDs to use" - description: "Multiple policy IDs" - - type: "object" - properties: - onlyEstimation: - type: "boolean" - description: "If true, will only estimate fees. Skips signature request and gas sponsorship" - erc20: - anyOf: - - type: "object" - required: - - "tokenAddress" - - "preOpSettings" - properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - preOpSettings: - type: "object" - required: - - "autoPermit" - properties: - autoPermit: - type: "object" - required: - - "below" - - "amount" - properties: - below: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount below which a Permit signature will be injected" - amount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount of tokens to Permit to the paymaster for gas payment" - durationSeconds: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The duration of the Permit signature in seconds" - description: "Settings for automatically injecting a Permit signature for ERC20 gas payment" - description: "ERC20 Paymaster Settings for pre-op policies (autoPermit)" - additionalProperties: false - description: "ERC20 Paymaster Settings with preOpSettings (autoPermit)" - - type: "object" - required: - - "tokenAddress" - - "preOpSettings" - properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - preOpSettings: - type: "object" - required: - - "permitDetails" - properties: - permitDetails: - type: "object" - required: - - "deadline" - - "value" - properties: - deadline: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The deadline in the signed Permit object" - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The value in the signed Permit object" - description: "Details of the returned Permit signature" - description: "ERC20 Paymaster Settings for pre-op policies (permitDetails)" - additionalProperties: false - description: "ERC20 Paymaster Settings with preOpSettings (permitDetails)" - - type: "object" - required: - - "tokenAddress" - - "postOpSettings" - properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - postOpSettings: - type: "object" - properties: - autoApprove: - anyOf: - - type: "boolean" - description: "Automatically inject approval for the exact amount needed for this operation" - - type: "object" - required: - - "below" - - "amount" - properties: - below: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount below which an approval will be injected" - amount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount of tokens to approve to the paymaster for gas payment" - description: "Settings for automatically injecting an approval for ERC20 gas payment with specific thresholds" - balanceCheck: - type: "boolean" - description: "By default, the sender's ERC-20 balance is checked at prepare time and the request is rejected if it can't cover the maximum gas cost. Set to false when the User Operation itself credits the sender enough tokens to cover gas. If the sender's balance is still insufficient when the paymaster attempts to pull payment, the User Operation will fail on-chain." - description: "ERC20 Paymaster Settings for post-op policies" - additionalProperties: false - description: "ERC20 Paymaster Settings with postOpSettings" - - type: "object" - required: - - "tokenAddress" - properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - additionalProperties: false - description: "No auto approval (requires manual ERC20 approvals to paymaster contract)" - errorMessage: "ERC20 settings must specify only one of: preOpSettings, postOpSettings, or neither (for manual approvals). Cannot specify both preOpSettings and postOpSettings" - description: "ERC20 Paymaster Settings" - webhookData: - type: "string" - description: "Additional data you can include in the request, such as proof of humanity, if you have enabled custom rules in your Gas Manager policy." - gasParamsOverride: - type: "object" - properties: - preVerificationGas: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - verificationGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - callGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - paymasterVerificationGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - paymasterPostOpGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - maxFeePerGas: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - maxPriorityFeePerGas: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - eip7702Auth: - anyOf: - - type: "object" - required: - - "delegation" - properties: - account: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - delegation: - anyOf: - - type: "string" - enum: - - "ModularAccountV2" - - type: "string" - enum: - - "0x69007702764179f14F51cdce752f4f775d74E139" - - "0x0000000000000000000000000000000000000000" - description: "Specify EIP-7702 delegation" - - type: "boolean" - description: "Use default EIP-7702 delegation (Note: EIP-7702 is enabled by default unless you first call `wallet_requestAccount` to get a smart contract address.)" - nonceOverride: - type: "object" - required: - - "nonceKey" - properties: - nonceKey: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Override nonce key as hex string" - stateOverride: - type: "object" - additionalProperties: - anyOf: - - type: "object" - required: - - "state" - properties: - balance: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - code: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - state: - type: "object" - additionalProperties: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - propertyNames: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Mapping from storage slot (hex) to value (hex)" - additionalProperties: false - description: "Full account state" - - type: "object" - required: - - "stateDiff" - properties: - balance: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - code: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - stateDiff: - type: "object" - additionalProperties: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - propertyNames: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Mapping from storage slot (hex) to value (hex)" - additionalProperties: false - description: "Account state diff" - - type: "object" - properties: - balance: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - code: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - additionalProperties: false - description: "Account override without state changes" - propertyNames: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "Mapping from account address to overrides" - experimental_dataSuffix: - type: "object" - required: - - "value" - properties: - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "ERC-8021 transaction attribution data suffix. The wallet appends these bytes to calldata to enable interoperable attribution tracking." - - type: "object" - required: - - "minimumToAmount" - properties: - minimumToAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Specify minimum 'to' amount" - description: "Smart wallet execution" - - anyOf: - - allOf: - - type: "object" - required: - - "from" - - "chainId" - - "fromToken" - - "toToken" - properties: - from: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - fromToken: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - toToken: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - slippage: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - properties: - postCalls: - type: "array" - items: - type: "object" - required: - - "to" - properties: - to: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - data: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - required: - - "returnRawCalls" - properties: - returnRawCalls: - type: "boolean" - description: "Must be 'true'" - - type: "object" - required: - - "fromAmount" - properties: - fromAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Specify exact 'from' amount" - - allOf: - - type: "object" - required: - - "from" - - "chainId" - - "fromToken" - - "toToken" - properties: - from: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - fromToken: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - toToken: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - slippage: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - properties: - postCalls: - type: "array" - items: - type: "object" - required: - - "to" - properties: - to: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - data: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - required: - - "returnRawCalls" - properties: - returnRawCalls: - type: "boolean" - description: "Must be 'true'" - - type: "object" - required: - - "minimumToAmount" - properties: - minimumToAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Specify minimum 'to' amount" - description: "EOA execution (raw calls)" - description: "Same-chain swap" - - anyOf: - - anyOf: - - allOf: - - type: "object" - required: - - "from" - - "chainId" - - "fromToken" - - "toToken" - properties: - from: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - fromToken: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - toToken: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - slippage: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - required: - - "toChainId" - properties: - toChainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - properties: - returnRawCalls: - type: "boolean" - description: "Must be 'false' or undefined" - capabilities: - type: "object" - properties: - permissions: - anyOf: - - type: "object" - required: - - "context" - properties: - context: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Permissions context" - - type: "object" - required: - - "sessionId" - - "signature" - properties: - sessionId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - signature: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Remote permission" - paymasterService: - allOf: - - anyOf: - - type: "object" - required: - - "policyId" - properties: - policyId: - type: "string" - pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$" - format: "uuid" - description: "The policy ID to use" - description: "Single policy ID" - - type: "object" - required: - - "policyIds" - properties: - policyIds: - type: "array" - items: - type: "string" - pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$" - format: "uuid" - description: "The policy IDs to use" - description: "Multiple policy IDs" - - type: "object" - properties: - onlyEstimation: - type: "boolean" - description: "If true, will only estimate fees. Skips signature request and gas sponsorship" - erc20: - anyOf: - - type: "object" - required: - - "tokenAddress" - - "preOpSettings" - properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - preOpSettings: - type: "object" - required: - - "autoPermit" - properties: - autoPermit: - type: "object" - required: - - "below" - - "amount" - properties: - below: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount below which a Permit signature will be injected" - amount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount of tokens to Permit to the paymaster for gas payment" - durationSeconds: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The duration of the Permit signature in seconds" - description: "Settings for automatically injecting a Permit signature for ERC20 gas payment" - description: "ERC20 Paymaster Settings for pre-op policies (autoPermit)" - additionalProperties: false - description: "ERC20 Paymaster Settings with preOpSettings (autoPermit)" - - type: "object" - required: - - "tokenAddress" - - "preOpSettings" - properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - preOpSettings: - type: "object" - required: - - "permitDetails" - properties: - permitDetails: - type: "object" - required: - - "deadline" - - "value" - properties: - deadline: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The deadline in the signed Permit object" - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The value in the signed Permit object" - description: "Details of the returned Permit signature" - description: "ERC20 Paymaster Settings for pre-op policies (permitDetails)" - additionalProperties: false - description: "ERC20 Paymaster Settings with preOpSettings (permitDetails)" - - type: "object" - required: - - "tokenAddress" - - "postOpSettings" - properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - postOpSettings: - type: "object" - properties: - autoApprove: - anyOf: - - type: "boolean" - description: "Automatically inject approval for the exact amount needed for this operation" - - type: "object" - required: - - "below" - - "amount" - properties: - below: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount below which an approval will be injected" - amount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount of tokens to approve to the paymaster for gas payment" - description: "Settings for automatically injecting an approval for ERC20 gas payment with specific thresholds" - balanceCheck: - type: "boolean" - description: "By default, the sender's ERC-20 balance is checked at prepare time and the request is rejected if it can't cover the maximum gas cost. Set to false when the User Operation itself credits the sender enough tokens to cover gas. If the sender's balance is still insufficient when the paymaster attempts to pull payment, the User Operation will fail on-chain." - description: "ERC20 Paymaster Settings for post-op policies" - additionalProperties: false - description: "ERC20 Paymaster Settings with postOpSettings" - - type: "object" - required: - - "tokenAddress" - properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - additionalProperties: false - description: "No auto approval (requires manual ERC20 approvals to paymaster contract)" - errorMessage: "ERC20 settings must specify only one of: preOpSettings, postOpSettings, or neither (for manual approvals). Cannot specify both preOpSettings and postOpSettings" - description: "ERC20 Paymaster Settings" - webhookData: - type: "string" - description: "Additional data you can include in the request, such as proof of humanity, if you have enabled custom rules in your Gas Manager policy." - gasParamsOverride: - type: "object" - properties: - preVerificationGas: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - verificationGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - callGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - paymasterVerificationGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - paymasterPostOpGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - maxFeePerGas: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - maxPriorityFeePerGas: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - eip7702Auth: - anyOf: - - type: "object" - required: - - "delegation" - properties: - account: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - delegation: - anyOf: - - type: "string" - enum: - - "ModularAccountV2" - - type: "string" - enum: - - "0x69007702764179f14F51cdce752f4f775d74E139" - - "0x0000000000000000000000000000000000000000" - description: "Specify EIP-7702 delegation" - - type: "boolean" - description: "Use default EIP-7702 delegation (Note: EIP-7702 is enabled by default unless you first call `wallet_requestAccount` to get a smart contract address.)" - nonceOverride: - type: "object" - required: - - "nonceKey" - properties: - nonceKey: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Override nonce key as hex string" - stateOverride: - type: "object" - additionalProperties: - anyOf: - - type: "object" - required: - - "state" - properties: - balance: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - code: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - state: - type: "object" - additionalProperties: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - propertyNames: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Mapping from storage slot (hex) to value (hex)" - additionalProperties: false - description: "Full account state" - - type: "object" - required: - - "stateDiff" - properties: - balance: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - code: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - stateDiff: - type: "object" - additionalProperties: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - propertyNames: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Mapping from storage slot (hex) to value (hex)" - additionalProperties: false - description: "Account state diff" - - type: "object" - properties: - balance: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - code: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - additionalProperties: false - description: "Account override without state changes" - propertyNames: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "Mapping from account address to overrides" - experimental_dataSuffix: - type: "object" - required: - - "value" - properties: - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "ERC-8021 transaction attribution data suffix. The wallet appends these bytes to calldata to enable interoperable attribution tracking." - - type: "object" - required: - - "fromAmount" - properties: - fromAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Specify exact 'from' amount" - - allOf: - - type: "object" - required: - - "from" - - "chainId" - - "fromToken" - - "toToken" - properties: - from: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - fromToken: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - toToken: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - slippage: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - required: - - "toChainId" - properties: - toChainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - properties: - returnRawCalls: - type: "boolean" - description: "Must be 'false' or undefined" - capabilities: - type: "object" - properties: - permissions: - anyOf: - - type: "object" - required: - - "context" - properties: - context: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Permissions context" - - type: "object" - required: - - "sessionId" - - "signature" - properties: - sessionId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - signature: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Remote permission" - paymasterService: - allOf: - - anyOf: - - type: "object" - required: - - "policyId" - properties: - policyId: - type: "string" - pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$" - format: "uuid" - description: "The policy ID to use" - description: "Single policy ID" - - type: "object" - required: - - "policyIds" - properties: - policyIds: - type: "array" - items: - type: "string" - pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$" - format: "uuid" - description: "The policy IDs to use" - description: "Multiple policy IDs" - - type: "object" - properties: - onlyEstimation: - type: "boolean" - description: "If true, will only estimate fees. Skips signature request and gas sponsorship" - erc20: - anyOf: - - type: "object" - required: - - "tokenAddress" - - "preOpSettings" - properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - preOpSettings: - type: "object" - required: - - "autoPermit" - properties: - autoPermit: - type: "object" - required: - - "below" - - "amount" - properties: - below: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount below which a Permit signature will be injected" - amount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount of tokens to Permit to the paymaster for gas payment" - durationSeconds: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The duration of the Permit signature in seconds" - description: "Settings for automatically injecting a Permit signature for ERC20 gas payment" - description: "ERC20 Paymaster Settings for pre-op policies (autoPermit)" - additionalProperties: false - description: "ERC20 Paymaster Settings with preOpSettings (autoPermit)" - - type: "object" - required: - - "tokenAddress" - - "preOpSettings" - properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - preOpSettings: - type: "object" - required: - - "permitDetails" - properties: - permitDetails: - type: "object" - required: - - "deadline" - - "value" - properties: - deadline: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The deadline in the signed Permit object" - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The value in the signed Permit object" - description: "Details of the returned Permit signature" - description: "ERC20 Paymaster Settings for pre-op policies (permitDetails)" - additionalProperties: false - description: "ERC20 Paymaster Settings with preOpSettings (permitDetails)" - - type: "object" - required: - - "tokenAddress" - - "postOpSettings" - properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - postOpSettings: - type: "object" - properties: - autoApprove: - anyOf: - - type: "boolean" - description: "Automatically inject approval for the exact amount needed for this operation" - - type: "object" - required: - - "below" - - "amount" - properties: - below: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount below which an approval will be injected" - amount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount of tokens to approve to the paymaster for gas payment" - description: "Settings for automatically injecting an approval for ERC20 gas payment with specific thresholds" - balanceCheck: - type: "boolean" - description: "By default, the sender's ERC-20 balance is checked at prepare time and the request is rejected if it can't cover the maximum gas cost. Set to false when the User Operation itself credits the sender enough tokens to cover gas. If the sender's balance is still insufficient when the paymaster attempts to pull payment, the User Operation will fail on-chain." - description: "ERC20 Paymaster Settings for post-op policies" - additionalProperties: false - description: "ERC20 Paymaster Settings with postOpSettings" - - type: "object" - required: - - "tokenAddress" - properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - additionalProperties: false - description: "No auto approval (requires manual ERC20 approvals to paymaster contract)" - errorMessage: "ERC20 settings must specify only one of: preOpSettings, postOpSettings, or neither (for manual approvals). Cannot specify both preOpSettings and postOpSettings" - description: "ERC20 Paymaster Settings" - webhookData: - type: "string" - description: "Additional data you can include in the request, such as proof of humanity, if you have enabled custom rules in your Gas Manager policy." - gasParamsOverride: - type: "object" - properties: - preVerificationGas: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - verificationGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - callGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - paymasterVerificationGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - paymasterPostOpGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - maxFeePerGas: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - maxPriorityFeePerGas: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - eip7702Auth: - anyOf: - - type: "object" - required: - - "delegation" - properties: - account: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - delegation: - anyOf: - - type: "string" - enum: - - "ModularAccountV2" - - type: "string" - enum: - - "0x69007702764179f14F51cdce752f4f775d74E139" - - "0x0000000000000000000000000000000000000000" - description: "Specify EIP-7702 delegation" - - type: "boolean" - description: "Use default EIP-7702 delegation (Note: EIP-7702 is enabled by default unless you first call `wallet_requestAccount` to get a smart contract address.)" - nonceOverride: - type: "object" - required: - - "nonceKey" - properties: - nonceKey: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Override nonce key as hex string" - stateOverride: - type: "object" - additionalProperties: - anyOf: - - type: "object" - required: - - "state" - properties: - balance: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - code: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - state: - type: "object" - additionalProperties: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - propertyNames: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Mapping from storage slot (hex) to value (hex)" - additionalProperties: false - description: "Full account state" - - type: "object" - required: - - "stateDiff" - properties: - balance: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - code: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - stateDiff: - type: "object" - additionalProperties: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - propertyNames: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Mapping from storage slot (hex) to value (hex)" - additionalProperties: false - description: "Account state diff" - - type: "object" - properties: - balance: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - code: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - additionalProperties: false - description: "Account override without state changes" - propertyNames: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "Mapping from account address to overrides" - experimental_dataSuffix: - type: "object" - required: - - "value" - properties: - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "ERC-8021 transaction attribution data suffix. The wallet appends these bytes to calldata to enable interoperable attribution tracking." - - type: "object" - required: - - "minimumToAmount" - properties: - minimumToAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Specify minimum 'to' amount" - description: "Smart wallet execution" - - anyOf: - - allOf: - - type: "object" - required: - - "from" - - "chainId" - - "fromToken" - - "toToken" - properties: - from: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - fromToken: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - toToken: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - slippage: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - required: - - "toChainId" - properties: - toChainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - required: - - "returnRawCalls" - properties: - returnRawCalls: - type: "boolean" - description: "Must be 'true'" - - type: "object" - required: - - "fromAmount" - properties: - fromAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Specify exact 'from' amount" - - allOf: - - type: "object" - required: - - "from" - - "chainId" - - "fromToken" - - "toToken" - properties: - from: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - fromToken: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - toToken: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - slippage: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - required: - - "toChainId" - properties: - toChainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - required: - - "returnRawCalls" - properties: - returnRawCalls: - type: "boolean" - description: "Must be 'true'" - - type: "object" - required: - - "minimumToAmount" - properties: - minimumToAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Specify minimum 'to' amount" - description: "EOA execution (raw calls)" - description: "Cross-chain swap" - description: "Swap options" - - result: - name: requestQuoteResponse - schema: - allOf: - - type: "object" - required: - - "quote" - - "chainId" - properties: - quote: - type: "object" - required: - - "fromAmount" - - "minimumToAmount" - - "expiry" - properties: - fromAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - minimumToAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - expiry: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - callId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - anyOf: - - allOf: - - type: "object" - required: - - "rawCalls" - properties: - rawCalls: - type: "boolean" - description: "Always 'false'" - - oneOf: - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "array" - data: - type: "array" - items: - oneOf: - - type: "object" - required: - - "type" - - "data" - - "chainId" - - "feePayment" - properties: - type: - type: "string" - description: "User Operation (Entrypoint v0.6.0)" - enum: - - "user-operation-v060" - data: - type: "object" - required: - - "sender" - - "nonce" - - "initCode" - - "callData" - - "callGasLimit" - - "verificationGasLimit" - - "preVerificationGas" - - "maxFeePerGas" - - "maxPriorityFeePerGas" - - "paymasterAndData" - properties: - sender: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - initCode: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Present" - - type: "string" - description: "Absent" - enum: - - "0x" - callData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - callGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verificationGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - preVerificationGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxPriorityFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymasterAndData: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Present" - - type: "string" - description: "Absent" - enum: - - "0x" - description: "Unsigned User Operation (Entrypoint v0.6.0)" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - signatureRequest: - oneOf: - - type: "object" - required: - - "type" - - "data" - - "rawPayload" - properties: - type: - type: "string" - enum: - - "personal_sign" - data: - anyOf: - - type: "string" - minLength: 1 - description: "Message" - - type: "object" - required: - - "raw" - properties: - raw: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw message" - rawPayload: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - description: "Personal sign" - - type: "object" - required: - - "type" - - "data" - - "rawPayload" - properties: - type: - type: "string" - enum: - - "eth_signTypedData_v4" - data: - type: "object" - required: - - "types" - - "primaryType" - - "message" - properties: - domain: - type: "object" - properties: - chainId: - type: "integer" - minimum: 1 - maximum: 9007199254740991 - name: - type: "string" - salt: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verifyingContract: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - version: - type: "string" - types: - type: "object" - additionalProperties: - type: "array" - items: - type: "object" - required: - - "name" - - "type" - properties: - type: - type: "string" - name: - type: "string" - propertyNames: - type: "string" - description: "Mapping from type name to array of field definitions" - primaryType: - type: "string" - message: - type: "object" - additionalProperties: {} - propertyNames: - type: "string" - description: "Mapping from field name to value" - rawPayload: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - description: "Typed data" - feePayment: - type: "object" - required: - - "sponsored" - - "tokenAddress" - - "maxAmount" - properties: - sponsored: - type: "boolean" - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - maxAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Prepared User Operation (Entrypoint v0.6.0). Returned for legacy Light Account v1.x accounts." - - type: "object" - required: - - "type" - - "data" - - "chainId" - - "feePayment" - properties: - type: - type: "string" - description: "User Operation (Entrypoint v0.7.0)" - enum: - - "user-operation-v070" - data: - type: "object" - required: - - "sender" - - "nonce" - - "callData" - - "callGasLimit" - - "verificationGasLimit" - - "preVerificationGas" - - "maxFeePerGas" - - "maxPriorityFeePerGas" - properties: - sender: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - factory: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - factoryData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - callData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - callGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verificationGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - preVerificationGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxPriorityFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymaster: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - paymasterData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymasterVerificationGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymasterPostOpGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Unsigned User Operation (Entrypoint v0.7.0)" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - signatureRequest: - oneOf: - - type: "object" - required: - - "type" - - "data" - - "rawPayload" - properties: - type: - type: "string" - enum: - - "personal_sign" - data: - anyOf: - - type: "string" - minLength: 1 - description: "Message" - - type: "object" - required: - - "raw" - properties: - raw: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw message" - rawPayload: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - description: "Personal sign" - - type: "object" - required: - - "type" - - "data" - - "rawPayload" - properties: - type: - type: "string" - enum: - - "eth_signTypedData_v4" - data: - type: "object" - required: - - "types" - - "primaryType" - - "message" - properties: - domain: - type: "object" - properties: - chainId: - type: "integer" - minimum: 1 - maximum: 9007199254740991 - name: - type: "string" - salt: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verifyingContract: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - version: - type: "string" - types: - type: "object" - additionalProperties: - type: "array" - items: - type: "object" - required: - - "name" - - "type" - properties: - type: - type: "string" - name: - type: "string" - propertyNames: - type: "string" - description: "Mapping from type name to array of field definitions" - primaryType: - type: "string" - message: - type: "object" - additionalProperties: {} - propertyNames: - type: "string" - description: "Mapping from field name to value" - rawPayload: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - description: "Typed data" - feePayment: - type: "object" - required: - - "sponsored" - - "tokenAddress" - - "maxAmount" - properties: - sponsored: - type: "boolean" - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - maxAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Prepared User Operation (Entrypoint v0.7.0). Returned for modern account types including Modular Account (sma-b), Light Account v2, and 7702 accounts." - - type: "object" - required: - - "type" - - "data" - - "chainId" - - "signatureRequest" - properties: - type: - type: "string" - description: "EIP-7702 Authorization Request" - enum: - - "authorization" - data: - type: "object" - required: - - "address" - - "nonce" - properties: - address: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - signatureRequest: - type: "object" - required: - - "type" - - "rawPayload" - properties: - type: - type: "string" - enum: - - "eip7702Auth" - rawPayload: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - description: "Prepared EIP-7702 Authorization. Returned as part of an array response for 7702 accounts requiring delegation, or at the top level for BSO-sponsored undelegation." - description: "Array of Prepared Calls. Returned for EIP-7702 accounts that require both an authorization signature and a user operation." - - type: "object" - required: - - "type" - - "data" - - "feePayment" - properties: - type: - type: "string" - description: "User Operation (Entrypoint v0.6.0)" - enum: - - "user-operation-v060" - data: - type: "object" - required: - - "sender" - - "nonce" - - "initCode" - - "callData" - - "callGasLimit" - - "verificationGasLimit" - - "preVerificationGas" - - "maxFeePerGas" - - "maxPriorityFeePerGas" - - "paymasterAndData" - properties: - sender: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - initCode: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Present" - - type: "string" - description: "Absent" - enum: - - "0x" - callData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - callGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verificationGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - preVerificationGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxPriorityFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymasterAndData: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Present" - - type: "string" - description: "Absent" - enum: - - "0x" - description: "Unsigned User Operation (Entrypoint v0.6.0)" - signatureRequest: - oneOf: - - type: "object" - required: - - "type" - - "data" - - "rawPayload" - properties: - type: - type: "string" - enum: - - "personal_sign" - data: - anyOf: - - type: "string" - minLength: 1 - description: "Message" - - type: "object" - required: - - "raw" - properties: - raw: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw message" - rawPayload: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - description: "Personal sign" - - type: "object" - required: - - "type" - - "data" - - "rawPayload" - properties: - type: - type: "string" - enum: - - "eth_signTypedData_v4" - data: - type: "object" - required: - - "types" - - "primaryType" - - "message" - properties: - domain: - type: "object" - properties: - chainId: - type: "integer" - minimum: 1 - maximum: 9007199254740991 - name: - type: "string" - salt: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verifyingContract: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - version: - type: "string" - types: - type: "object" - additionalProperties: - type: "array" - items: - type: "object" - required: - - "name" - - "type" - properties: - type: - type: "string" - name: - type: "string" - propertyNames: - type: "string" - description: "Mapping from type name to array of field definitions" - primaryType: - type: "string" - message: - type: "object" - additionalProperties: {} - propertyNames: - type: "string" - description: "Mapping from field name to value" - rawPayload: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - description: "Typed data" - feePayment: - type: "object" - required: - - "sponsored" - - "tokenAddress" - - "maxAmount" - properties: - sponsored: - type: "boolean" - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - maxAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - required: - - "type" - - "data" - - "feePayment" - properties: - type: - type: "string" - description: "User Operation (Entrypoint v0.7.0)" - enum: - - "user-operation-v070" - data: - type: "object" - required: - - "sender" - - "nonce" - - "callData" - - "callGasLimit" - - "verificationGasLimit" - - "preVerificationGas" - - "maxFeePerGas" - - "maxPriorityFeePerGas" - properties: - sender: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - factory: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - factoryData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - callData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - callGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verificationGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - preVerificationGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxPriorityFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymaster: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - paymasterData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymasterVerificationGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymasterPostOpGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Unsigned User Operation (Entrypoint v0.7.0)" - signatureRequest: - oneOf: - - type: "object" - required: - - "type" - - "data" - - "rawPayload" - properties: - type: - type: "string" - enum: - - "personal_sign" - data: - anyOf: - - type: "string" - minLength: 1 - description: "Message" - - type: "object" - required: - - "raw" - properties: - raw: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw message" - rawPayload: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - description: "Personal sign" - - type: "object" - required: - - "type" - - "data" - - "rawPayload" - properties: - type: - type: "string" - enum: - - "eth_signTypedData_v4" - data: - type: "object" - required: - - "types" - - "primaryType" - - "message" - properties: - domain: - type: "object" - properties: - chainId: - type: "integer" - minimum: 1 - maximum: 9007199254740991 - name: - type: "string" - salt: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verifyingContract: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - version: - type: "string" - types: - type: "object" - additionalProperties: - type: "array" - items: - type: "object" - required: - - "name" - - "type" - properties: - type: - type: "string" - name: - type: "string" - propertyNames: - type: "string" - description: "Mapping from type name to array of field definitions" - primaryType: - type: "string" - message: - type: "object" - additionalProperties: {} - propertyNames: - type: "string" - description: "Mapping from field name to value" - rawPayload: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - description: "Typed data" - feePayment: - type: "object" - required: - - "sponsored" - - "tokenAddress" - - "maxAmount" - properties: - sponsored: - type: "boolean" - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - maxAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - required: - - "type" - - "data" - - "signatureRequest" - properties: - type: - type: "string" - description: "EIP-7702 Authorization Request" - enum: - - "authorization" - data: - type: "object" - required: - - "address" - - "nonce" - properties: - address: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - signatureRequest: - type: "object" - required: - - "type" - - "rawPayload" - properties: - type: - type: "string" - enum: - - "eip7702Auth" - rawPayload: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - - type: "object" - required: - - "type" - - "modifiedRequest" - - "data" - - "signatureRequest" - properties: - type: - type: "string" - description: "ERC-7597 Permit Signature Request for the paymaster" - enum: - - "paymaster-permit" - modifiedRequest: - type: "object" - required: - - "from" - - "chainId" - properties: - calls: - type: "array" - items: - type: "object" - required: - - "to" - properties: - to: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - data: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - from: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - capabilities: - type: "object" - properties: - permissions: - anyOf: - - type: "object" - required: - - "context" - properties: - context: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Permissions context" - - type: "object" - required: - - "sessionId" - - "signature" - properties: - sessionId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - signature: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Remote permission" - paymasterService: - allOf: - - anyOf: - - type: "object" - required: - - "policyId" - properties: - policyId: - type: "string" - pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$" - format: "uuid" - description: "The policy ID to use" - description: "Single policy ID" - - type: "object" - required: - - "policyIds" - properties: - policyIds: - type: "array" - items: - type: "string" - pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$" - format: "uuid" - description: "The policy IDs to use" - description: "Multiple policy IDs" - - type: "object" - properties: - onlyEstimation: - type: "boolean" - description: "If true, will only estimate fees. Skips signature request and gas sponsorship" - erc20: - anyOf: - - type: "object" - required: - - "tokenAddress" - - "preOpSettings" - properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - preOpSettings: - type: "object" - required: - - "autoPermit" - properties: - autoPermit: - type: "object" - required: - - "below" - - "amount" - properties: - below: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount below which a Permit signature will be injected" - amount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount of tokens to Permit to the paymaster for gas payment" - durationSeconds: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The duration of the Permit signature in seconds" - description: "Settings for automatically injecting a Permit signature for ERC20 gas payment" - description: "ERC20 Paymaster Settings for pre-op policies (autoPermit)" - additionalProperties: false - description: "ERC20 Paymaster Settings with preOpSettings (autoPermit)" - - type: "object" - required: - - "tokenAddress" - - "preOpSettings" - properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - preOpSettings: - type: "object" - required: - - "permitDetails" - properties: - permitDetails: - type: "object" - required: - - "deadline" - - "value" - properties: - deadline: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The deadline in the signed Permit object" - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The value in the signed Permit object" - description: "Details of the returned Permit signature" - description: "ERC20 Paymaster Settings for pre-op policies (permitDetails)" - additionalProperties: false - description: "ERC20 Paymaster Settings with preOpSettings (permitDetails)" - - type: "object" - required: - - "tokenAddress" - - "postOpSettings" - properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - postOpSettings: - type: "object" - properties: - autoApprove: - anyOf: - - type: "boolean" - description: "Automatically inject approval for the exact amount needed for this operation" - - type: "object" - required: - - "below" - - "amount" - properties: - below: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount below which an approval will be injected" - amount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount of tokens to approve to the paymaster for gas payment" - description: "Settings for automatically injecting an approval for ERC20 gas payment with specific thresholds" - balanceCheck: - type: "boolean" - description: "By default, the sender's ERC-20 balance is checked at prepare time and the request is rejected if it can't cover the maximum gas cost. Set to false when the User Operation itself credits the sender enough tokens to cover gas. If the sender's balance is still insufficient when the paymaster attempts to pull payment, the User Operation will fail on-chain." - description: "ERC20 Paymaster Settings for post-op policies" - additionalProperties: false - description: "ERC20 Paymaster Settings with postOpSettings" - - type: "object" - required: - - "tokenAddress" - properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - additionalProperties: false - description: "No auto approval (requires manual ERC20 approvals to paymaster contract)" - errorMessage: "ERC20 settings must specify only one of: preOpSettings, postOpSettings, or neither (for manual approvals). Cannot specify both preOpSettings and postOpSettings" - description: "ERC20 Paymaster Settings" - webhookData: - type: "string" - description: "Additional data you can include in the request, such as proof of humanity, if you have enabled custom rules in your Gas Manager policy." - gasParamsOverride: - type: "object" - properties: - preVerificationGas: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - verificationGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - callGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - paymasterVerificationGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - paymasterPostOpGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - maxFeePerGas: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - maxPriorityFeePerGas: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - eip7702Auth: - anyOf: - - type: "object" - required: - - "delegation" - properties: - account: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - delegation: - anyOf: - - type: "string" - enum: - - "ModularAccountV2" - - type: "string" - enum: - - "0x69007702764179f14F51cdce752f4f775d74E139" - - "0x0000000000000000000000000000000000000000" - description: "Specify EIP-7702 delegation" - - type: "boolean" - description: "Use default EIP-7702 delegation (Note: EIP-7702 is enabled by default unless you first call `wallet_requestAccount` to get a smart contract address.)" - nonceOverride: - type: "object" - required: - - "nonceKey" - properties: - nonceKey: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Override nonce key as hex string" - stateOverride: - type: "object" - additionalProperties: - anyOf: - - type: "object" - required: - - "state" - properties: - balance: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - code: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - state: - type: "object" - additionalProperties: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - propertyNames: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Mapping from storage slot (hex) to value (hex)" - additionalProperties: false - description: "Full account state" - - type: "object" - required: - - "stateDiff" - properties: - balance: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - code: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - stateDiff: - type: "object" - additionalProperties: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - propertyNames: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Mapping from storage slot (hex) to value (hex)" - additionalProperties: false - description: "Account state diff" - - type: "object" - properties: - balance: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - code: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - additionalProperties: false - description: "Account override without state changes" - propertyNames: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "Mapping from account address to overrides" - experimental_dataSuffix: - type: "object" - required: - - "value" - properties: - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "ERC-8021 transaction attribution data suffix. The wallet appends these bytes to calldata to enable interoperable attribution tracking." - paymasterPermitSignature: - oneOf: - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "secp256k1" - data: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "Secp256k1 signature" - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "ecdsa" - data: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "ECDSA signature (alias for secp256k1)" - data: - type: "object" - required: - - "types" - - "primaryType" - - "message" - properties: - domain: - type: "object" - properties: - chainId: - type: "integer" - minimum: 1 - maximum: 9007199254740991 - name: - type: "string" - salt: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verifyingContract: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - version: - type: "string" - types: - type: "object" - additionalProperties: - type: "array" - items: - type: "object" - required: - - "name" - - "type" - properties: - type: - type: "string" - name: - type: "string" - propertyNames: - type: "string" - description: "Mapping from type name to array of field definitions" - primaryType: - type: "string" - message: - type: "object" - additionalProperties: {} - propertyNames: - type: "string" - description: "Mapping from field name to value" - signatureRequest: - type: "object" - required: - - "type" - - "data" - - "rawPayload" - properties: - type: - type: "string" - enum: - - "eth_signTypedData_v4" - data: - type: "object" - required: - - "types" - - "primaryType" - - "message" - properties: - domain: - type: "object" - properties: - chainId: - type: "integer" - minimum: 1 - maximum: 9007199254740991 - name: - type: "string" - salt: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verifyingContract: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - version: - type: "string" - types: - type: "object" - additionalProperties: - type: "array" - items: - type: "object" - required: - - "name" - - "type" - properties: - type: - type: "string" - name: - type: "string" - propertyNames: - type: "string" - description: "Mapping from type name to array of field definitions" - primaryType: - type: "string" - message: - type: "object" - additionalProperties: {} - propertyNames: - type: "string" - description: "Mapping from field name to value" - rawPayload: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - description: "Typed data" - description: "Paymaster permit. Returned when the account's paymaster policy requires an ERC-20 token permit signature. The client must sign the permit and resubmit the request with the permit signature before the user operation can be prepared." - - type: "object" - properties: - details: - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "user-operation" - data: - type: "object" - required: - - "hash" - - "calls" - properties: - hash: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - calls: - type: "array" - items: - type: "object" - required: - - "to" - properties: - to: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - data: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Prepared calls for smart wallet execution" - - type: "object" - required: - - "rawCalls" - - "calls" - properties: - rawCalls: - type: "boolean" - description: "Always 'true'" - calls: - type: "array" - items: - type: "object" - required: - - "to" - properties: - to: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - data: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw calls for externally owned account execution" - - examples: - - name: "wallet_requestQuote_v0 example" - params: - - name: "param0" - value: - from: "0xa363219d7C0b8673df17529D469Db9eFF0f35D2A" - fromToken: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEee" - toToken: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831" - minimumToAmount: "0x5F5E100" - chainId: "0xa4b1" - capabilities: - paymasterService: - policyId: "11111111-2222-4333-8444-555555555555" - postCalls: - - to: "0x1234567890123456789012345678901234567890" - data: "0x" - result: - name: "Response" - value: - rawCalls: false - quote: - fromAmount: "0x123" - minimumToAmount: "0x456" - expiry: "0xffffffff" - type: "user-operation-v070" - data: - sender: "0xa363219d7C0b8673df17529D469Db9eFF0f35D2A" - nonce: "0x10000000000000000" - callData: "0x34fcd5be0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000001234567890123456789012345678901234567890000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000" - paymaster: "0x3f222Df6aB18C1E10d0Ec136503c3B0dfd929048" - paymasterData: "0x0000000000000000682d7e7c9fa6f71c28c31141a11ac9eb2bdbe898ddbd42a4f7085f8bb3380ba75dd9231a386e24fe5a84777217c907391e983b5b0f78a4a9d0fd1c8631dd22c10e106b461c" - paymasterPostOpGasLimit: "0x0" - paymasterVerificationGasLimit: "0x74d3" - maxPriorityFeePerGas: "0x60e4b0" - maxFeePerGas: "0x1bf52290" - callGasLimit: "0x2bb8" - verificationGasLimit: "0xc845" - preVerificationGas: "0x14b74" - chainId: "0x66eee" - signatureRequest: - type: "personal_sign" - data: - raw: "0xc69e468aa6fafb5c7298c02841e76f976b433018266af39a5807bc29ea9ad392" - rawPayload: "0x2a8073568c8fad3edf15f70c3471a7fff18e1d57c650a501ab47f57a5c1f0e39" - feePayment: - sponsored: false - tokenAddress: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" - maxAmount: "0x1f34" - details: - type: "user-operation" - data: - hash: "0xc69e468aa6fafb5c7298c02841e76f976b433018266af39a5807bc29ea9ad392" - calls: - - to: "0x1234567890123456789012345678901234567890" - data: "0x"