{ "openapi": "3.0.0", "paths": { "/v1-alpha2/wallets/me{walletType}/transactions/{transactionId}/approvals": { "post": { "operationId": "WalletsV1Controller-submitMeApprovals-5", "summary": "Approve Transaction For Authenticated User", "description": "Submit approval signature for a pending transaction. Required for transactions using external signers.\n\n**API scope required**: `wallets:transactions.sign`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletType", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "transactionId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SubmitApprovalDTO" } } } }, "responses": { "201": { "description": "The approval has successfully been submitted to the transaction.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2TransactionResponseDTO" } } } }, "400": { "description": "Returns an error if the signer is not valid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if the wallet or transaction is not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "409": { "description": "Returns an error if the signature for signer was already submitted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "422": { "description": "Returns an error if the transaction already has the required number of approvals", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/v1-alpha2/wallets/me{walletType}/transactions/{transactionId}": { "get": { "operationId": "WalletsV1Controller-getMeTransaction-5", "summary": "Get Transaction For Authenticated User", "description": "Retrieves the current status and details of a specific transaction.\n\n**API scope required**: `wallets:transactions.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletType", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "transactionId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The transaction has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2TransactionResponseDTO" } } } }, "404": { "description": "Returns an error if the wallet or transaction is not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/v1-alpha2/wallets/me{walletType}/transactions": { "post": { "operationId": "WalletsV1Controller-createMeTransaction-5", "summary": "Create Transaction For Authenticated User", "description": "Creates a new transaction for the authenticated user. Transaction will be automatically broadcast once it has all necessary approvals.\n\n**API scope required**: `wallets:transactions.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletType", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "x-idempotency-key", "required": true, "in": "header", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateTransactionDTO" } } } }, "responses": { "201": { "description": "The transaction has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2TransactionResponseDTO" } } } }, "400": { "description": "Returns an error if the transaction or the provided signer is not valid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified type is not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "422": { "description": "Returns an error if the transaction fails during simulation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2TransactionErrorDTO" } } } } } }, "get": { "operationId": "WalletsV1Controller-getMeTransactionsWithoutChain-5", "summary": "Get Wallet Transactions For Authenticated User", "description": "Retrieves all transactions associated with the specified wallet.\n\n**API scope required**: `wallets:transactions.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletType", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "page", "required": false, "in": "query", "schema": { "pattern": "^[1-9]\\d*$", "default": "1", "type": "string" } }, { "name": "perPage", "required": false, "in": "query", "schema": { "pattern": "^[1-9]\\d*$", "default": "10", "type": "string" } } ], "responses": { "200": { "description": "The transactions have been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2TransactionsResponseDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/v1-alpha2/wallets/me{walletType}/signers/{signer}": { "get": { "operationId": "WalletsV1Controller-getMeDelegatedSigner-5", "summary": "Get Delegated Signer For Authenticated User", "description": "Retrieve details about a specific delegated signer by its locator.\n\n**API scope required**: `wallets.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletType", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "signer", "required": true, "in": "path", "description": "A signer locator that can be either a of format '' for keypair type signers or ':'", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ], "schema": { "title": "Signer Locator", "type": "string" } } ], "responses": { "200": { "description": "The delegated signer has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DelegatedSignerDto" } } } }, "404": { "description": "Returns an error if the wallet or signer not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/v1-alpha2/wallets/me{walletType}/signers": { "post": { "operationId": "WalletsV1Controller-createMeDelegatedSigner-5", "summary": "Register Delegated Signer For Authenticated User", "description": "Register a delegated key for a smart wallet with optional restrictions around permissions and expiry date.\n\n**API scope required**: `wallets.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletType", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSignerInputDto" } } } }, "responses": { "201": { "description": "The delegated signer has been successfully added to the wallet.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DelegatedSignerDto" } } } }, "400": { "description": "Returns an error if a delegated signer with specified configuration already exists", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/v1-alpha2/wallets/me{walletType}/signatures/{signatureId}/approvals": { "post": { "operationId": "WalletsV1Controller-submitMeSignatureApprovals-5", "summary": "Approve Signature For Authenticated User", "description": "Submit approval for a signature to sign a message or typed data.\n\n**API scope required**: `wallets:signatures.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletType", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "signatureId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SubmitApprovalDTO" } } } }, "responses": { "201": { "description": "The signature has been successfully approved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2SignatureResponseDTO" } } } }, "400": { "description": "Returns an error if the signature is not valid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if the wallet or signature not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/v1-alpha2/wallets/me{walletType}/signatures/{signatureId}": { "get": { "operationId": "WalletsV1Controller-getMeSignature-5", "summary": "Get Signature For Authenticated User", "description": "Retrieves details about a specific signature by its ID.\n\n**API scope required**: `wallets:signatures.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletType", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "signatureId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The signature has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2SignatureResponseDTO" } } } }, "404": { "description": "Returns an error if the wallet or signature not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/v1-alpha2/wallets/me{walletType}/signatures": { "post": { "operationId": "WalletsV1Controller-createMeSignatureRequest-5", "summary": "Create Signature For Authenticated User", "description": "Creates a new signature for signing messages or typed data.\n\n**API scope required**: `wallets:signatures.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletType", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "x-idempotency-key", "required": false, "in": "header", "description": "Unique key to prevent duplicate signature creation", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSignatureRequestDTO" } } } }, "responses": { "201": { "description": "The signature has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2SignatureResponseDTO" } } } }, "400": { "description": "Returns an error if the signature type is not supported", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/v1-alpha2/wallets/me{walletType}/activity": { "get": { "operationId": "WalletsV1Controller-getMeWalletActivity-5", "summary": "Get Wallet Activity For Authenticated User", "description": "Retrieves activity history for the authenticated user's wallet including transactions and other relevant events.\n\n**API scope required**: `wallets.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletType", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "chain", "required": true, "in": "query", "description": "The blockchain network to query. Either an EVM chain, Solana, or Stellar.", "example": "ethereum", "schema": { "enum": [ "arbitrum-sepolia", "avalanche-fuji", "curtis", "barret-testnet", "base-goerli", "base-sepolia", "bsc-testnet", "chiliz-spicy-testnet", "coti-testnet", "ethereum-goerli", "ethereum-sepolia", "hedera-testnet", "hypersonic-testnet", "lightlink-pegasus", "mantle-sepolia", "optimism-goerli", "optimism-sepolia", "polygon-amoy", "polygon-mumbai", "crossmint-private-testnet-ethereum", "crossmint-private-testnet-polygon", "rari-testnet", "scroll-sepolia", "sei-atlantic-2-testnet", "shape-sepolia", "skale-nebula-testnet", "soneium-minato-testnet", "space-testnet", "story-testnet", "verify-testnet", "viction-testnet", "xai-sepolia-testnet", "zkatana", "zkyoto", "zora-goerli", "zora-sepolia", "mode-sepolia", "u2u-nebulas", "zenchain-testnet", "abstract-testnet", "world-chain-sepolia", "flow-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "apex", "boss", "hedera", "coti", "lightlink", "mantle", "skale-nebula", "sei-pacific-1", "chiliz", "avalanche", "xai", "shape", "rari", "scroll", "viction", "mode", "space", "soneium", "story", "u2u-solaris", "abstract", "world-chain", "flow", "solana", "stellar" ], "type": "string" } } ], "responses": { "200": { "description": "The wallet activity has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2ActivityResponseDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified type not found for the authenticated user", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/v1-alpha2/wallets/me{walletType}": { "get": { "operationId": "WalletsV1Controller-getMeWallet-5", "summary": "Get Wallet For Authenticated User", "description": "Retrieves a wallet for the authenticated user.\n\n**API scope required**: `wallets.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletType", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The record has been successfully retreived.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ResponseDTO" } } } } } } }, "/v1-alpha2/wallets/me": { "post": { "operationId": "WalletsV1Controller-createMeWallet-5", "summary": "Create Wallet For Authenticated User", "description": "Creates a new wallet of specified type for the authenticated user. If called for a user who already has a wallet, returns the existing wallet. Supports both custodial and non-custodial wallet types. Uses client-side API key authentication.\n\n**API scope required**: `wallets.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateWalletDTO" } } } }, "responses": { "201": { "description": "Returns an existing wallet (200) if one already exists for this user, or creates and returns a new wallet (201).", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ResponseDTO" } } } } } } }, "/v1-alpha2/wallets/{walletLocator}/transactions/{transactionId}/approvals": { "post": { "operationId": "WalletsV1Controller-submitApprovals-5", "summary": "Approve Transaction", "description": "Submit approval signature for a pending transaction. Required for transactions using external signers.\n\n**API scope required**: `wallets:transactions.sign`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::`\n- `userId::`\n- `userId::` (white label user example)\n- `phoneNumber::`\n- `twitter::`\n- `x::`\n- `me:` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm-smart-wallet", "userId:507f1f77bcf86cd799439011:solana-mpc-wallet", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm-smart-wallet", "phoneNumber:+12125551234:evm-smart-wallet", "twitter:johndoe:evm-smart-wallet", "x:@johndoe:evm-smart-wallet", "me:evm-smart-wallet" ], "schema": { "type": "string" } }, { "name": "transactionId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SubmitApprovalDTO" } } } }, "responses": { "201": { "description": "The approval has successfully been submitted to the transaction.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2TransactionResponseDTO" } } } }, "400": { "description": "Returns an error if the signer is not valid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if the wallet or transaction is not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "409": { "description": "Returns an error if the signature for signer was already submitted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "422": { "description": "Returns an error if the transaction already has the required number of approvals", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/v1-alpha2/wallets/{walletLocator}/transactions/{transactionId}": { "get": { "operationId": "WalletsV1Controller-getTransaction-5", "summary": "Get Transaction", "description": "Retrieves the current status and details of a specific transaction.\n\n**API scope required**: `wallets:transactions.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::`\n- `userId::`\n- `userId::` (white label user example)\n- `phoneNumber::`\n- `twitter::`\n- `x::`\n- `me:` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm-smart-wallet", "userId:507f1f77bcf86cd799439011:solana-mpc-wallet", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm-smart-wallet", "phoneNumber:+12125551234:evm-smart-wallet", "twitter:johndoe:evm-smart-wallet", "x:@johndoe:evm-smart-wallet", "me:evm-smart-wallet" ], "schema": { "type": "string" } }, { "name": "transactionId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The transaction has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2TransactionResponseDTO" } } } }, "404": { "description": "Returns an error if the wallet or transaction is not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/v1-alpha2/wallets/{walletLocator}/transactions": { "post": { "operationId": "WalletsV1Controller-createTransaction-5", "summary": "Create Transaction", "description": "Creates a new transaction for the specified wallet. Transaction will be automatically broadcast once it has all necessary approvals.\n\n**API scope required**: `wallets:transactions.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::`\n- `userId::`\n- `userId::` (white label user example)\n- `phoneNumber::`\n- `twitter::`\n- `x::`\n- `me:` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm-smart-wallet", "userId:507f1f77bcf86cd799439011:solana-mpc-wallet", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm-smart-wallet", "phoneNumber:+12125551234:evm-smart-wallet", "twitter:johndoe:evm-smart-wallet", "x:@johndoe:evm-smart-wallet", "me:evm-smart-wallet" ], "schema": { "type": "string" } }, { "name": "x-idempotency-key", "required": false, "in": "header", "description": "Unique key to prevent duplicate transaction creation", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateTransactionDTO" } } } }, "responses": { "201": { "description": "The transaction has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2TransactionResponseDTO" } } } }, "400": { "description": "Returns an error if the transaction or the provided signer is not valid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "422": { "description": "Returns an error if the transaction fails during simulation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2TransactionErrorDTO" } } } } } }, "get": { "operationId": "WalletsV1Controller-getTransactionsWithoutChain-5", "summary": "Get Wallet Transactions", "description": "Retrieves all transactions associated with the specified wallet.\n\n**API scope required**: `wallets:transactions.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::`\n- `userId::`\n- `userId::` (white label user example)\n- `phoneNumber::`\n- `twitter::`\n- `x::`\n- `me:` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm-smart-wallet", "userId:507f1f77bcf86cd799439011:solana-mpc-wallet", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm-smart-wallet", "phoneNumber:+12125551234:evm-smart-wallet", "twitter:johndoe:evm-smart-wallet", "x:@johndoe:evm-smart-wallet", "me:evm-smart-wallet" ], "schema": { "type": "string" } }, { "name": "page", "required": false, "in": "query", "schema": { "pattern": "^[1-9]\\d*$", "default": "1", "type": "string" } }, { "name": "perPage", "required": false, "in": "query", "schema": { "pattern": "^[1-9]\\d*$", "default": "10", "type": "string" } } ], "responses": { "200": { "description": "The transactions have been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2TransactionsResponseDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/v1-alpha2/wallets/{walletLocator}/signers/{signer}": { "get": { "operationId": "WalletsV1Controller-getDelegatedSigner-5", "summary": "Get Delegated Signer", "description": "Retrieve details about a specific delegated signer by its locator.\n\n**API scope required**: `wallets.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::`\n- `userId::`\n- `userId::` (white label user example)\n- `phoneNumber::`\n- `twitter::`\n- `x::`\n- `me:` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm-smart-wallet", "userId:507f1f77bcf86cd799439011:solana-mpc-wallet", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm-smart-wallet", "phoneNumber:+12125551234:evm-smart-wallet", "twitter:johndoe:evm-smart-wallet", "x:@johndoe:evm-smart-wallet", "me:evm-smart-wallet" ], "schema": { "type": "string" } }, { "name": "signer", "required": true, "in": "path", "description": "A signer locator that can be either a of format '' for keypair type signers or ':'", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ], "schema": { "title": "Signer Locator", "type": "string" } } ], "responses": { "200": { "description": "The delegated signer has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DelegatedSignerDto" } } } }, "404": { "description": "Returns an error if the wallet or signer not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/v1-alpha2/wallets/{walletLocator}/signers": { "post": { "operationId": "WalletsV1Controller-createDelegatedSigner-5", "summary": "Register Delegated Signer", "description": "Register a delegated key for a smart wallet with optional restrictions around permissions and expiry date.\n\n**API scope required**: `wallets.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::`\n- `userId::`\n- `userId::` (white label user example)\n- `phoneNumber::`\n- `twitter::`\n- `x::`\n- `me:` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm-smart-wallet", "userId:507f1f77bcf86cd799439011:solana-mpc-wallet", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm-smart-wallet", "phoneNumber:+12125551234:evm-smart-wallet", "twitter:johndoe:evm-smart-wallet", "x:@johndoe:evm-smart-wallet", "me:evm-smart-wallet" ], "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSignerInputDto" } } } }, "responses": { "201": { "description": "The delegated signer has been successfully added to the wallet.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DelegatedSignerDto" } } } }, "400": { "description": "Returns an error if a delegated signer with specified configuration already exists", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/v1-alpha2/wallets/{walletLocator}/signatures/{signatureId}/approvals": { "post": { "operationId": "WalletsV1Controller-submitSignatureApprovals-5", "summary": "Approve Signature", "description": "Submit approval for a signature to sign a message or typed data.\n\n**API scope required**: `wallets:signatures.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::`\n- `userId::`\n- `userId::` (white label user example)\n- `phoneNumber::`\n- `twitter::`\n- `x::`\n- `me:` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm-smart-wallet", "userId:507f1f77bcf86cd799439011:solana-mpc-wallet", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm-smart-wallet", "phoneNumber:+12125551234:evm-smart-wallet", "twitter:johndoe:evm-smart-wallet", "x:@johndoe:evm-smart-wallet", "me:evm-smart-wallet" ], "schema": { "type": "string" } }, { "name": "signatureId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SubmitApprovalDTO" } } } }, "responses": { "201": { "description": "The signature has been successfully approved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2SignatureResponseDTO" } } } }, "400": { "description": "Returns an error if the signature is not valid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if the wallet or signature not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/v1-alpha2/wallets/{walletLocator}/signatures/{signatureId}": { "get": { "operationId": "WalletsV1Controller-getSignature-5", "summary": "Get Signature", "description": "Retrieves details about a specific signature by its ID.\n\n**API scope required**: `wallets:signatures.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::`\n- `userId::`\n- `userId::` (white label user example)\n- `phoneNumber::`\n- `twitter::`\n- `x::`\n- `me:` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm-smart-wallet", "userId:507f1f77bcf86cd799439011:solana-mpc-wallet", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm-smart-wallet", "phoneNumber:+12125551234:evm-smart-wallet", "twitter:johndoe:evm-smart-wallet", "x:@johndoe:evm-smart-wallet", "me:evm-smart-wallet" ], "schema": { "type": "string" } }, { "name": "signatureId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The signature has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2SignatureResponseDTO" } } } }, "404": { "description": "Returns an error if the wallet or signature not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/v1-alpha2/wallets/{walletLocator}/signatures": { "post": { "operationId": "WalletsV1Controller-createSignatureRequest-5", "summary": "Create Signature", "description": "Creates a new signature for signing messages or typed data.\n\n**API scope required**: `wallets:signatures.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::`\n- `userId::`\n- `userId::` (white label user example)\n- `phoneNumber::`\n- `twitter::`\n- `x::`\n- `me:` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm-smart-wallet", "userId:507f1f77bcf86cd799439011:solana-mpc-wallet", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm-smart-wallet", "phoneNumber:+12125551234:evm-smart-wallet", "twitter:johndoe:evm-smart-wallet", "x:@johndoe:evm-smart-wallet", "me:evm-smart-wallet" ], "schema": { "type": "string" } }, { "name": "x-idempotency-key", "required": false, "in": "header", "description": "Unique key to prevent duplicate signature creation", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSignatureRequestDTO" } } } }, "responses": { "201": { "description": "The signature has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2SignatureResponseDTO" } } } }, "400": { "description": "Returns an error if the signature type is not supported", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } }, "get": { "operationId": "WalletsV1Controller-getAllSignatures-5", "summary": "Get All Signatures", "description": "Retrieves all signatures associated with the specified wallet.\n\n**API scope required**: `wallets:signatures.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::`\n- `userId::`\n- `userId::` (white label user example)\n- `phoneNumber::`\n- `twitter::`\n- `x::`\n- `me:` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm-smart-wallet", "userId:507f1f77bcf86cd799439011:solana-mpc-wallet", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm-smart-wallet", "phoneNumber:+12125551234:evm-smart-wallet", "twitter:johndoe:evm-smart-wallet", "x:@johndoe:evm-smart-wallet", "me:evm-smart-wallet" ], "schema": { "type": "string" } }, { "name": "page", "required": false, "in": "query", "schema": { "pattern": "^[1-9]\\d*$", "default": "1", "type": "string" } }, { "name": "perPage", "required": false, "in": "query", "schema": { "pattern": "^[1-9]\\d*$", "default": "10", "type": "string" } } ], "responses": { "200": { "description": "The signatures have been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2MultipleSignatureResponseDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/v1-alpha2/wallets/{walletLocator}/balances": { "get": { "operationId": "BalanceController-getBalanceForLocator-2", "summary": "Get Wallet Balance", "description": "Get the balance of a wallet for a given chain and currency\n\n**API scope required**: `wallets:balance.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::`\n- `userId::`\n- `userId::` (white label user example)\n- `phoneNumber::`\n- `twitter::`\n- `x::`\n- `me:` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm-smart-wallet", "userId:507f1f77bcf86cd799439011:solana-mpc-wallet", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm-smart-wallet", "phoneNumber:+12125551234:evm-smart-wallet", "twitter:johndoe:evm-smart-wallet", "x:@johndoe:evm-smart-wallet", "me:evm-smart-wallet" ], "schema": { "type": "string" } }, { "name": "chains", "required": false, "in": "query", "description": "The blockchain(s) to query. Comma-separated list of chains", "example": "ethereum,polygon,stellar", "schema": { "type": "string" } }, { "name": "tokens", "required": true, "in": "query", "description": "The tokens to query. Comma-separated list", "example": "eth,usdc,xlm", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Returns the balance of the wallet for the given chain and currency", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletBalanceResponseDTO" } } } }, "400": { "description": "Returns an error (400) if the wallet locator is invalid or if the address type is not supported", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } }, "post": { "operationId": "BalanceController-fundWallet-2", "summary": "Fund Wallet", "description": "Send funds to a wallet.\n\n**API scope required**: `wallets.fund`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::`\n- `userId::`\n- `userId::` (white label user example)\n- `phoneNumber::`\n- `twitter::`\n- `x::`\n- `me:` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm-smart-wallet", "userId:507f1f77bcf86cd799439011:solana-mpc-wallet", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm-smart-wallet", "phoneNumber:+12125551234:evm-smart-wallet", "twitter:johndoe:evm-smart-wallet", "x:@johndoe:evm-smart-wallet", "me:evm-smart-wallet" ], "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FundWalletAmountDTO" } } } }, "responses": { "201": { "description": "Funds sent successfully.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletBalanceResponseDTO" } } } }, "404": { "description": "Returns an error (404) if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/v1-alpha2/wallets/{walletLocator}/activity": { "get": { "operationId": "WalletsV1Controller-getWalletActivity-5", "summary": "Get Wallet Activity", "description": "Retrieves activity history for the specified wallet including transactions and other relevant events.\n\n**API scope required**: `wallets.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::`\n- `userId::`\n- `userId::` (white label user example)\n- `phoneNumber::`\n- `twitter::`\n- `x::`\n- `me:` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm-smart-wallet", "userId:507f1f77bcf86cd799439011:solana-mpc-wallet", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm-smart-wallet", "phoneNumber:+12125551234:evm-smart-wallet", "twitter:johndoe:evm-smart-wallet", "x:@johndoe:evm-smart-wallet", "me:evm-smart-wallet" ], "schema": { "type": "string" } }, { "name": "chain", "required": true, "in": "query", "description": "The blockchain network to query. Either an EVM chain, Solana, or Stellar.", "example": "ethereum", "schema": { "enum": [ "arbitrum-sepolia", "avalanche-fuji", "curtis", "barret-testnet", "base-goerli", "base-sepolia", "bsc-testnet", "chiliz-spicy-testnet", "coti-testnet", "ethereum-goerli", "ethereum-sepolia", "hedera-testnet", "hypersonic-testnet", "lightlink-pegasus", "mantle-sepolia", "optimism-goerli", "optimism-sepolia", "polygon-amoy", "polygon-mumbai", "crossmint-private-testnet-ethereum", "crossmint-private-testnet-polygon", "rari-testnet", "scroll-sepolia", "sei-atlantic-2-testnet", "shape-sepolia", "skale-nebula-testnet", "soneium-minato-testnet", "space-testnet", "story-testnet", "verify-testnet", "viction-testnet", "xai-sepolia-testnet", "zkatana", "zkyoto", "zora-goerli", "zora-sepolia", "mode-sepolia", "u2u-nebulas", "zenchain-testnet", "abstract-testnet", "world-chain-sepolia", "flow-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "apex", "boss", "hedera", "coti", "lightlink", "mantle", "skale-nebula", "sei-pacific-1", "chiliz", "avalanche", "xai", "shape", "rari", "scroll", "viction", "mode", "space", "soneium", "story", "u2u-solaris", "abstract", "world-chain", "flow", "solana", "stellar" ], "type": "string" } } ], "responses": { "200": { "description": "The wallet activity has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2ActivityResponseDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/v1-alpha2/wallets/{walletLocator}": { "get": { "operationId": "WalletsV1Controller-getWalletByLocator-5", "summary": "Get Wallet By Locator", "description": "Retrieves a wallet by its locator (address or user identifier and wallet type)\n\n**API scope required**: `wallets.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::`\n- `userId::`\n- `userId::` (white label user example)\n- `phoneNumber::`\n- `twitter::`\n- `x::`\n- `me:` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm-smart-wallet", "userId:507f1f77bcf86cd799439011:solana-mpc-wallet", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm-smart-wallet", "phoneNumber:+12125551234:evm-smart-wallet", "twitter:johndoe:evm-smart-wallet", "x:@johndoe:evm-smart-wallet", "me:evm-smart-wallet" ], "schema": { "type": "string" } } ], "responses": { "200": { "description": "The record has been successfully retreived.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ResponseDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/v1-alpha2/wallets": { "post": { "operationId": "WalletsV1Controller-createWallet-5", "summary": "Create Wallet", "description": "Creates a new wallet of specified type. If called with an idempotency key or for a user who already has a wallet, returns existing wallet. When linkedUser is provided, subsequent calls with the same linkedUser will return the existing wallet. Supports both custodial and non-custodial wallet types.\n\n**API scope required**: `wallets.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "x-idempotency-key", "required": false, "in": "header", "description": "Unique key to prevent duplicate wallet creation", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateWalletDTO" } } } }, "responses": { "201": { "description": "Returns an existing wallet (200) if one already exists for the provided linkedUser or idempotencyKey, or creates and returns a new wallet (201). The response includes the wallet details and whether it was newly created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ResponseDTO" } } } }, "400": { "description": "Returns an error if a wallet with the specified creation seed and signer configuration already exists", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/unstable/wallets/me{walletType}/tokens/{tokenLocator}/transfers": { "post": { "operationId": "WalletsSendTokenController-sendMeToken-2", "summary": "Transfer Token For Authenticated User", "description": "Sends a token of any type from the authenticated user's wallet to a recipient", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletType", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "tokenLocator", "required": true, "in": "path", "description": "A token locator that supports native tokens, fungible tokens, and NFTs across different chains. It can be of the format:\n- `chain:address[:tokenId]`\n- `chain:currency`\n- `chain:address`", "example": [ "ethereum:eth", "ethereum:0x1234...890", "ethereum:0x1234...890:1", "solana:sol", "solana:EPjF...Dt1v", "sui:sui", "sui:0x123...xyz", "aptos:apt", "aptos:0x123...xyz" ], "schema": { "type": "string" } }, { "name": "x-idempotency-key", "required": false, "in": "header", "description": "Unique key to prevent duplicate transaction creation", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SendTokenDTO" } } } }, "responses": { "201": { "description": "The transaction has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2TransactionResponseDTO" } } } } } } }, "/unstable/wallets/me{walletLocator}/activity": { "get": { "operationId": "WalletActivityUnstableController-getMeWalletActivity-2", "summary": "Get Wallet Activity For Authenticated User (Unstable)", "description": "Retrieves activity history for the authenticated user's wallet including transactions and other relevant events. This is an unstable API that may change without notice.\n\n**API scope required**: `wallets.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "chain", "required": true, "in": "query", "description": "The blockchain network to query. Either an EVM chain, Solana, or Stellar.", "example": "ethereum", "schema": { "enum": [ "arbitrum-sepolia", "avalanche-fuji", "curtis", "barret-testnet", "base-goerli", "base-sepolia", "bsc-testnet", "chiliz-spicy-testnet", "coti-testnet", "ethereum-goerli", "ethereum-sepolia", "hedera-testnet", "hypersonic-testnet", "lightlink-pegasus", "mantle-sepolia", "optimism-goerli", "optimism-sepolia", "polygon-amoy", "polygon-mumbai", "crossmint-private-testnet-ethereum", "crossmint-private-testnet-polygon", "rari-testnet", "scroll-sepolia", "sei-atlantic-2-testnet", "shape-sepolia", "skale-nebula-testnet", "soneium-minato-testnet", "space-testnet", "story-testnet", "verify-testnet", "viction-testnet", "xai-sepolia-testnet", "zkatana", "zkyoto", "zora-goerli", "zora-sepolia", "mode-sepolia", "u2u-nebulas", "zenchain-testnet", "abstract-testnet", "world-chain-sepolia", "flow-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "apex", "boss", "hedera", "coti", "lightlink", "mantle", "skale-nebula", "sei-pacific-1", "chiliz", "avalanche", "xai", "shape", "rari", "scroll", "viction", "mode", "space", "soneium", "story", "u2u-solaris", "abstract", "world-chain", "flow", "solana", "stellar" ], "type": "string" } } ], "responses": { "200": { "description": "The wallet activity has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsActivityResponseUnstableDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified type not found for the authenticated user", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/unstable/wallets/{walletLocator}/tokens/{tokenLocator}/transfers": { "post": { "operationId": "WalletsSendTokenController-sendToken-2", "summary": "Transfer Token", "description": "Sends a token of any type from this wallet to a recipient", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::`\n- `userId::`\n- `userId::` (white label user example)\n- `phoneNumber::`\n- `twitter::`\n- `x::`\n- `me:` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm-smart-wallet", "userId:507f1f77bcf86cd799439011:solana-mpc-wallet", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm-smart-wallet", "phoneNumber:+12125551234:evm-smart-wallet", "twitter:johndoe:evm-smart-wallet", "x:@johndoe:evm-smart-wallet", "me:evm-smart-wallet" ], "schema": { "type": "string" } }, { "name": "tokenLocator", "required": true, "in": "path", "description": "A token locator that supports native tokens, fungible tokens, and NFTs across different chains. It can be of the format:\n- `chain:address[:tokenId]`\n- `chain:currency`\n- `chain:address`", "example": [ "ethereum:eth", "ethereum:0x1234...890", "ethereum:0x1234...890:1", "solana:sol", "solana:EPjF...Dt1v", "sui:sui", "sui:0x123...xyz", "aptos:apt", "aptos:0x123...xyz" ], "schema": { "type": "string" } }, { "name": "x-idempotency-key", "required": false, "in": "header", "description": "Unique key to prevent duplicate transaction creation", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SendTokenDTO" } } } }, "responses": { "201": { "description": "The transaction has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2TransactionResponseWithSendParamsDTO" } } } } } } }, "/unstable/wallets/{walletLocator}/balances": { "get": { "operationId": "BalanceUnstableController-getBalanceForLocator-2", "summary": "Get Wallet Balance", "description": "Get the balance of a wallet for a given chain and currency\n\n**API scope required**: `wallets:balance.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::`\n- `userId::`\n- `userId::` (white label user example)\n- `phoneNumber::`\n- `twitter::`\n- `x::`\n- `me:` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm-smart-wallet", "userId:507f1f77bcf86cd799439011:solana-mpc-wallet", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm-smart-wallet", "phoneNumber:+12125551234:evm-smart-wallet", "twitter:johndoe:evm-smart-wallet", "x:@johndoe:evm-smart-wallet", "me:evm-smart-wallet" ], "schema": { "type": "string" } }, { "name": "chains", "required": false, "in": "query", "description": "The blockchain(s) to query. Comma-separated list of chains", "example": "ethereum,polygon,stellar", "schema": { "type": "string" } }, { "name": "tokenLocators", "required": true, "in": "query", "description": "The tokens to query. Comma-separated list of either tokens or token locator strings", "example": "eth,base:0x123,solana:sol,stellar:xlm", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Returns the balance of the wallet for the given chain and currency", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletBalanceUnstableResponseDTO" } } } }, "400": { "description": "Returns an error (400) if the wallet locator is invalid or if the address type is not supported", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/unstable/wallets/{walletLocator}/activity": { "get": { "operationId": "WalletActivityUnstableController-getWalletActivity-2", "summary": "Get Wallet Activity (Unstable)", "description": "Retrieves activity history for the specified wallet including transactions and other relevant events. This is an unstable API that may change without notice.\n\n**API scope required**: `wallets.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::[:]` (walletType defaults to 'smart')\n- `userId::[:]`\n- `userId::[:]` (white label user example)\n- `phoneNumber::[:]`\n- `twitter::[:]`\n- `x::[:]`\n- `me:[:]` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm:smart", "email:user@example.com:evm", "userId:507f1f77bcf86cd799439011:solana:mpc", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm:smart", "phoneNumber:+12125551234:evm:smart", "twitter:johndoe:evm:smart", "x:@johndoe:evm:smart", "me:evm:smart" ], "schema": { "type": "string" } }, { "name": "chain", "required": true, "in": "query", "description": "The blockchain network to query. Either an EVM chain, Solana, or Stellar.", "example": "ethereum", "schema": { "enum": [ "arbitrum-sepolia", "avalanche-fuji", "curtis", "barret-testnet", "base-goerli", "base-sepolia", "bsc-testnet", "chiliz-spicy-testnet", "coti-testnet", "ethereum-goerli", "ethereum-sepolia", "hedera-testnet", "hypersonic-testnet", "lightlink-pegasus", "mantle-sepolia", "optimism-goerli", "optimism-sepolia", "polygon-amoy", "polygon-mumbai", "crossmint-private-testnet-ethereum", "crossmint-private-testnet-polygon", "rari-testnet", "scroll-sepolia", "sei-atlantic-2-testnet", "shape-sepolia", "skale-nebula-testnet", "soneium-minato-testnet", "space-testnet", "story-testnet", "verify-testnet", "viction-testnet", "xai-sepolia-testnet", "zkatana", "zkyoto", "zora-goerli", "zora-sepolia", "mode-sepolia", "u2u-nebulas", "zenchain-testnet", "abstract-testnet", "world-chain-sepolia", "flow-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "apex", "boss", "hedera", "coti", "lightlink", "mantle", "skale-nebula", "sei-pacific-1", "chiliz", "avalanche", "xai", "shape", "rari", "scroll", "viction", "mode", "space", "soneium", "story", "u2u-solaris", "abstract", "world-chain", "flow", "solana", "stellar" ], "type": "string" } } ], "responses": { "200": { "description": "The wallet activity has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsActivityResponseUnstableDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets/me{walletLocator}/transactions/{transactionId}/approvals": { "post": { "operationId": "WalletsV2025Controller-submitMeApprovals-2", "summary": "Approve Transaction For Authenticated User", "description": "Submit approval signature for a pending transaction. Required for transactions using external signers.\n\n**API scope required**: `wallets:transactions.sign`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "transactionId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SubmitApprovalV2025DTO" } } } }, "responses": { "201": { "description": "The approval has successfully been submitted to the transaction.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsTransactionV2025ResponseDTO" } } } }, "400": { "description": "Returns an error if the signer is not valid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if the wallet or transaction is not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "409": { "description": "Returns an error if the signature for signer was already submitted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "422": { "description": "Returns an error if the transaction already has the required number of approvals", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets/me{walletLocator}/transactions/{transactionId}": { "get": { "operationId": "WalletsV2025Controller-getMeTransaction-2", "summary": "Get Transaction For Authenticated User", "description": "Retrieves the current status and details of a specific transaction.\n\n**API scope required**: `wallets:transactions.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "transactionId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The transaction has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsTransactionV2025ResponseDTO" } } } }, "404": { "description": "Returns an error if the wallet or transaction is not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets/me{walletLocator}/transactions": { "post": { "operationId": "WalletsV2025Controller-createMeTransaction-2", "summary": "Create Transaction For Authenticated User", "description": "Creates a new transaction for the authenticated user. Transaction will be automatically broadcast once it has all necessary approvals.\n\n**API scope required**: `wallets:transactions.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "x-idempotency-key", "required": true, "in": "header", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateTransactionV2025DTO" } } } }, "responses": { "201": { "description": "The transaction has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsTransactionV2025ResponseDTO" } } } }, "400": { "description": "Returns an error if the transaction or the provided signer is not valid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified type is not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "422": { "description": "Returns an error if the transaction fails during simulation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2TransactionErrorDTO" } } } } } }, "get": { "operationId": "WalletsV2025Controller-getMeTransactionsWithoutChain-2", "summary": "Get Wallet Transactions For Authenticated User", "description": "Retrieves all transactions associated with the specified wallet.\n\n**API scope required**: `wallets:transactions.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "page", "required": false, "in": "query", "schema": { "pattern": "^[1-9]\\d*$", "default": "1", "type": "string" } }, { "name": "perPage", "required": false, "in": "query", "schema": { "pattern": "^[1-9]\\d*$", "default": "10", "type": "string" } } ], "responses": { "200": { "description": "The transactions have been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsMultipleTransactionV2025ResponseDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets/me{walletLocator}/tokens/{tokenLocator}/transfers": { "post": { "operationId": "WalletsSendTokenV2025Controller-sendMeToken-2", "summary": "Transfer Token For Authenticated User", "description": "Sends a token of any type from the authenticated user's wallet to a recipient", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "tokenLocator", "required": true, "in": "path", "description": "A token locator that supports native tokens, fungible tokens, and NFTs across different chains. It can be of the format:\n- `chain:address[:tokenId]`\n- `chain:currency`\n- `chain:address`", "example": [ "ethereum:eth", "ethereum:0x1234...890", "ethereum:0x1234...890:1", "solana:sol", "solana:EPjF...Dt1v", "sui:sui", "sui:0x123...xyz", "aptos:apt", "aptos:0x123...xyz" ], "schema": { "type": "string" } }, { "name": "x-idempotency-key", "required": false, "in": "header", "description": "Unique key to prevent duplicate transaction creation", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SendTokenV2025DTO" } } } }, "responses": { "201": { "description": "The transaction has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsTransactionV2025ResponseDTO" } } } } } } }, "/2025-06-09/wallets/me{walletLocator}/signers/{signer}": { "get": { "operationId": "WalletsV2025Controller-getMeDelegatedSigner-2", "summary": "Get Delegated Signer For Authenticated User", "description": "Retrieve details about a specific delegated signer by its locator.\n\n**API scope required**: `wallets.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "signer", "required": true, "in": "path", "description": "A signer locator that can be either a of format '' for external wallet type signers or ':'", "example": [ "passkey:cWtP7gmZbd98HbKUuGXx5Q", "api-key:123456789", "external-wallet:0x1234567890123456789012345678901234567890", "email:test@example.com", "phone:+1234567890" ], "schema": { "title": "Signer Locator", "type": "string" } } ], "responses": { "200": { "description": "The delegated signer has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DelegatedSignerV2025Dto" } } } }, "404": { "description": "Returns an error if the wallet or signer not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets/me{walletLocator}/signers": { "post": { "operationId": "WalletsV2025Controller-createMeDelegatedSigner-2", "summary": "Create Delegated Signer For Authenticated User", "description": "Register a delegated key for a smart wallet with optional restrictions around permissions and expiry date.\n\n**API scope required**: `wallets.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSignerV2025InputDto" } } } }, "responses": { "201": { "description": "The delegated signer has been successfully added to the wallet.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DelegatedSignerV2025Dto" } } } }, "400": { "description": "Returns an error if a delegated signer with specified configuration already exists", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets/me{walletLocator}/signatures/{signatureId}/approvals": { "post": { "operationId": "WalletsV2025Controller-submitMeSignatureApprovals-2", "summary": "Approve Signature For Authenticated User", "description": "Submit approval for a signature to sign a message or typed data.\n\n**API scope required**: `wallets:signatures.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "signatureId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SubmitApprovalV2025DTO" } } } }, "responses": { "201": { "description": "The signature has been successfully approved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsSignatureV2025ResponseDTO" } } } }, "400": { "description": "Returns an error if the signature is not valid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if the wallet or signature not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets/me{walletLocator}/signatures/{signatureId}": { "get": { "operationId": "WalletsV2025Controller-getMeSignature-2", "summary": "Get Signature For Authenticated User", "description": "Retrieves details about a specific signature by its ID.\n\n**API scope required**: `wallets:signatures.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "signatureId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The signature has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsSignatureV2025ResponseDTO" } } } }, "404": { "description": "Returns an error if the wallet or signature not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets/me{walletLocator}/signatures": { "post": { "operationId": "WalletsV2025Controller-createMeSignatureRequest-2", "summary": "Create Signature For Authenticated User", "description": "Creates a new signature for signing messages or typed data.\n\n**API scope required**: `wallets:signatures.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "x-idempotency-key", "required": true, "in": "header", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSignatureV2025DTO" } } } }, "responses": { "201": { "description": "The signature has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsSignatureV2025ResponseDTO" } } } }, "400": { "description": "Returns an error if the signature type is not supported", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } }, "get": { "operationId": "WalletsV2025Controller-getMeSignatures-2", "summary": "Get Wallet Signatures For Authenticated User", "description": "Retrieves all signatures associated with the specified wallet.\n\n**API scope required**: `wallets:signatures.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "page", "required": false, "in": "query", "schema": { "pattern": "^[1-9]\\d*$", "default": "1", "type": "string" } }, { "name": "perPage", "required": false, "in": "query", "schema": { "pattern": "^[1-9]\\d*$", "default": "10", "type": "string" } } ], "responses": { "200": { "description": "The signatures have been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsMultipleSignatureV2025ResponseDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets/me{walletLocator}": { "get": { "operationId": "WalletsV2025Controller-getMeWallet-2", "summary": "Get Wallet For Authenticated User", "description": "Retrieves a wallet for the authenticated user.\n\n**API scope required**: `wallets.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The record has been successfully retreived.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV2025ResponseDTO" } } } } } } }, "/2025-06-09/wallets/me": { "post": { "operationId": "WalletsV2025Controller-createMeWallet-2", "summary": "Create Wallet For Authenticated User", "description": "Creates a new wallet of specified type for the authenticated user. If called for a user who already has a wallet, returns the existing wallet. Supports both custodial and non-custodial wallet types. Uses client-side API key authentication.\n\n**API scope required**: `wallets.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateWalletV2025DTO" } } } }, "responses": { "201": { "description": "Returns an existing wallet (200) if one already exists for this user, or creates and returns a new wallet (201).", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV2025ResponseDTO" } } } } } } }, "/2025-06-09/wallets/{walletLocator}/transactions/{transactionId}/approvals": { "post": { "operationId": "WalletsV2025Controller-submitApprovals-2", "summary": "Approve Transaction", "description": "Submit approval signature for a pending transaction. Required for transactions using external signers.\n\n**API scope required**: `wallets:transactions.sign`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::[:]` (walletType defaults to 'smart')\n- `userId::[:]`\n- `userId::[:]` (white label user example)\n- `phoneNumber::[:]`\n- `twitter::[:]`\n- `x::[:]`\n- `me:[:]` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm:smart", "email:user@example.com:evm", "userId:507f1f77bcf86cd799439011:solana:mpc", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm:smart", "phoneNumber:+12125551234:evm:smart", "twitter:johndoe:evm:smart", "x:@johndoe:evm:smart", "me:evm:smart" ], "schema": { "type": "string" } }, { "name": "transactionId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SubmitApprovalV2025DTO" } } } }, "responses": { "201": { "description": "The approval has successfully been submitted to the transaction.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsTransactionV2025ResponseDTO" } } } }, "400": { "description": "Returns an error if the signer is not valid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if the wallet or transaction is not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "409": { "description": "Returns an error if the signature for signer was already submitted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "422": { "description": "Returns an error if the transaction already has the required number of approvals", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets/{walletLocator}/transactions/{transactionId}": { "get": { "operationId": "WalletsV2025Controller-getTransaction-2", "summary": "Get Transaction", "description": "Retrieves the current status and details of a specific transaction.\n\n**API scope required**: `wallets:transactions.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::[:]` (walletType defaults to 'smart')\n- `userId::[:]`\n- `userId::[:]` (white label user example)\n- `phoneNumber::[:]`\n- `twitter::[:]`\n- `x::[:]`\n- `me:[:]` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm:smart", "email:user@example.com:evm", "userId:507f1f77bcf86cd799439011:solana:mpc", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm:smart", "phoneNumber:+12125551234:evm:smart", "twitter:johndoe:evm:smart", "x:@johndoe:evm:smart", "me:evm:smart" ], "schema": { "type": "string" } }, { "name": "transactionId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The transaction has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsTransactionV2025ResponseDTO" } } } }, "404": { "description": "Returns an error if the wallet or transaction is not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets/{walletLocator}/transactions": { "post": { "operationId": "WalletsV2025Controller-createTransaction-2", "summary": "Create Transaction", "description": "Creates a new transaction for the specified wallet. Transaction will be automatically broadcast once it has all necessary approvals.\n\n**API scope required**: `wallets:transactions.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::[:]` (walletType defaults to 'smart')\n- `userId::[:]`\n- `userId::[:]` (white label user example)\n- `phoneNumber::[:]`\n- `twitter::[:]`\n- `x::[:]`\n- `me:[:]` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm:smart", "email:user@example.com:evm", "userId:507f1f77bcf86cd799439011:solana:mpc", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm:smart", "phoneNumber:+12125551234:evm:smart", "twitter:johndoe:evm:smart", "x:@johndoe:evm:smart", "me:evm:smart" ], "schema": { "type": "string" } }, { "name": "x-idempotency-key", "required": false, "in": "header", "description": "Unique key to prevent duplicate transaction creation", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateTransactionV2025DTO" } } } }, "responses": { "201": { "description": "The transaction has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsTransactionV2025ResponseDTO" } } } }, "400": { "description": "Returns an error if the transaction or the provided signer is not valid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "422": { "description": "Returns an error if the transaction fails during simulation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2TransactionErrorDTO" } } } } } }, "get": { "operationId": "WalletsV2025Controller-getTransactionsWithoutChain-2", "summary": "Get Wallet Transactions", "description": "Retrieves all transactions associated with the specified wallet.\n\n**API scope required**: `wallets:transactions.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::[:]` (walletType defaults to 'smart')\n- `userId::[:]`\n- `userId::[:]` (white label user example)\n- `phoneNumber::[:]`\n- `twitter::[:]`\n- `x::[:]`\n- `me:[:]` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm:smart", "email:user@example.com:evm", "userId:507f1f77bcf86cd799439011:solana:mpc", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm:smart", "phoneNumber:+12125551234:evm:smart", "twitter:johndoe:evm:smart", "x:@johndoe:evm:smart", "me:evm:smart" ], "schema": { "type": "string" } }, { "name": "page", "required": false, "in": "query", "schema": { "pattern": "^[1-9]\\d*$", "default": "1", "type": "string" } }, { "name": "perPage", "required": false, "in": "query", "schema": { "pattern": "^[1-9]\\d*$", "default": "10", "type": "string" } } ], "responses": { "200": { "description": "The transactions have been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsMultipleTransactionV2025ResponseDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets/{walletLocator}/tokens/{tokenLocator}/transfers": { "post": { "operationId": "WalletsSendTokenV2025Controller-sendToken-2", "summary": "Transfer Token", "description": "Sends a token of any type from this wallet to a recipient", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::[:]` (walletType defaults to 'smart')\n- `userId::[:]`\n- `userId::[:]` (white label user example)\n- `phoneNumber::[:]`\n- `twitter::[:]`\n- `x::[:]`\n- `me:[:]` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm:smart", "email:user@example.com:evm", "userId:507f1f77bcf86cd799439011:solana:mpc", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm:smart", "phoneNumber:+12125551234:evm:smart", "twitter:johndoe:evm:smart", "x:@johndoe:evm:smart", "me:evm:smart" ], "schema": { "type": "string" } }, { "name": "tokenLocator", "required": true, "in": "path", "description": "A token locator that supports native tokens, fungible tokens, and NFTs across different chains. It can be of the format:\n- `chain:address[:tokenId]`\n- `chain:currency`\n- `chain:address`", "example": [ "ethereum:eth", "ethereum:0x1234...890", "ethereum:0x1234...890:1", "solana:sol", "solana:EPjF...Dt1v", "sui:sui", "sui:0x123...xyz", "aptos:apt", "aptos:0x123...xyz" ], "schema": { "type": "string" } }, { "name": "x-idempotency-key", "required": false, "in": "header", "description": "Unique key to prevent duplicate transaction creation", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SendTokenV2025DTO" } } } }, "responses": { "201": { "description": "The transaction has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsTransactionV2025ResponseDTO" } } } } } } }, "/2025-06-09/wallets/{walletLocator}/signers/{signer}": { "get": { "operationId": "WalletsV2025Controller-getDelegatedSigner-2", "summary": "Get Delegated Signer", "description": "Retrieve details about a specific delegated signer by its locator.\n\n**API scope required**: `wallets.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::[:]` (walletType defaults to 'smart')\n- `userId::[:]`\n- `userId::[:]` (white label user example)\n- `phoneNumber::[:]`\n- `twitter::[:]`\n- `x::[:]`\n- `me:[:]` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm:smart", "email:user@example.com:evm", "userId:507f1f77bcf86cd799439011:solana:mpc", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm:smart", "phoneNumber:+12125551234:evm:smart", "twitter:johndoe:evm:smart", "x:@johndoe:evm:smart", "me:evm:smart" ], "schema": { "type": "string" } }, { "name": "signer", "required": true, "in": "path", "description": "A signer locator that can be either a of format '' for external wallet type signers or ':'", "example": [ "passkey:cWtP7gmZbd98HbKUuGXx5Q", "api-key:123456789", "external-wallet:0x1234567890123456789012345678901234567890", "email:test@example.com", "phone:+1234567890" ], "schema": { "title": "Signer Locator", "type": "string" } } ], "responses": { "200": { "description": "The delegated signer has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DelegatedSignerV2025Dto" } } } }, "404": { "description": "Returns an error if the wallet or signer not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets/{walletLocator}/signers": { "post": { "operationId": "WalletsV2025Controller-createDelegatedSigner-2", "summary": "Create Delegated Signer", "description": "Create a delegated signer for a smart wallet with optional restrictions around permissions and expiry date.\n\n**API scope required**: `wallets.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::[:]` (walletType defaults to 'smart')\n- `userId::[:]`\n- `userId::[:]` (white label user example)\n- `phoneNumber::[:]`\n- `twitter::[:]`\n- `x::[:]`\n- `me:[:]` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm:smart", "email:user@example.com:evm", "userId:507f1f77bcf86cd799439011:solana:mpc", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm:smart", "phoneNumber:+12125551234:evm:smart", "twitter:johndoe:evm:smart", "x:@johndoe:evm:smart", "me:evm:smart" ], "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSignerV2025InputDto" } } } }, "responses": { "201": { "description": "The delegated signer has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DelegatedSignerV2025Dto" } } } }, "400": { "description": "Returns an error if a delegated signer with specified configuration already exists", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets/{walletLocator}/signatures/{signatureId}/approvals": { "post": { "operationId": "WalletsV2025Controller-submitSignatureApprovals-2", "summary": "Approve Signature", "description": "Submit approval for a signature to sign a message or typed data.\n\n**API scope required**: `wallets:signatures.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::[:]` (walletType defaults to 'smart')\n- `userId::[:]`\n- `userId::[:]` (white label user example)\n- `phoneNumber::[:]`\n- `twitter::[:]`\n- `x::[:]`\n- `me:[:]` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm:smart", "email:user@example.com:evm", "userId:507f1f77bcf86cd799439011:solana:mpc", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm:smart", "phoneNumber:+12125551234:evm:smart", "twitter:johndoe:evm:smart", "x:@johndoe:evm:smart", "me:evm:smart" ], "schema": { "type": "string" } }, { "name": "signatureId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SubmitApprovalV2025DTO" } } } }, "responses": { "201": { "description": "The signature has been successfully approved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsSignatureV2025ResponseDTO" } } } }, "400": { "description": "Returns an error if the signature is not valid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if the wallet or signature not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets/{walletLocator}/signatures/{signatureId}": { "get": { "operationId": "WalletsV2025Controller-getSignature-2", "summary": "Get Signature", "description": "Retrieves details about a specific signature by its ID.\n\n**API scope required**: `wallets:signatures.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::[:]` (walletType defaults to 'smart')\n- `userId::[:]`\n- `userId::[:]` (white label user example)\n- `phoneNumber::[:]`\n- `twitter::[:]`\n- `x::[:]`\n- `me:[:]` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm:smart", "email:user@example.com:evm", "userId:507f1f77bcf86cd799439011:solana:mpc", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm:smart", "phoneNumber:+12125551234:evm:smart", "twitter:johndoe:evm:smart", "x:@johndoe:evm:smart", "me:evm:smart" ], "schema": { "type": "string" } }, { "name": "signatureId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The signature has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsSignatureV2025ResponseDTO" } } } }, "404": { "description": "Returns an error if the wallet or signature not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets/{walletLocator}/signatures": { "post": { "operationId": "WalletsV2025Controller-createSignatureRequest-2", "summary": "Create Signature", "description": "Creates a new signature for signing messages or typed data.\n\n**API scope required**: `wallets:signatures.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::[:]` (walletType defaults to 'smart')\n- `userId::[:]`\n- `userId::[:]` (white label user example)\n- `phoneNumber::[:]`\n- `twitter::[:]`\n- `x::[:]`\n- `me:[:]` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm:smart", "email:user@example.com:evm", "userId:507f1f77bcf86cd799439011:solana:mpc", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm:smart", "phoneNumber:+12125551234:evm:smart", "twitter:johndoe:evm:smart", "x:@johndoe:evm:smart", "me:evm:smart" ], "schema": { "type": "string" } }, { "name": "x-idempotency-key", "required": false, "in": "header", "description": "Unique key to prevent duplicate signature creation", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSignatureV2025DTO" } } } }, "responses": { "201": { "description": "The signature has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsSignatureV2025ResponseDTO" } } } }, "400": { "description": "Returns an error if the signature type is not supported", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } }, "get": { "operationId": "WalletsV2025Controller-getAllSignatures-2", "summary": "Get All Signatures", "description": "Retrieves all signatures associated with the specified wallet.\n\n**API scope required**: `wallets:signatures.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::[:]` (walletType defaults to 'smart')\n- `userId::[:]`\n- `userId::[:]` (white label user example)\n- `phoneNumber::[:]`\n- `twitter::[:]`\n- `x::[:]`\n- `me:[:]` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm:smart", "email:user@example.com:evm", "userId:507f1f77bcf86cd799439011:solana:mpc", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm:smart", "phoneNumber:+12125551234:evm:smart", "twitter:johndoe:evm:smart", "x:@johndoe:evm:smart", "me:evm:smart" ], "schema": { "type": "string" } }, { "name": "page", "required": false, "in": "query", "schema": { "pattern": "^[1-9]\\d*$", "default": "1", "type": "string" } }, { "name": "perPage", "required": false, "in": "query", "schema": { "pattern": "^[1-9]\\d*$", "default": "10", "type": "string" } } ], "responses": { "200": { "description": "The signatures have been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsMultipleSignatureV2025ResponseDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets/{walletLocator}/balances": { "get": { "operationId": "BalanceV20250609Controller-getBalanceForLocator-2", "summary": "Get Wallet Balance", "description": "Get the balance of a wallet for a given chain and currency\n\n**API scope required**: `wallets:balance.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::[:]` (walletType defaults to 'smart')\n- `userId::[:]`\n- `userId::[:]` (white label user example)\n- `phoneNumber::[:]`\n- `twitter::[:]`\n- `x::[:]`\n- `me:[:]` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm:smart", "email:user@example.com:evm", "userId:507f1f77bcf86cd799439011:solana:mpc", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm:smart", "phoneNumber:+12125551234:evm:smart", "twitter:johndoe:evm:smart", "x:@johndoe:evm:smart", "me:evm:smart" ], "schema": { "type": "string" } }, { "name": "chains", "required": false, "in": "query", "description": "The blockchain(s) to query. Comma-separated list of chains", "example": "ethereum,polygon", "schema": { "type": "string" } }, { "name": "tokens", "required": true, "in": "query", "description": "The tokens to query. Comma-separated list of either tokens or token locator strings", "example": "eth,base:0x123,solana:sol", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Returns the balance of the wallet for the given chain and currency", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletBalanceV20250609ResponseDTO" } } } }, "400": { "description": "Returns an error (400) if the wallet locator is invalid or if the address type is not supported", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets/{walletLocator}": { "get": { "operationId": "WalletsV2025Controller-getWalletByLocator-2", "summary": "Get Wallet By Locator", "description": "Retrieves a wallet by its locator (address or user identifier and wallet type)\n\n**API scope required**: `wallets.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::[:]` (walletType defaults to 'smart')\n- `userId::[:]`\n- `userId::[:]` (white label user example)\n- `phoneNumber::[:]`\n- `twitter::[:]`\n- `x::[:]`\n- `me:[:]` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm:smart", "email:user@example.com:evm", "userId:507f1f77bcf86cd799439011:solana:mpc", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm:smart", "phoneNumber:+12125551234:evm:smart", "twitter:johndoe:evm:smart", "x:@johndoe:evm:smart", "me:evm:smart" ], "schema": { "type": "string" } } ], "responses": { "200": { "description": "The record has been successfully retreived.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV2025ResponseDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets": { "post": { "operationId": "WalletsV2025Controller-createWallet-2", "summary": "Create Wallet", "description": "Creates a new wallet of specified type. If called with an idempotency key or for a user who already has a wallet, returns existing wallet. When owner is provided, subsequent calls with the same owner will return the existing wallet. Supports both custodial and non-custodial wallet types.\n\n**API scope required**: `wallets.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "x-idempotency-key", "required": false, "in": "header", "description": "Unique key to prevent duplicate wallet creation", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateWalletV2025DTO" } } } }, "responses": { "201": { "description": "Returns an existing wallet (200) if one already exists for the provided owner or idempotencyKey, or creates and returns a new wallet (201). The response includes the wallet details and whether it was newly created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV2025ResponseDTO" } } } }, "400": { "description": "Returns an error if a wallet with the specified creation seed and signer configuration already exists", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2022-06-09/wallets/me{walletType}/transactions/{transactionId}/approvals": { "post": { "operationId": "WalletsV1Controller-submitMeApprovals-4", "summary": "Approve Transaction For Authenticated User", "description": "Submit approval signature for a pending transaction. Required for transactions using external signers.\n\n**API scope required**: `wallets:transactions.sign`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletType", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "transactionId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SubmitApprovalDTO" } } } }, "responses": { "201": { "description": "The approval has successfully been submitted to the transaction.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2TransactionResponseDTO" } } } }, "400": { "description": "Returns an error if the signer is not valid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if the wallet or transaction is not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "409": { "description": "Returns an error if the signature for signer was already submitted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "422": { "description": "Returns an error if the transaction already has the required number of approvals", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2022-06-09/wallets/me{walletType}/transactions/{transactionId}": { "get": { "operationId": "WalletsV1Controller-getMeTransaction-4", "summary": "Get Transaction For Authenticated User", "description": "Retrieves the current status and details of a specific transaction.\n\n**API scope required**: `wallets:transactions.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletType", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "transactionId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The transaction has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2TransactionResponseDTO" } } } }, "404": { "description": "Returns an error if the wallet or transaction is not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2022-06-09/wallets/me{walletType}/transactions": { "post": { "operationId": "WalletsV1Controller-createMeTransaction-4", "summary": "Create Transaction For Authenticated User", "description": "Creates a new transaction for the authenticated user. Transaction will be automatically broadcast once it has all necessary approvals.\n\n**API scope required**: `wallets:transactions.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletType", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "x-idempotency-key", "required": true, "in": "header", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateTransactionDTO" } } } }, "responses": { "201": { "description": "The transaction has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2TransactionResponseDTO" } } } }, "400": { "description": "Returns an error if the transaction or the provided signer is not valid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified type is not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "422": { "description": "Returns an error if the transaction fails during simulation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2TransactionErrorDTO" } } } } } }, "get": { "operationId": "WalletsV1Controller-getMeTransactionsWithoutChain-4", "summary": "Get Wallet Transactions For Authenticated User", "description": "Retrieves all transactions associated with the specified wallet.\n\n**API scope required**: `wallets:transactions.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletType", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "page", "required": false, "in": "query", "schema": { "pattern": "^[1-9]\\d*$", "default": "1", "type": "string" } }, { "name": "perPage", "required": false, "in": "query", "schema": { "pattern": "^[1-9]\\d*$", "default": "10", "type": "string" } } ], "responses": { "200": { "description": "The transactions have been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2TransactionsResponseDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2022-06-09/wallets/me{walletType}/signers/{signer}": { "get": { "operationId": "WalletsV1Controller-getMeDelegatedSigner-4", "summary": "Get Delegated Signer For Authenticated User", "description": "Retrieve details about a specific delegated signer by its locator.\n\n**API scope required**: `wallets.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletType", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "signer", "required": true, "in": "path", "description": "A signer locator that can be either a of format '' for keypair type signers or ':'", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ], "schema": { "title": "Signer Locator", "type": "string" } } ], "responses": { "200": { "description": "The delegated signer has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DelegatedSignerDto" } } } }, "404": { "description": "Returns an error if the wallet or signer not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2022-06-09/wallets/me{walletType}/signers": { "post": { "operationId": "WalletsV1Controller-createMeDelegatedSigner-4", "summary": "Register Delegated Signer For Authenticated User", "description": "Register a delegated key for a smart wallet with optional restrictions around permissions and expiry date.\n\n**API scope required**: `wallets.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletType", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSignerInputDto" } } } }, "responses": { "201": { "description": "The delegated signer has been successfully added to the wallet.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DelegatedSignerDto" } } } }, "400": { "description": "Returns an error if a delegated signer with specified configuration already exists", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2022-06-09/wallets/me{walletType}/signatures/{signatureId}/approvals": { "post": { "operationId": "WalletsV1Controller-submitMeSignatureApprovals-4", "summary": "Approve Signature For Authenticated User", "description": "Submit approval for a signature to sign a message or typed data.\n\n**API scope required**: `wallets:signatures.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletType", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "signatureId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SubmitApprovalDTO" } } } }, "responses": { "201": { "description": "The signature has been successfully approved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2SignatureResponseDTO" } } } }, "400": { "description": "Returns an error if the signature is not valid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if the wallet or signature not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2022-06-09/wallets/me{walletType}/signatures/{signatureId}": { "get": { "operationId": "WalletsV1Controller-getMeSignature-4", "summary": "Get Signature For Authenticated User", "description": "Retrieves details about a specific signature by its ID.\n\n**API scope required**: `wallets:signatures.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletType", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "signatureId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The signature has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2SignatureResponseDTO" } } } }, "404": { "description": "Returns an error if the wallet or signature not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2022-06-09/wallets/me{walletType}/signatures": { "post": { "operationId": "WalletsV1Controller-createMeSignatureRequest-4", "summary": "Create Signature For Authenticated User", "description": "Creates a new signature for signing messages or typed data.\n\n**API scope required**: `wallets:signatures.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletType", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "x-idempotency-key", "required": false, "in": "header", "description": "Unique key to prevent duplicate signature creation", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSignatureRequestDTO" } } } }, "responses": { "201": { "description": "The signature has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2SignatureResponseDTO" } } } }, "400": { "description": "Returns an error if the signature type is not supported", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2022-06-09/wallets/me{walletType}/activity": { "get": { "operationId": "WalletsV1Controller-getMeWalletActivity-4", "summary": "Get Wallet Activity For Authenticated User", "description": "Retrieves activity history for the authenticated user's wallet including transactions and other relevant events.\n\n**API scope required**: `wallets.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletType", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "chain", "required": true, "in": "query", "description": "The blockchain network to query. Either an EVM chain, Solana, or Stellar.", "example": "ethereum", "schema": { "enum": [ "arbitrum-sepolia", "avalanche-fuji", "curtis", "barret-testnet", "base-goerli", "base-sepolia", "bsc-testnet", "chiliz-spicy-testnet", "coti-testnet", "ethereum-goerli", "ethereum-sepolia", "hedera-testnet", "hypersonic-testnet", "lightlink-pegasus", "mantle-sepolia", "optimism-goerli", "optimism-sepolia", "polygon-amoy", "polygon-mumbai", "crossmint-private-testnet-ethereum", "crossmint-private-testnet-polygon", "rari-testnet", "scroll-sepolia", "sei-atlantic-2-testnet", "shape-sepolia", "skale-nebula-testnet", "soneium-minato-testnet", "space-testnet", "story-testnet", "verify-testnet", "viction-testnet", "xai-sepolia-testnet", "zkatana", "zkyoto", "zora-goerli", "zora-sepolia", "mode-sepolia", "u2u-nebulas", "zenchain-testnet", "abstract-testnet", "world-chain-sepolia", "flow-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "apex", "boss", "hedera", "coti", "lightlink", "mantle", "skale-nebula", "sei-pacific-1", "chiliz", "avalanche", "xai", "shape", "rari", "scroll", "viction", "mode", "space", "soneium", "story", "u2u-solaris", "abstract", "world-chain", "flow", "solana", "stellar" ], "type": "string" } } ], "responses": { "200": { "description": "The wallet activity has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2ActivityResponseDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified type not found for the authenticated user", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2022-06-09/wallets/me{walletType}": { "get": { "operationId": "WalletsV1Controller-getMeWallet-4", "summary": "Get Wallet For Authenticated User", "description": "Retrieves a wallet for the authenticated user.\n\n**API scope required**: `wallets.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletType", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The record has been successfully retreived.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ResponseDTO" } } } } } } }, "/2022-06-09/wallets/me": { "post": { "operationId": "WalletsV1Controller-createMeWallet-4", "summary": "Create Wallet For Authenticated User", "description": "Creates a new wallet of specified type for the authenticated user. If called for a user who already has a wallet, returns the existing wallet. Supports both custodial and non-custodial wallet types. Uses client-side API key authentication.\n\n**API scope required**: `wallets.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateWalletDTO" } } } }, "responses": { "201": { "description": "Returns an existing wallet (200) if one already exists for this user, or creates and returns a new wallet (201).", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ResponseDTO" } } } } } } }, "/2022-06-09/wallets/{walletLocator}/transactions/{transactionId}/approvals": { "post": { "operationId": "WalletsV1Controller-submitApprovals-4", "summary": "Approve Transaction", "description": "Submit approval signature for a pending transaction. Required for transactions using external signers.\n\n**API scope required**: `wallets:transactions.sign`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::`\n- `userId::`\n- `userId::` (white label user example)\n- `phoneNumber::`\n- `twitter::`\n- `x::`\n- `me:` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm-smart-wallet", "userId:507f1f77bcf86cd799439011:solana-mpc-wallet", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm-smart-wallet", "phoneNumber:+12125551234:evm-smart-wallet", "twitter:johndoe:evm-smart-wallet", "x:@johndoe:evm-smart-wallet", "me:evm-smart-wallet" ], "schema": { "type": "string" } }, { "name": "transactionId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SubmitApprovalDTO" } } } }, "responses": { "201": { "description": "The approval has successfully been submitted to the transaction.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2TransactionResponseDTO" } } } }, "400": { "description": "Returns an error if the signer is not valid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if the wallet or transaction is not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "409": { "description": "Returns an error if the signature for signer was already submitted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "422": { "description": "Returns an error if the transaction already has the required number of approvals", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2022-06-09/wallets/{walletLocator}/transactions/{transactionId}": { "get": { "operationId": "WalletsV1Controller-getTransaction-4", "summary": "Get Transaction", "description": "Retrieves the current status and details of a specific transaction.\n\n**API scope required**: `wallets:transactions.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::`\n- `userId::`\n- `userId::` (white label user example)\n- `phoneNumber::`\n- `twitter::`\n- `x::`\n- `me:` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm-smart-wallet", "userId:507f1f77bcf86cd799439011:solana-mpc-wallet", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm-smart-wallet", "phoneNumber:+12125551234:evm-smart-wallet", "twitter:johndoe:evm-smart-wallet", "x:@johndoe:evm-smart-wallet", "me:evm-smart-wallet" ], "schema": { "type": "string" } }, { "name": "transactionId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The transaction has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2TransactionResponseDTO" } } } }, "404": { "description": "Returns an error if the wallet or transaction is not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2022-06-09/wallets/{walletLocator}/transactions": { "post": { "operationId": "WalletsV1Controller-createTransaction-4", "summary": "Create Transaction", "description": "Creates a new transaction for the specified wallet. Transaction will be automatically broadcast once it has all necessary approvals.\n\n**API scope required**: `wallets:transactions.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::`\n- `userId::`\n- `userId::` (white label user example)\n- `phoneNumber::`\n- `twitter::`\n- `x::`\n- `me:` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm-smart-wallet", "userId:507f1f77bcf86cd799439011:solana-mpc-wallet", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm-smart-wallet", "phoneNumber:+12125551234:evm-smart-wallet", "twitter:johndoe:evm-smart-wallet", "x:@johndoe:evm-smart-wallet", "me:evm-smart-wallet" ], "schema": { "type": "string" } }, { "name": "x-idempotency-key", "required": false, "in": "header", "description": "Unique key to prevent duplicate transaction creation", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateTransactionDTO" } } } }, "responses": { "201": { "description": "The transaction has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2TransactionResponseDTO" } } } }, "400": { "description": "Returns an error if the transaction or the provided signer is not valid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "422": { "description": "Returns an error if the transaction fails during simulation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2TransactionErrorDTO" } } } } } }, "get": { "operationId": "WalletsV1Controller-getTransactionsWithoutChain-4", "summary": "Get Wallet Transactions", "description": "Retrieves all transactions associated with the specified wallet.\n\n**API scope required**: `wallets:transactions.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::`\n- `userId::`\n- `userId::` (white label user example)\n- `phoneNumber::`\n- `twitter::`\n- `x::`\n- `me:` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm-smart-wallet", "userId:507f1f77bcf86cd799439011:solana-mpc-wallet", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm-smart-wallet", "phoneNumber:+12125551234:evm-smart-wallet", "twitter:johndoe:evm-smart-wallet", "x:@johndoe:evm-smart-wallet", "me:evm-smart-wallet" ], "schema": { "type": "string" } }, { "name": "page", "required": false, "in": "query", "schema": { "pattern": "^[1-9]\\d*$", "default": "1", "type": "string" } }, { "name": "perPage", "required": false, "in": "query", "schema": { "pattern": "^[1-9]\\d*$", "default": "10", "type": "string" } } ], "responses": { "200": { "description": "The transactions have been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2TransactionsResponseDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2022-06-09/wallets/{walletLocator}/signers/{signer}": { "get": { "operationId": "WalletsV1Controller-getDelegatedSigner-4", "summary": "Get Delegated Signer", "description": "Retrieve details about a specific delegated signer by its locator.\n\n**API scope required**: `wallets.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::`\n- `userId::`\n- `userId::` (white label user example)\n- `phoneNumber::`\n- `twitter::`\n- `x::`\n- `me:` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm-smart-wallet", "userId:507f1f77bcf86cd799439011:solana-mpc-wallet", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm-smart-wallet", "phoneNumber:+12125551234:evm-smart-wallet", "twitter:johndoe:evm-smart-wallet", "x:@johndoe:evm-smart-wallet", "me:evm-smart-wallet" ], "schema": { "type": "string" } }, { "name": "signer", "required": true, "in": "path", "description": "A signer locator that can be either a of format '' for keypair type signers or ':'", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ], "schema": { "title": "Signer Locator", "type": "string" } } ], "responses": { "200": { "description": "The delegated signer has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DelegatedSignerDto" } } } }, "404": { "description": "Returns an error if the wallet or signer not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2022-06-09/wallets/{walletLocator}/signers": { "post": { "operationId": "WalletsV1Controller-createDelegatedSigner-4", "summary": "Register Delegated Signer", "description": "Register a delegated key for a smart wallet with optional restrictions around permissions and expiry date.\n\n**API scope required**: `wallets.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::`\n- `userId::`\n- `userId::` (white label user example)\n- `phoneNumber::`\n- `twitter::`\n- `x::`\n- `me:` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm-smart-wallet", "userId:507f1f77bcf86cd799439011:solana-mpc-wallet", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm-smart-wallet", "phoneNumber:+12125551234:evm-smart-wallet", "twitter:johndoe:evm-smart-wallet", "x:@johndoe:evm-smart-wallet", "me:evm-smart-wallet" ], "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSignerInputDto" } } } }, "responses": { "201": { "description": "The delegated signer has been successfully added to the wallet.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DelegatedSignerDto" } } } }, "400": { "description": "Returns an error if a delegated signer with specified configuration already exists", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2022-06-09/wallets/{walletLocator}/signatures/{signatureId}/approvals": { "post": { "operationId": "WalletsV1Controller-submitSignatureApprovals-4", "summary": "Approve Signature", "description": "Submit approval for a signature to sign a message or typed data.\n\n**API scope required**: `wallets:signatures.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::`\n- `userId::`\n- `userId::` (white label user example)\n- `phoneNumber::`\n- `twitter::`\n- `x::`\n- `me:` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm-smart-wallet", "userId:507f1f77bcf86cd799439011:solana-mpc-wallet", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm-smart-wallet", "phoneNumber:+12125551234:evm-smart-wallet", "twitter:johndoe:evm-smart-wallet", "x:@johndoe:evm-smart-wallet", "me:evm-smart-wallet" ], "schema": { "type": "string" } }, { "name": "signatureId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SubmitApprovalDTO" } } } }, "responses": { "201": { "description": "The signature has been successfully approved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2SignatureResponseDTO" } } } }, "400": { "description": "Returns an error if the signature is not valid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if the wallet or signature not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2022-06-09/wallets/{walletLocator}/signatures/{signatureId}": { "get": { "operationId": "WalletsV1Controller-getSignature-4", "summary": "Get Signature", "description": "Retrieves details about a specific signature by its ID.\n\n**API scope required**: `wallets:signatures.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::`\n- `userId::`\n- `userId::` (white label user example)\n- `phoneNumber::`\n- `twitter::`\n- `x::`\n- `me:` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm-smart-wallet", "userId:507f1f77bcf86cd799439011:solana-mpc-wallet", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm-smart-wallet", "phoneNumber:+12125551234:evm-smart-wallet", "twitter:johndoe:evm-smart-wallet", "x:@johndoe:evm-smart-wallet", "me:evm-smart-wallet" ], "schema": { "type": "string" } }, { "name": "signatureId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The signature has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2SignatureResponseDTO" } } } }, "404": { "description": "Returns an error if the wallet or signature not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2022-06-09/wallets/{walletLocator}/signatures": { "post": { "operationId": "WalletsV1Controller-createSignatureRequest-4", "summary": "Create Signature", "description": "Creates a new signature for signing messages or typed data.\n\n**API scope required**: `wallets:signatures.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::`\n- `userId::`\n- `userId::` (white label user example)\n- `phoneNumber::`\n- `twitter::`\n- `x::`\n- `me:` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm-smart-wallet", "userId:507f1f77bcf86cd799439011:solana-mpc-wallet", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm-smart-wallet", "phoneNumber:+12125551234:evm-smart-wallet", "twitter:johndoe:evm-smart-wallet", "x:@johndoe:evm-smart-wallet", "me:evm-smart-wallet" ], "schema": { "type": "string" } }, { "name": "x-idempotency-key", "required": false, "in": "header", "description": "Unique key to prevent duplicate signature creation", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSignatureRequestDTO" } } } }, "responses": { "201": { "description": "The signature has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2SignatureResponseDTO" } } } }, "400": { "description": "Returns an error if the signature type is not supported", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } }, "get": { "operationId": "WalletsV1Controller-getAllSignatures-4", "summary": "Get All Signatures", "description": "Retrieves all signatures associated with the specified wallet.\n\n**API scope required**: `wallets:signatures.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::`\n- `userId::`\n- `userId::` (white label user example)\n- `phoneNumber::`\n- `twitter::`\n- `x::`\n- `me:` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm-smart-wallet", "userId:507f1f77bcf86cd799439011:solana-mpc-wallet", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm-smart-wallet", "phoneNumber:+12125551234:evm-smart-wallet", "twitter:johndoe:evm-smart-wallet", "x:@johndoe:evm-smart-wallet", "me:evm-smart-wallet" ], "schema": { "type": "string" } }, { "name": "page", "required": false, "in": "query", "schema": { "pattern": "^[1-9]\\d*$", "default": "1", "type": "string" } }, { "name": "perPage", "required": false, "in": "query", "schema": { "pattern": "^[1-9]\\d*$", "default": "10", "type": "string" } } ], "responses": { "200": { "description": "The signatures have been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2MultipleSignatureResponseDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2022-06-09/wallets/{walletLocator}/activity": { "get": { "operationId": "WalletsV1Controller-getWalletActivity-4", "summary": "Get Wallet Activity", "description": "Retrieves activity history for the specified wallet including transactions and other relevant events.\n\n**API scope required**: `wallets.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::`\n- `userId::`\n- `userId::` (white label user example)\n- `phoneNumber::`\n- `twitter::`\n- `x::`\n- `me:` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm-smart-wallet", "userId:507f1f77bcf86cd799439011:solana-mpc-wallet", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm-smart-wallet", "phoneNumber:+12125551234:evm-smart-wallet", "twitter:johndoe:evm-smart-wallet", "x:@johndoe:evm-smart-wallet", "me:evm-smart-wallet" ], "schema": { "type": "string" } }, { "name": "chain", "required": true, "in": "query", "description": "The blockchain network to query. Either an EVM chain, Solana, or Stellar.", "example": "ethereum", "schema": { "enum": [ "arbitrum-sepolia", "avalanche-fuji", "curtis", "barret-testnet", "base-goerli", "base-sepolia", "bsc-testnet", "chiliz-spicy-testnet", "coti-testnet", "ethereum-goerli", "ethereum-sepolia", "hedera-testnet", "hypersonic-testnet", "lightlink-pegasus", "mantle-sepolia", "optimism-goerli", "optimism-sepolia", "polygon-amoy", "polygon-mumbai", "crossmint-private-testnet-ethereum", "crossmint-private-testnet-polygon", "rari-testnet", "scroll-sepolia", "sei-atlantic-2-testnet", "shape-sepolia", "skale-nebula-testnet", "soneium-minato-testnet", "space-testnet", "story-testnet", "verify-testnet", "viction-testnet", "xai-sepolia-testnet", "zkatana", "zkyoto", "zora-goerli", "zora-sepolia", "mode-sepolia", "u2u-nebulas", "zenchain-testnet", "abstract-testnet", "world-chain-sepolia", "flow-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "apex", "boss", "hedera", "coti", "lightlink", "mantle", "skale-nebula", "sei-pacific-1", "chiliz", "avalanche", "xai", "shape", "rari", "scroll", "viction", "mode", "space", "soneium", "story", "u2u-solaris", "abstract", "world-chain", "flow", "solana", "stellar" ], "type": "string" } } ], "responses": { "200": { "description": "The wallet activity has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2ActivityResponseDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2022-06-09/wallets/{walletLocator}": { "get": { "operationId": "WalletsV1Controller-getWalletByLocator-4", "summary": "Get Wallet By Locator", "description": "Retrieves a wallet by its locator (address or user identifier and wallet type)\n\n**API scope required**: `wallets.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::`\n- `userId::`\n- `userId::` (white label user example)\n- `phoneNumber::`\n- `twitter::`\n- `x::`\n- `me:` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm-smart-wallet", "userId:507f1f77bcf86cd799439011:solana-mpc-wallet", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm-smart-wallet", "phoneNumber:+12125551234:evm-smart-wallet", "twitter:johndoe:evm-smart-wallet", "x:@johndoe:evm-smart-wallet", "me:evm-smart-wallet" ], "schema": { "type": "string" } } ], "responses": { "200": { "description": "The record has been successfully retreived.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ResponseDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2022-06-09/wallets/{locator}/nfts": { "get": { "operationId": "WalletNFTController-getNFTsFromWallet-4", "summary": "Get NFTs from Wallet", "description": "Retrieves NFTs from a wallet.\n\n**API scope required**: `wallets:nfts.read`", "parameters": [ { "name": "page", "required": false, "in": "query", "schema": { "pattern": "^[1-9]\\d*$", "default": "1", "type": "string" } }, { "name": "perPage", "required": false, "in": "query", "schema": { "pattern": "^[1-9]\\d*$", "default": "10", "type": "string" } }, { "name": "contractAddress", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "tokenId", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "locator", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Returns an array of NFTs in the wallet", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletNFTsResponseDto" } } } } } } }, "/2022-06-09/wallets": { "post": { "operationId": "WalletsV1Controller-createWallet-4", "summary": "Create Wallet", "description": "Creates a new wallet of specified type. If called with an idempotency key or for a user who already has a wallet, returns existing wallet. When linkedUser is provided, subsequent calls with the same linkedUser will return the existing wallet. Supports both custodial and non-custodial wallet types.\n\n**API scope required**: `wallets.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "x-idempotency-key", "required": false, "in": "header", "description": "Unique key to prevent duplicate wallet creation", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateWalletDTO" } } } }, "responses": { "201": { "description": "Returns an existing wallet (200) if one already exists for the provided linkedUser or idempotencyKey, or creates and returns a new wallet (201). The response includes the wallet details and whether it was newly created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ResponseDTO" } } } }, "400": { "description": "Returns an error if a wallet with the specified creation seed and signer configuration already exists", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } } }, "info": { "title": "Crossmint Wallets API", "description": "Crossmint Wallets API", "version": "1.0.0", "contact": { "name": "Crossmint Support", "url": "https://www.crossmint.com", "email": "support@crossmint.com" } }, "tags": [], "servers": [ { "url": "https://staging.crossmint.com/api", "description": "Staging environment (testnets)" }, { "url": "https://www.crossmint.com/api", "description": "Production environment (mainnets)" } ], "components": { "schemas": { "CreateSignatureRequestDTO": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["evm-message"] }, "params": { "type": "object", "properties": { "message": { "type": "string", "description": "The message in plain text to sign" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer who will submit this signature. Defaults to the wallet's admin signer.", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "chain": { "type": "string", "enum": [ "arbitrum-sepolia", "avalanche-fuji", "curtis", "barret-testnet", "base-goerli", "base-sepolia", "bsc-testnet", "chiliz-spicy-testnet", "coti-testnet", "ethereum-goerli", "ethereum-sepolia", "hedera-testnet", "hypersonic-testnet", "lightlink-pegasus", "mantle-sepolia", "optimism-goerli", "optimism-sepolia", "polygon-amoy", "polygon-mumbai", "crossmint-private-testnet-ethereum", "crossmint-private-testnet-polygon", "rari-testnet", "scroll-sepolia", "sei-atlantic-2-testnet", "shape-sepolia", "skale-nebula-testnet", "soneium-minato-testnet", "space-testnet", "story-testnet", "verify-testnet", "viction-testnet", "xai-sepolia-testnet", "zkatana", "zkyoto", "zora-goerli", "zora-sepolia", "mode-sepolia", "u2u-nebulas", "zenchain-testnet", "abstract-testnet", "world-chain-sepolia", "flow-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "apex", "boss", "hedera", "coti", "lightlink", "mantle", "skale-nebula", "sei-pacific-1", "chiliz", "avalanche", "xai", "shape", "rari", "scroll", "viction", "mode", "space", "soneium", "story", "u2u-solaris", "abstract", "world-chain", "flow" ], "description": "The chain on which the signature will be submitted" } }, "required": ["message", "chain"], "description": "Parameters for an EVM signature" } }, "required": ["type", "params"], "title": "EVM Message Signature", "description": "Parameters for an EVM message signature" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["solana-message"] }, "params": { "type": "object", "properties": { "message": { "type": "string", "description": "The message in plain text to sign" } }, "required": ["message"], "description": "Parameters for a Solana signature" } }, "required": ["type", "params"], "title": "Solana Message Signature", "description": "Parameters for a Solana message signature" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["evm-typed-data"] }, "params": { "type": "object", "properties": { "typedData": { "type": "object", "properties": { "domain": { "type": "object", "properties": { "name": { "type": "string" }, "version": { "type": "string" }, "chainId": { "type": "number" }, "verifyingContract": { "type": "string", "description": "An EVM address string" }, "salt": { "type": "string" } }, "required": ["name", "version", "chainId", "verifyingContract"] }, "types": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "type": { "type": "string" } }, "required": ["name", "type"] } } }, "primaryType": { "type": "string" }, "message": { "type": "object", "additionalProperties": {} } }, "required": ["domain", "types", "primaryType", "message"] }, "chain": { "type": "string", "enum": [ "arbitrum-sepolia", "avalanche-fuji", "curtis", "barret-testnet", "base-goerli", "base-sepolia", "bsc-testnet", "chiliz-spicy-testnet", "coti-testnet", "ethereum-goerli", "ethereum-sepolia", "hedera-testnet", "hypersonic-testnet", "lightlink-pegasus", "mantle-sepolia", "optimism-goerli", "optimism-sepolia", "polygon-amoy", "polygon-mumbai", "crossmint-private-testnet-ethereum", "crossmint-private-testnet-polygon", "rari-testnet", "scroll-sepolia", "sei-atlantic-2-testnet", "shape-sepolia", "skale-nebula-testnet", "soneium-minato-testnet", "space-testnet", "story-testnet", "verify-testnet", "viction-testnet", "xai-sepolia-testnet", "zkatana", "zkyoto", "zora-goerli", "zora-sepolia", "mode-sepolia", "u2u-nebulas", "zenchain-testnet", "abstract-testnet", "world-chain-sepolia", "flow-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "apex", "boss", "hedera", "coti", "lightlink", "mantle", "skale-nebula", "sei-pacific-1", "chiliz", "avalanche", "xai", "shape", "rari", "scroll", "viction", "mode", "space", "soneium", "story", "u2u-solaris", "abstract", "world-chain", "flow" ], "description": "The chain on which the signature will be submitted" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer who will approve this signature", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "isSmartWalletSignature": { "type": "boolean", "description": "Whether the signature corresponds to the smart wallet or to the signer. If true, the signature will be wrapped with ERC6492." } }, "required": ["typedData", "chain"], "description": "Parameters for an EVM typed data signature" } }, "required": ["type", "params"], "title": "EVM Typed Data Signature", "description": "Parameters for an EVM typed data signature" } ], "description": "Input schema for creating a new signature. The parameters vary based on the signature type.", "example": { "type": "evm-message", "params": { "message": "Hello, world!", "signer": "evm-keypair:0xB17Ea8d34078424B9d7D126E444d5F2C3CC5c81E", "chain": "polygon" } } }, "CreateSignatureV2025DTO": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["message"] }, "params": { "type": "object", "properties": { "message": { "type": "string", "description": "The message in plain text to sign" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer who will submit this signature. Defaults to the wallet's admin signer.", "example": [ "passkey:cWtP7gmZbd98HbKUuGXx5Q", "api-key:123456789", "external-wallet:0x1234567890123456789012345678901234567890", "email:test@example.com", "phone:+1234567890" ] }, "chain": { "type": "string", "enum": [ "arbitrum-sepolia", "avalanche-fuji", "curtis", "barret-testnet", "base-goerli", "base-sepolia", "bsc-testnet", "chiliz-spicy-testnet", "coti-testnet", "ethereum-goerli", "ethereum-sepolia", "hedera-testnet", "hypersonic-testnet", "lightlink-pegasus", "mantle-sepolia", "optimism-goerli", "optimism-sepolia", "polygon-amoy", "polygon-mumbai", "crossmint-private-testnet-ethereum", "crossmint-private-testnet-polygon", "rari-testnet", "scroll-sepolia", "sei-atlantic-2-testnet", "shape-sepolia", "skale-nebula-testnet", "soneium-minato-testnet", "space-testnet", "story-testnet", "verify-testnet", "viction-testnet", "xai-sepolia-testnet", "zkatana", "zkyoto", "zora-goerli", "zora-sepolia", "mode-sepolia", "u2u-nebulas", "zenchain-testnet", "abstract-testnet", "world-chain-sepolia", "flow-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "apex", "boss", "hedera", "coti", "lightlink", "mantle", "skale-nebula", "sei-pacific-1", "chiliz", "avalanche", "xai", "shape", "rari", "scroll", "viction", "mode", "space", "soneium", "story", "u2u-solaris", "abstract", "world-chain", "flow" ], "description": "The chain on which the signature will be submitted. Required for EVM wallets, optional for others." } }, "required": ["message"], "description": "Parameters for a message signature" } }, "required": ["type", "params"], "title": "Message Signature", "description": "Parameters for a message signature" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["typed-data"] }, "params": { "type": "object", "properties": { "typedData": { "type": "object", "properties": { "domain": { "type": "object", "properties": { "name": { "type": "string" }, "version": { "type": "string" }, "chainId": { "type": "number" }, "verifyingContract": { "type": "string", "description": "An EVM address string" }, "salt": { "type": "string" } }, "required": ["name", "version", "chainId", "verifyingContract"] }, "types": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "type": { "type": "string" } }, "required": ["name", "type"] } } }, "primaryType": { "type": "string" }, "message": { "type": "object", "additionalProperties": {} } }, "required": ["domain", "types", "primaryType", "message"] }, "chain": { "type": "string", "enum": [ "arbitrum-sepolia", "avalanche-fuji", "curtis", "barret-testnet", "base-goerli", "base-sepolia", "bsc-testnet", "chiliz-spicy-testnet", "coti-testnet", "ethereum-goerli", "ethereum-sepolia", "hedera-testnet", "hypersonic-testnet", "lightlink-pegasus", "mantle-sepolia", "optimism-goerli", "optimism-sepolia", "polygon-amoy", "polygon-mumbai", "crossmint-private-testnet-ethereum", "crossmint-private-testnet-polygon", "rari-testnet", "scroll-sepolia", "sei-atlantic-2-testnet", "shape-sepolia", "skale-nebula-testnet", "soneium-minato-testnet", "space-testnet", "story-testnet", "verify-testnet", "viction-testnet", "xai-sepolia-testnet", "zkatana", "zkyoto", "zora-goerli", "zora-sepolia", "mode-sepolia", "u2u-nebulas", "zenchain-testnet", "abstract-testnet", "world-chain-sepolia", "flow-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "apex", "boss", "hedera", "coti", "lightlink", "mantle", "skale-nebula", "sei-pacific-1", "chiliz", "avalanche", "xai", "shape", "rari", "scroll", "viction", "mode", "space", "soneium", "story", "u2u-solaris", "abstract", "world-chain", "flow" ], "description": "The chain on which the signature will be submitted" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer who will approve this signature", "example": [ "passkey:cWtP7gmZbd98HbKUuGXx5Q", "api-key:123456789", "external-wallet:0x1234567890123456789012345678901234567890", "email:test@example.com", "phone:+1234567890" ] }, "isSmartWalletSignature": { "type": "boolean", "description": "Whether the signature corresponds to the smart wallet or to the signer. If true, the signature will be wrapped with ERC6492." } }, "required": ["typedData", "chain"], "description": "Parameters for a typed data signature" } }, "required": ["type", "params"], "title": "Typed Data Signature", "description": "Parameters for a typed data signature" } ], "description": "Input schema for creating a new signature. The parameters vary based on the signature type.", "example": { "type": "message", "params": { "message": "Hello, world!", "signer": "external-wallet:0xB17Ea8d34078424B9d7D126E444d5F2C3CC5c81E", "chain": "ethereum" } } }, "CreateSignerInputDto": { "oneOf": [ { "type": "object", "properties": { "signer": { "oneOf": [ { "type": "string" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["evm-passkey"], "description": "Identifier for the Passkey signer type" }, "id": { "type": "string", "description": "Credential ID from the WebAuthn registration response" }, "name": { "type": "string", "description": "Human-readable name for the passkey" }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "X coordinate of the public key as a string representation of a bigint" }, "y": { "type": "string", "description": "Y coordinate of the public key as a string representation of a bigint" } }, "required": ["x", "y"], "description": "The public key coordinates from the WebAuthn credential" } }, "required": ["type", "id", "name", "publicKey"], "description": "Configuration for a WebAuthn/Passkey signer that uses public key credentials for authentication", "title": "Passkey", "example": { "type": "evm-passkey", "id": "cWtP7gmZbd98HbKUuGXx5Q", "name": "hgranger", "publicKey": { "x": "38035223810536273945556366218149112558607829411547667975304293530457502824247", "y": "91117823763706733837104303008228095481082989039135234750508288790583476078729" } } } ], "description": "The locator of the delegated signer" }, "chain": { "enum": [ "abstract", "apechain", "arbitrum", "arbitrumnova", "base", "bsc", "mantle", "mode", "optimism", "polygon", "scroll", "sei-pacific-1", "shape", "story", "world-chain", "zora", "abstract-testnet", "arbitrum-sepolia", "base-sepolia", "curtis", "ethereum-sepolia", "mantle-sepolia", "mode-sepolia", "optimism-sepolia", "polygon-amoy", "scroll-sepolia", "sei-atlantic-2-testnet", "story-testnet", "world-chain-sepolia", "zora-sepolia" ], "description": "The chain where the signer will be registered" }, "expiresAt": { "type": "number", "description": "The expiry date of the signer in milliseconds since UNIX epoch" }, "permissions": { "type": "array", "items": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["native-token-transfer"] }, "data": { "type": "object", "properties": { "allowance": { "oneOf": [ { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, { "type": "string", "pattern": "^\\d+$", "title": "Decimal String", "description": "The allowance for the permission. e.g. '1'" } ] } }, "required": ["allowance"] } }, "required": ["type", "data"], "title": "Native Token Transfer", "description": "Permission to transfer native tokens (e.g. ETH)", "example": { "type": "native-token-transfer", "data": { "allowance": "0x1234" } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["erc20-token-transfer"] }, "data": { "type": "object", "properties": { "address": { "type": "string", "description": "The address of the smart contract that can be interacted with" }, "allowance": { "oneOf": [ { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, { "type": "string", "pattern": "^\\d+$", "title": "Decimal String", "description": "The allowance for the permission. e.g. '1'" } ] } }, "required": ["address", "allowance"] } }, "required": ["type", "data"], "title": "ERC20 Transfer", "description": "Permission to transfer specific ERC20 tokens", "example": { "type": "erc20-token-transfer", "data": { "address": "0x1234567890123456789012345678901234567890", "allowance": "100" } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["erc721-token-transfer"] }, "data": { "type": "object", "properties": { "address": { "type": "string", "description": "The address of the smart contract that can be interacted with" }, "tokenIds": { "type": "array", "items": { "type": "string" }, "description": "The token IDs that can be transferred" } }, "required": ["address", "tokenIds"] } }, "required": ["type", "data"], "title": "ERC721 Transfer", "description": "Permission to transfer specific ERC721 tokens (NFTs)", "example": { "type": "erc721-token-transfer", "data": { "address": "0x1234567890123456789012345678901234567890", "tokenIds": ["0x1", "0x2"] } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["erc1155-token-transfer"] }, "data": { "type": "object", "properties": { "address": { "type": "string", "description": "The address of the smart contract that can be interacted with" }, "allowances": { "type": "object", "additionalProperties": { "oneOf": [ { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, { "type": "string", "pattern": "^\\d+$", "title": "Decimal String", "description": "The allowance for the permission. e.g. '1'" } ] }, "description": "The token IDs and allowances that can be transferred" } }, "required": ["address", "allowances"] } }, "required": ["type", "data"], "title": "ERC1155 Transfer", "description": "Permission to transfer specific ERC1155 tokens (Multi-tokens)", "example": { "type": "erc1155-token-transfer", "data": { "address": "0x1234567890123456789012345678901234567890", "allowances": { "1": "0x5", "2": "0xa" } } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["gas-limit"] }, "data": { "type": "object", "properties": { "limit": { "type": "string" }, "enforcePaymaster": { "type": "boolean" }, "allowedPaymaster": { "type": "string" } }, "required": ["limit"] } }, "required": ["type", "data"], "title": "Gas Limit", "description": "Permission to use a limited amount of gas across all operations", "example": { "type": "gas-limit", "data": { "limit": "0x1234", "enforcePaymaster": true, "allowedPaymaster": "0x1234567890123456789012345678901234567890" } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["call-limit"] }, "data": { "type": "object", "properties": { "count": { "type": "integer", "minimum": 1 } }, "required": ["count"] } }, "required": ["type", "data"], "title": "Transaction Count Limit", "description": "Permission to make a limited number of transaction calls in total", "example": { "type": "call-limit", "data": { "count": 5 } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["rate-limit"] }, "data": { "type": "object", "properties": { "count": { "type": "integer", "minimum": 1 }, "interval": { "type": "integer", "minimum": 1, "description": "Time window in seconds" } }, "required": ["count", "interval"] } }, "required": ["type", "data"], "title": "Rate Limit", "description": "Permission to make calls at a limited rate within time intervals", "example": { "type": "rate-limit", "data": { "count": 5, "interval": 3600 } } } ] }, "description": "The permissions of the signer following ERC-7715" } }, "required": ["signer", "chain"], "description": "Parameters for creating a EVM delegated signer", "title": "EVM", "example": { "signer": "0x1234567890123456789012345678901234567890", "chain": "base" } }, { "type": "object", "properties": { "signer": { "type": "string", "title": "Signer Locator", "description": "A signer locator that can be either a of format '' for keypair type signers or ':'", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] } }, "required": ["signer"], "description": "Parameters for creating a Solana delegated signer", "title": "Solana", "example": { "signer": "GbA2NZfpAnRVM2G2BG29qooqsYbdV5c2WVFymJ8MMir7" } } ] }, "CreateSignerV2025InputDto": { "oneOf": [ { "type": "object", "properties": { "signer": { "oneOf": [ { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"], "description": "Identifier for the Passkey signer type" }, "id": { "type": "string", "description": "Credential ID from the WebAuthn registration response" }, "name": { "type": "string", "description": "Human-readable name for the passkey" }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "X coordinate of the public key as a decimal string" }, "y": { "type": "string", "description": "Y coordinate of the public key as a decimal string" } }, "required": ["x", "y"], "description": "The public key coordinates from the WebAuthn credential" } }, "required": ["type", "id", "name", "publicKey"], "description": "Configuration for a WebAuthn/Passkey signer that uses public key credentials for authentication", "title": "Passkey", "example": { "type": "passkey", "id": "cWtP7gmZbd98HbKUuGXx5Q", "name": "hgranger", "publicKey": { "x": "38035223810536273945556366218149112558607829411547667975304293530457502824247", "y": "91117823763706733837104303008228095481082989039135234750508288790583476078729" } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"], "description": "Identifier for API key signer type" } }, "required": ["type"], "description": "A custodial signer provided by Crossmint and backed by our secure infrastructure", "title": "API Key", "example": { "type": "api-key" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"], "description": "Identifier for external wallet signer type" }, "address": { "type": "string", "description": "The blockchain address of the external wallet" } }, "required": ["type", "address"], "description": "An external wallet that can be used to sign transactions", "title": "External Wallet", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"], "description": "Identifier for email signer type" }, "email": { "type": "string", "description": "The email address for the signer" } }, "required": ["type", "email"], "description": "An email-based signer that can be used to sign transactions", "title": "Email Signer", "example": { "type": "email", "email": "user@example.com" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"], "description": "Identifier for phone signer type" }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" } }, "required": ["type", "phone"], "description": "An phone-based signer that can be used to sign transactions", "title": "Phone Signer", "example": { "type": "phone", "phone": "+1234567890" } } ], "description": "Configuration for a signer that can be used to sign transactions" }, { "type": "string", "title": "Signer Locator", "description": "A signer locator that can be either a of format '' for external wallet type signers or ':'", "example": [ "passkey:cWtP7gmZbd98HbKUuGXx5Q", "api-key:123456789", "external-wallet:0x1234567890123456789012345678901234567890", "email:test@example.com", "phone:+1234567890" ] } ], "description": "The locator of the delegated signer" }, "chain": { "enum": [ "abstract", "apechain", "arbitrum", "arbitrumnova", "base", "bsc", "mantle", "mode", "optimism", "polygon", "scroll", "sei-pacific-1", "shape", "story", "world-chain", "zora", "abstract-testnet", "arbitrum-sepolia", "base-sepolia", "curtis", "ethereum-sepolia", "mantle-sepolia", "mode-sepolia", "optimism-sepolia", "polygon-amoy", "scroll-sepolia", "sei-atlantic-2-testnet", "story-testnet", "world-chain-sepolia", "zora-sepolia" ], "description": "The chain where the signer will be registered" }, "expiresAt": { "type": "number", "description": "The expiry date of the signer in ISO 8601 format", "example": "2024-01-01T00:00:00.000Z" } }, "required": ["signer", "chain"], "description": "Parameters for creating a EVM delegated signer", "title": "EVM", "example": { "signer": "external-wallet:0x1234567890123456789012345678901234567890", "chain": "base" } }, { "type": "object", "properties": { "signer": { "type": "string", "title": "Signer Locator", "description": "A signer locator that can be either a of format '' for external wallet type signers or ':'", "example": [ "passkey:cWtP7gmZbd98HbKUuGXx5Q", "api-key:123456789", "external-wallet:0x1234567890123456789012345678901234567890", "email:test@example.com", "phone:+1234567890" ] } }, "required": ["signer"], "description": "Parameters for creating a Solana delegated signer", "title": "Solana", "example": { "signer": "external-wallet:GbA2NZfpAnRVM2G2BG29qooqsYbdV5c2WVFymJ8MMir7" } } ] }, "CreateTransactionDTO": { "oneOf": [ { "type": "object", "properties": { "params": { "type": "object", "properties": { "transaction": { "type": "string", "description": "Base58 encoded serialized Solana transaction", "example": "4hXTCkRzt9WyecNzV1XPgCDfGAZzQKNxLXgynz5QDuWWPSAZBZSHptvWRL3BjCvzUXRdKvHL2b7yGrRQcWyaqsaBCncVG7BFggS8w9snUts67BSh3EqKpXLUm5UMHfD7ZBe9GhARjbNQMLJ1QD3Spr6oMTBU6EhdB4RD8CP2xUxr2u3d6fos36PD98XS6oX8TQjLpsMwncs5DAMiD4nNnR8NBfyghGCWvCVifVwvA8B8TJxE1aiyiv2L429BCWfyzAme5sZW8rDb14NeCQHhZbtNqfXhcp2tAnaAT" }, "requiredSigners": { "type": "array", "items": { "type": "string", "title": "Signer Locator", "description": "A signer locator that can be either a of format '' for keypair type signers or ':'", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "description": "Optional array of additional signers required for the transaction" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer who will submit this transaction. Defaults to the admin signer.", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] } }, "required": ["transaction"], "additionalProperties": false, "example": { "transaction": "4hXTCkRzt9WyecNzV1XPgCDfGAZzQKNxLXgynz5QDuWWPSAZBZSHptvWRL3BjCvzUXRdKvHL2b7yGrRQcWyaqsaBCncVG7BFggS8w9snUts67BSh3EqKpXLUm5UMHfD7ZBe9GhARjbNQMLJ1QD3Spr6oMTBU6EhdB4RD8CP2xUxr2u3d6fos36PD98XS6oX8TQjLpsMwncs5DAMiD4nNnR8NBfyghGCWvCVifVwvA8B8TJxE1aiyiv2L429BCWfyzAme5sZW8rDb14NeCQHhZbtNqfXhcp2tAnaAT", "signer": "solana-keypair:123i9Q9H9iVFQ5ctG8Sjb95RKPxBTKSTjqgbRWNp8Ge7" }, "title": "Solana smart wallet", "description": "Parameters for a transaction from a Solana Smart Wallet" } }, "required": ["params"] }, { "type": "object", "properties": { "params": { "type": "object", "properties": { "calls": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "address": { "type": "string", "description": "The recipient address for this transaction call" }, "functionName": { "type": "string", "description": "The name of the function to call" }, "abi": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["error"] }, "inputs": { "type": "array", "items": {} }, "name": { "type": "string" } }, "required": ["type", "inputs", "name"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["event"] }, "anonymous": { "type": "boolean" }, "inputs": { "type": "array", "items": { "allOf": [ {}, { "type": "object", "properties": { "indexed": { "type": "boolean" } } } ] } }, "name": { "type": "string", "pattern": "[a-zA-Z$_][a-zA-Z0-9$_]*" } }, "required": ["type", "inputs", "name"] }, { "allOf": [ { "type": "object", "properties": { "constant": { "type": "boolean" }, "gas": { "type": "number" }, "payable": { "type": "boolean" } } }, { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["function"] }, "inputs": { "type": "array", "items": {} }, "name": { "type": "string", "pattern": "[a-zA-Z$_][a-zA-Z0-9$_]*" }, "outputs": { "type": "array", "items": {} }, "stateMutability": { "type": "string", "enum": [ "pure", "view", "nonpayable", "payable" ] } }, "required": [ "type", "inputs", "name", "outputs", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["constructor"] }, "inputs": { "type": "array", "items": {} }, "stateMutability": { "type": "string", "enum": [ "payable", "nonpayable" ] } }, "required": [ "type", "inputs", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["fallback"] }, "inputs": {}, "stateMutability": { "type": "string", "enum": [ "payable", "nonpayable" ] } }, "required": [ "type", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["receive"] }, "stateMutability": { "type": "string", "enum": ["payable"] } }, "required": [ "type", "stateMutability" ] } ] } ] } ] }, "description": "The ABI for the function to call" }, "args": { "type": "array", "items": {}, "description": "The arguments to pass to the function" }, "value": { "default": "0", "type": "string", "description": "The amount of native token to send in wei" } }, "required": ["address", "functionName", "abi", "args"], "title": "EVM contract call transaction parameters", "description": "Parameters for a transaction to execute a contract function" }, { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient address for this transaction call" }, "value": { "type": "string", "description": "The amount of native token to send in wei" }, "data": { "description": "The encoded calldata for this transaction" } }, "required": ["to", "value", "data"], "title": "EVM direct calldata transaction parameters", "description": "Parameters for a transaction to send a direct calldata transaction" }, { "type": "object", "properties": { "transaction": { "description": "Serialized EVM transaction" } }, "required": ["transaction"], "title": "EVM serialized transaction parameters", "description": "Parameters for a transaction to send a serialized EVM transaction" } ], "description": "Transaction data to execute" }, "minItems": 1, "description": "Array of transaction calls to execute" }, "chain": { "enum": [ "abstract", "apechain", "arbitrum", "arbitrumnova", "base", "bsc", "mantle", "mode", "optimism", "polygon", "scroll", "sei-pacific-1", "shape", "story", "world-chain", "zora", "abstract-testnet", "arbitrum-sepolia", "base-sepolia", "curtis", "ethereum-sepolia", "mantle-sepolia", "mode-sepolia", "optimism-sepolia", "polygon-amoy", "scroll-sepolia", "sei-atlantic-2-testnet", "story-testnet", "world-chain-sepolia", "zora-sepolia" ], "description": "The chain on which the transaction will be executed" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer who will submit this transaction", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] } }, "required": ["calls", "chain"], "additionalProperties": false, "example": { "calls": [ { "to": "0x1234567890123456789012345678901234567890", "value": "1000000000000000000", "data": "0x" } ], "chain": "base", "signer": "evm-keypair:0xdeadbeef" }, "title": "EVM smart wallet", "description": "Parameters for a transaction from an EVM Smart Wallet" } }, "required": ["params"] }, { "type": "object", "properties": { "params": { "type": "object", "properties": { "transaction": { "type": "string", "description": "Base58 encoded serialized Solana transaction", "example": "4hXTCkRzt9WyecNzV1XPgCDfGAZzQKNxLXgynz5QDuWWPSAZBZSHptvWRL3BjCvzUXRdKvHL2b7yGrRQcWyaqsaBCncVG7BFggS8w9snUts67BSh3EqKpXLUm5UMHfD7ZBe9GhARjbNQMLJ1QD3Spr6oMTBU6EhdB4RD8CP2xUxr2u3d6fos36PD98XS6oX8TQjLpsMwncs5DAMiD4nNnR8NBfyghGCWvCVifVwvA8B8TJxE1aiyiv2L429BCWfyzAme5sZW8rDb14NeCQHhZbtNqfXhcp2tAnaAT" }, "requiredSigners": { "type": "array", "items": { "type": "string", "title": "Signer Locator", "description": "A signer locator that can be either a of format '' for keypair type signers or ':'", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "description": "Optional array of additional signers required for the transaction" } }, "required": ["transaction"], "additionalProperties": false, "example": { "transaction": "4hXTCkRzt9WyecNzV1XPgCDfGAZzQKNxLXgynz5QDuWWPSAZBZSHptvWRL3BjCvzUXRdKvHL2b7yGrRQcWyaqsaBCncVG7BFggS8w9snUts67BSh3EqKpXLUm5UMHfD7ZBe9GhARjbNQMLJ1QD3Spr6oMTBU6EhdB4RD8CP2xUxr2u3d6fos36PD98XS6oX8TQjLpsMwncs5DAMiD4nNnR8NBfyghGCWvCVifVwvA8B8TJxE1aiyiv2L429BCWfyzAme5sZW8rDb14NeCQHhZbtNqfXhcp2tAnaAT" }, "title": "Solana MPC wallet", "description": "Parameters for a transaction from a Solana MPC Wallet" } }, "required": ["params"] }, { "type": "object", "properties": { "params": { "type": "object", "properties": { "call": { "oneOf": [ { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient address for this transaction call" }, "data": { "description": "The encoded calldata for this transaction" } }, "required": ["to", "data"], "additionalProperties": false }, { "type": "object", "properties": { "address": { "type": "string", "description": "The recipient address for this transaction call" }, "functionName": { "type": "string", "description": "The name of the function to call" }, "abi": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["error"] }, "inputs": { "type": "array", "items": {} }, "name": { "type": "string" } }, "required": ["type", "inputs", "name"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["event"] }, "anonymous": { "type": "boolean" }, "inputs": { "type": "array", "items": { "allOf": [ {}, { "type": "object", "properties": { "indexed": { "type": "boolean" } } } ] } }, "name": { "type": "string", "pattern": "[a-zA-Z$_][a-zA-Z0-9$_]*" } }, "required": ["type", "inputs", "name"] }, { "allOf": [ { "type": "object", "properties": { "constant": { "type": "boolean" }, "gas": { "type": "number" }, "payable": { "type": "boolean" } } }, { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["function"] }, "inputs": { "type": "array", "items": {} }, "name": { "type": "string", "pattern": "[a-zA-Z$_][a-zA-Z0-9$_]*" }, "outputs": { "type": "array", "items": {} }, "stateMutability": { "type": "string", "enum": [ "pure", "view", "nonpayable", "payable" ] } }, "required": [ "type", "inputs", "name", "outputs", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["constructor"] }, "inputs": { "type": "array", "items": {} }, "stateMutability": { "type": "string", "enum": [ "payable", "nonpayable" ] } }, "required": [ "type", "inputs", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["fallback"] }, "inputs": {}, "stateMutability": { "type": "string", "enum": [ "payable", "nonpayable" ] } }, "required": [ "type", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["receive"] }, "stateMutability": { "type": "string", "enum": ["payable"] } }, "required": [ "type", "stateMutability" ] } ] } ] } ] }, "description": "The ABI for the function to call" }, "args": { "type": "array", "items": {}, "description": "The arguments to pass to the function" } }, "required": ["address", "functionName", "abi", "args"], "additionalProperties": false } ], "description": "The transaction call to execute" }, "chain": { "type": "string", "enum": [ "arbitrum-sepolia", "avalanche-fuji", "curtis", "barret-testnet", "base-goerli", "base-sepolia", "bsc-testnet", "chiliz-spicy-testnet", "coti-testnet", "ethereum-goerli", "ethereum-sepolia", "hedera-testnet", "hypersonic-testnet", "lightlink-pegasus", "mantle-sepolia", "optimism-goerli", "optimism-sepolia", "polygon-amoy", "polygon-mumbai", "crossmint-private-testnet-ethereum", "crossmint-private-testnet-polygon", "rari-testnet", "scroll-sepolia", "sei-atlantic-2-testnet", "shape-sepolia", "skale-nebula-testnet", "soneium-minato-testnet", "space-testnet", "story-testnet", "verify-testnet", "viction-testnet", "xai-sepolia-testnet", "zkatana", "zkyoto", "zora-goerli", "zora-sepolia", "mode-sepolia", "u2u-nebulas", "zenchain-testnet", "abstract-testnet", "world-chain-sepolia", "flow-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "apex", "boss", "hedera", "coti", "lightlink", "mantle", "skale-nebula", "sei-pacific-1", "chiliz", "avalanche", "xai", "shape", "rari", "scroll", "viction", "mode", "space", "soneium", "story", "u2u-solaris", "abstract", "world-chain", "flow" ], "description": "The chain on which the transaction will be executed" } }, "required": ["call", "chain"], "additionalProperties": false, "example": { "call": { "to": "0x1234567890123456789012345678901234567890", "value": "1000000000000000000", "data": "0x" }, "chain": "base" }, "title": "EVM MPC wallet", "description": "Parameters for a transaction from an EVM MPC Wallet" } }, "required": ["params"] } ], "description": "Input schema for creating a new transaction. The parameters vary based on the wallet type (EVM vs Solana).", "example": { "params": { "calls": [ { "to": "0x1234567890123456789012345678901234567890", "value": "1000000000000000000", "data": "0x" } ], "chain": "base", "signer": "evm-keypair:0xdeadbeef" } } }, "CreateTransactionV2025DTO": { "oneOf": [ { "type": "object", "properties": { "params": { "type": "object", "properties": { "transaction": { "type": "string", "description": "Base58 encoded serialized Solana transaction" }, "requiredSigners": { "type": "array", "items": { "type": "string", "title": "Signer Locator", "description": "A signer locator that can be either a of format '' for external wallet type signers or ':'", "example": [ "passkey:cWtP7gmZbd98HbKUuGXx5Q", "api-key:123456789", "external-wallet:0x1234567890123456789012345678901234567890", "email:test@example.com", "phone:+1234567890" ] }, "description": "Optional array of additional signers required for the transaction" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer who will submit this transaction. Defaults to the admin signer.", "example": [ "passkey:cWtP7gmZbd98HbKUuGXx5Q", "api-key:123456789", "external-wallet:0x1234567890123456789012345678901234567890", "email:test@example.com", "phone:+1234567890" ] } }, "required": ["transaction"], "additionalProperties": false, "title": "Solana smart wallet", "description": "Parameters for a transaction from a Solana Smart Wallet" } }, "required": ["params"] }, { "type": "object", "properties": { "params": { "type": "object", "properties": { "calls": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "address": { "type": "string", "description": "The recipient address for this transaction call" }, "functionName": { "type": "string", "description": "The name of the function to call" }, "abi": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["error"] }, "inputs": { "type": "array", "items": {} }, "name": { "type": "string" } }, "required": ["type", "inputs", "name"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["event"] }, "anonymous": { "type": "boolean" }, "inputs": { "type": "array", "items": { "allOf": [ {}, { "type": "object", "properties": { "indexed": { "type": "boolean" } } } ] } }, "name": { "type": "string", "pattern": "[a-zA-Z$_][a-zA-Z0-9$_]*" } }, "required": ["type", "inputs", "name"] }, { "allOf": [ { "type": "object", "properties": { "constant": { "type": "boolean" }, "gas": { "type": "number" }, "payable": { "type": "boolean" } } }, { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["function"] }, "inputs": { "type": "array", "items": {} }, "name": { "type": "string", "pattern": "[a-zA-Z$_][a-zA-Z0-9$_]*" }, "outputs": { "type": "array", "items": {} }, "stateMutability": { "type": "string", "enum": [ "pure", "view", "nonpayable", "payable" ] } }, "required": [ "type", "inputs", "name", "outputs", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["constructor"] }, "inputs": { "type": "array", "items": {} }, "stateMutability": { "type": "string", "enum": [ "payable", "nonpayable" ] } }, "required": [ "type", "inputs", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["fallback"] }, "inputs": {}, "stateMutability": { "type": "string", "enum": [ "payable", "nonpayable" ] } }, "required": [ "type", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["receive"] }, "stateMutability": { "type": "string", "enum": ["payable"] } }, "required": [ "type", "stateMutability" ] } ] } ] } ] }, "description": "The ABI for the function to call" }, "args": { "type": "array", "items": {}, "description": "The arguments to pass to the function" }, "value": { "default": "0", "type": "string", "description": "The amount of native token to send in wei" } }, "required": ["address", "functionName", "abi", "args"], "title": "EVM contract call transaction parameters", "description": "Parameters for a transaction to execute a contract function" }, { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient address for this transaction call" }, "value": { "type": "string", "description": "The amount of native token to send in wei" }, "data": { "description": "The encoded calldata for this transaction" } }, "required": ["to", "value", "data"], "title": "EVM direct calldata transaction parameters", "description": "Parameters for a transaction to send a direct calldata transaction" }, { "type": "object", "properties": { "transaction": { "description": "Serialized EVM transaction" } }, "required": ["transaction"], "title": "EVM serialized transaction parameters", "description": "Parameters for a transaction to send a serialized EVM transaction" } ], "description": "Transaction data to execute" }, "minItems": 1, "description": "Array of transaction calls to execute" }, "chain": { "enum": [ "abstract", "apechain", "arbitrum", "arbitrumnova", "base", "bsc", "mantle", "mode", "optimism", "polygon", "scroll", "sei-pacific-1", "shape", "story", "world-chain", "zora", "abstract-testnet", "arbitrum-sepolia", "base-sepolia", "curtis", "ethereum-sepolia", "mantle-sepolia", "mode-sepolia", "optimism-sepolia", "polygon-amoy", "scroll-sepolia", "sei-atlantic-2-testnet", "story-testnet", "world-chain-sepolia", "zora-sepolia" ], "description": "The chain on which the transaction will be executed" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer who will submit this transaction", "example": [ "passkey:cWtP7gmZbd98HbKUuGXx5Q", "api-key:123456789", "external-wallet:0x1234567890123456789012345678901234567890", "email:test@example.com", "phone:+1234567890" ] } }, "required": ["calls", "chain"], "additionalProperties": false, "title": "EVM smart wallet", "description": "Parameters for a transaction from an EVM Smart Wallet" } }, "required": ["params"] }, { "type": "object", "properties": { "params": { "type": "object", "properties": { "transaction": { "type": "string", "description": "Base58 encoded serialized Solana transaction" }, "requiredSigners": { "type": "array", "items": { "type": "string", "title": "Signer Locator", "description": "A signer locator that can be either a of format '' for external wallet type signers or ':'", "example": [ "passkey:cWtP7gmZbd98HbKUuGXx5Q", "api-key:123456789", "external-wallet:0x1234567890123456789012345678901234567890", "email:test@example.com", "phone:+1234567890" ] }, "description": "Optional array of additional signers required for the transaction" } }, "required": ["transaction"], "additionalProperties": false, "title": "Solana MPC wallet", "description": "Parameters for a transaction from a Solana MPC Wallet" } }, "required": ["params"] }, { "type": "object", "properties": { "params": { "type": "object", "properties": { "call": { "oneOf": [ { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient address for this transaction call" }, "data": { "description": "The encoded calldata for this transaction" } }, "required": ["to", "data"], "additionalProperties": false }, { "type": "object", "properties": { "address": { "type": "string", "description": "The recipient address for this transaction call" }, "functionName": { "type": "string", "description": "The name of the function to call" }, "abi": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["error"] }, "inputs": { "type": "array", "items": {} }, "name": { "type": "string" } }, "required": ["type", "inputs", "name"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["event"] }, "anonymous": { "type": "boolean" }, "inputs": { "type": "array", "items": { "allOf": [ {}, { "type": "object", "properties": { "indexed": { "type": "boolean" } } } ] } }, "name": { "type": "string", "pattern": "[a-zA-Z$_][a-zA-Z0-9$_]*" } }, "required": ["type", "inputs", "name"] }, { "allOf": [ { "type": "object", "properties": { "constant": { "type": "boolean" }, "gas": { "type": "number" }, "payable": { "type": "boolean" } } }, { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["function"] }, "inputs": { "type": "array", "items": {} }, "name": { "type": "string", "pattern": "[a-zA-Z$_][a-zA-Z0-9$_]*" }, "outputs": { "type": "array", "items": {} }, "stateMutability": { "type": "string", "enum": [ "pure", "view", "nonpayable", "payable" ] } }, "required": [ "type", "inputs", "name", "outputs", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["constructor"] }, "inputs": { "type": "array", "items": {} }, "stateMutability": { "type": "string", "enum": [ "payable", "nonpayable" ] } }, "required": [ "type", "inputs", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["fallback"] }, "inputs": {}, "stateMutability": { "type": "string", "enum": [ "payable", "nonpayable" ] } }, "required": [ "type", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["receive"] }, "stateMutability": { "type": "string", "enum": ["payable"] } }, "required": [ "type", "stateMutability" ] } ] } ] } ] }, "description": "The ABI for the function to call" }, "args": { "type": "array", "items": {}, "description": "The arguments to pass to the function" } }, "required": ["address", "functionName", "abi", "args"], "additionalProperties": false } ], "description": "The transaction call to execute" }, "chain": { "type": "string", "enum": [ "arbitrum-sepolia", "avalanche-fuji", "curtis", "barret-testnet", "base-goerli", "base-sepolia", "bsc-testnet", "chiliz-spicy-testnet", "coti-testnet", "ethereum-goerli", "ethereum-sepolia", "hedera-testnet", "hypersonic-testnet", "lightlink-pegasus", "mantle-sepolia", "optimism-goerli", "optimism-sepolia", "polygon-amoy", "polygon-mumbai", "crossmint-private-testnet-ethereum", "crossmint-private-testnet-polygon", "rari-testnet", "scroll-sepolia", "sei-atlantic-2-testnet", "shape-sepolia", "skale-nebula-testnet", "soneium-minato-testnet", "space-testnet", "story-testnet", "verify-testnet", "viction-testnet", "xai-sepolia-testnet", "zkatana", "zkyoto", "zora-goerli", "zora-sepolia", "mode-sepolia", "u2u-nebulas", "zenchain-testnet", "abstract-testnet", "world-chain-sepolia", "flow-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "apex", "boss", "hedera", "coti", "lightlink", "mantle", "skale-nebula", "sei-pacific-1", "chiliz", "avalanche", "xai", "shape", "rari", "scroll", "viction", "mode", "space", "soneium", "story", "u2u-solaris", "abstract", "world-chain", "flow" ], "description": "The chain on which the transaction will be executed" } }, "required": ["call", "chain"], "additionalProperties": false, "example": { "call": { "to": "0x1234567890123456789012345678901234567890", "value": "1000000000000000000", "data": "0x" }, "chain": "base" }, "title": "EVM MPC wallet", "description": "Parameters for a transaction from an EVM MPC Wallet" } }, "required": ["params"] }, { "type": "object", "properties": { "params": { "type": "object", "properties": { "transaction": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["contract-call"], "description": "The type of transaction to execute" }, "contractId": { "type": "string", "description": "The recipient address for this transaction call", "example": "GB3KQJ6N2YIE62YVO67X7W5TQK6Q5ZZ4P2LUVK2U6AU26CJQ626J" }, "method": { "type": "string", "description": "The name of the function to call" }, "memo": { "type": "string", "description": "The memo for the transaction" }, "args": { "type": "object", "additionalProperties": {}, "description": "The arguments to pass to the function" } }, "required": ["type", "contractId", "method", "args"], "title": "Stellar contract call transaction parameters", "description": "Parameters for a transaction to execute a smart contract function", "example": { "type": "contract-call", "contractId": "GB3KQJ6N2YIE62YVO67X7W5TQK6Q5ZZ4P2LUVK2U6AU26CJQ626J", "method": "transfer", "args": { "to": "GB3KQJ6N2YIE62YVO67X7W5TQK6Q5ZZ4P2LUVK2U6AU26CJQ626J", "from": "GB3KQJ6N2YIE62YVO67X7W5TQK6Q5ZZ4P2LUVK2U6AU26CJQ626J", "amount": "1000000000000000000" } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["serialized-transaction"], "description": "The type of transaction to execute" }, "serializedTransaction": { "type": "string", "description": "The XDR base64-encoded serialized transaction to execute" }, "contractId": { "type": "string", "description": "The recipient address for this transaction call", "example": "GB3KQJ6N2YIE62YVO67X7W5TQK6Q5ZZ4P2LUVK2U6AU26CJQ626J" } }, "required": ["type", "serializedTransaction", "contractId"], "title": "Stellar serialized transaction parameters", "description": "Parameters for a transaction to execute a serialized transaction", "example": { "type": "serialized-transaction", "serializedTransaction": "AQAAAAB2YWx1ZQ==", "contractId": "GB3KQJ6N2YIE62YVO67X7W5TQK6Q5ZZ4P2LUVK2U6AU26CJQ626J" } } ], "description": "Stellar transaction to execute" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer who will submit this transaction. Defaults to the admin signer.", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] } }, "required": ["transaction"], "additionalProperties": false, "title": "Stellar smart wallet", "description": "Parameters for a transaction from a Stellar Smart Wallet" } }, "required": ["params"] } ], "description": "Input schema for creating a new transaction. The parameters vary based on the wallet type (EVM vs Solana vs Stellar)." }, "CreateWalletDTO": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["evm-smart-wallet"] }, "config": { "default": { "adminSigner": { "type": "evm-fireblocks-custodial" } }, "type": "object", "properties": { "adminSigner": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["evm-keypair"], "description": "Identifier for EVM keypair signer type" }, "address": { "type": "string", "description": "The Ethereum address of the external signer" } }, "required": ["type", "address"], "description": "An EOA external to Crossmint that can sign transactions", "title": "EVM Keypair", "example": { "type": "evm-keypair", "address": "0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["evm-fireblocks-custodial"], "description": "Identifier for EVM Fireblocks custodial signer type" } }, "required": ["type"], "description": "A custodial signer provided by Crossmint and backed by Fireblocks", "title": "Fireblocks Custodial", "example": { "type": "evm-fireblocks-custodial" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["evm-passkey"], "description": "Identifier for the Passkey signer type" }, "id": { "type": "string", "description": "Credential ID from the WebAuthn registration response" }, "name": { "type": "string", "description": "Human-readable name for the passkey" }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "X coordinate of the public key as a string representation of a bigint" }, "y": { "type": "string", "description": "Y coordinate of the public key as a string representation of a bigint" } }, "required": ["x", "y"], "description": "The public key coordinates from the WebAuthn credential" } }, "required": ["type", "id", "name", "publicKey"], "description": "Configuration for a WebAuthn/Passkey signer that uses public key credentials for authentication", "title": "Passkey", "example": { "type": "evm-passkey", "id": "cWtP7gmZbd98HbKUuGXx5Q", "name": "hgranger", "publicKey": { "x": "38035223810536273945556366218149112558607829411547667975304293530457502824247", "y": "91117823763706733837104303008228095481082989039135234750508288790583476078729" } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"], "description": "Identifier for email signer type" }, "email": { "type": "string", "description": "The email address for the signer" } }, "required": ["type", "email"], "description": "An email-based signer that can be used to sign transactions", "title": "Email Signer", "example": { "type": "email", "email": "user@example.com" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"], "description": "Identifier for phone signer type" }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" } }, "required": ["type", "phone"], "description": "An phone-based signer that can be used to sign transactions", "title": "Phone Signer", "example": { "type": "phone", "phone": "+1234567890" } } ] }, "delegatedSigners": { "type": "array", "items": { "type": "object", "properties": { "signer": { "oneOf": [ { "type": "string" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["evm-passkey"], "description": "Identifier for the Passkey signer type" }, "id": { "type": "string", "description": "Credential ID from the WebAuthn registration response" }, "name": { "type": "string", "description": "Human-readable name for the passkey" }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "X coordinate of the public key as a string representation of a bigint" }, "y": { "type": "string", "description": "Y coordinate of the public key as a string representation of a bigint" } }, "required": ["x", "y"], "description": "The public key coordinates from the WebAuthn credential" } }, "required": ["type", "id", "name", "publicKey"], "description": "Configuration for a WebAuthn/Passkey signer that uses public key credentials for authentication", "title": "Passkey", "example": { "type": "evm-passkey", "id": "cWtP7gmZbd98HbKUuGXx5Q", "name": "hgranger", "publicKey": { "x": "38035223810536273945556366218149112558607829411547667975304293530457502824247", "y": "91117823763706733837104303008228095481082989039135234750508288790583476078729" } } } ], "description": "The locator of the delegated signer" }, "expiresAt": { "type": "number", "description": "The expiry date of the signer in milliseconds since UNIX epoch" }, "permissions": { "type": "array", "items": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["native-token-transfer"] }, "data": { "type": "object", "properties": { "allowance": { "oneOf": [ { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, { "type": "string", "pattern": "^\\d+$", "title": "Decimal String", "description": "The allowance for the permission. e.g. '1'" } ] } }, "required": ["allowance"] } }, "required": ["type", "data"], "title": "Native Token Transfer", "description": "Permission to transfer native tokens (e.g. ETH)", "example": { "type": "native-token-transfer", "data": { "allowance": "0x1234" } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["erc20-token-transfer"] }, "data": { "type": "object", "properties": { "address": { "type": "string", "description": "The address of the smart contract that can be interacted with" }, "allowance": { "oneOf": [ { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, { "type": "string", "pattern": "^\\d+$", "title": "Decimal String", "description": "The allowance for the permission. e.g. '1'" } ] } }, "required": ["address", "allowance"] } }, "required": ["type", "data"], "title": "ERC20 Transfer", "description": "Permission to transfer specific ERC20 tokens", "example": { "type": "erc20-token-transfer", "data": { "address": "0x1234567890123456789012345678901234567890", "allowance": "100" } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["erc721-token-transfer"] }, "data": { "type": "object", "properties": { "address": { "type": "string", "description": "The address of the smart contract that can be interacted with" }, "tokenIds": { "type": "array", "items": { "type": "string" }, "description": "The token IDs that can be transferred" } }, "required": ["address", "tokenIds"] } }, "required": ["type", "data"], "title": "ERC721 Transfer", "description": "Permission to transfer specific ERC721 tokens (NFTs)", "example": { "type": "erc721-token-transfer", "data": { "address": "0x1234567890123456789012345678901234567890", "tokenIds": ["0x1", "0x2"] } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["erc1155-token-transfer"] }, "data": { "type": "object", "properties": { "address": { "type": "string", "description": "The address of the smart contract that can be interacted with" }, "allowances": { "type": "object", "additionalProperties": { "oneOf": [ { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, { "type": "string", "pattern": "^\\d+$", "title": "Decimal String", "description": "The allowance for the permission. e.g. '1'" } ] }, "description": "The token IDs and allowances that can be transferred" } }, "required": ["address", "allowances"] } }, "required": ["type", "data"], "title": "ERC1155 Transfer", "description": "Permission to transfer specific ERC1155 tokens (Multi-tokens)", "example": { "type": "erc1155-token-transfer", "data": { "address": "0x1234567890123456789012345678901234567890", "allowances": { "1": "0x5", "2": "0xa" } } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["gas-limit"] }, "data": { "type": "object", "properties": { "limit": { "type": "string" }, "enforcePaymaster": { "type": "boolean" }, "allowedPaymaster": { "type": "string" } }, "required": ["limit"] } }, "required": ["type", "data"], "title": "Gas Limit", "description": "Permission to use a limited amount of gas across all operations", "example": { "type": "gas-limit", "data": { "limit": "0x1234", "enforcePaymaster": true, "allowedPaymaster": "0x1234567890123456789012345678901234567890" } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["call-limit"] }, "data": { "type": "object", "properties": { "count": { "type": "integer", "minimum": 1 } }, "required": ["count"] } }, "required": ["type", "data"], "title": "Transaction Count Limit", "description": "Permission to make a limited number of transaction calls in total", "example": { "type": "call-limit", "data": { "count": 5 } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["rate-limit"] }, "data": { "type": "object", "properties": { "count": { "type": "integer", "minimum": 1 }, "interval": { "type": "integer", "minimum": 1, "description": "Time window in seconds" } }, "required": ["count", "interval"] } }, "required": ["type", "data"], "title": "Rate Limit", "description": "Permission to make calls at a limited rate within time intervals", "example": { "type": "rate-limit", "data": { "count": 5, "interval": 3600 } } } ] }, "description": "The permissions of the signer following ERC-7715" } }, "required": ["signer"] }, "description": "Optional array of delegated signers to be created for the wallet", "example": [ { "signer": "evm-keypair:0x1234567890123456789012345678901234567890" } ] }, "creationSeed": { "type": "string", "description": "The unique wallet seed. By default, the seed is randomly generated.", "example": "0" } }, "required": ["adminSigner"], "additionalProperties": false }, "linkedUser": { "type": "string", "description": "A user locator can be of the format:\n- `email:`\n- `userId:`\n- `phoneNumber:`\n- `twitter:`\n- `x:`", "example": [ "email:user@example.com", "userId:507f1f77bcf86cd799439011", "userId:did:example:cm4lr5piw0h6t1bjho0onryql", "phoneNumber:+12125551234", "twitter:johndoe", "x:@johndoe" ] } }, "required": ["type"], "title": "EVM smart wallet creation input", "description": "EVM smart wallet creation input" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["solana-mpc-wallet"] }, "config": {}, "linkedUser": { "type": "string", "description": "A user locator can be of the format:\n- `email:`\n- `userId:`\n- `phoneNumber:`\n- `twitter:`\n- `x:`", "example": [ "email:user@example.com", "userId:507f1f77bcf86cd799439011", "userId:did:example:cm4lr5piw0h6t1bjho0onryql", "phoneNumber:+12125551234", "twitter:johndoe", "x:@johndoe" ] } }, "required": ["type"], "title": "Solana MPC wallet creation input", "description": "Solana MPC wallet creation input" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["solana-smart-wallet"] }, "config": { "default": { "adminSigner": { "type": "solana-fireblocks-custodial" } }, "type": "object", "properties": { "adminSigner": { "default": { "type": "solana-fireblocks-custodial" }, "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["solana-keypair"], "description": "Identifier for Solana keypair signer type" }, "address": { "type": "string", "description": "The Solana public key (base58 encoded) of the external signer" } }, "required": ["type", "address"], "description": "A Solana keypair external to Crossmint that can sign transactions", "title": "Solana Keypair", "example": { "type": "solana-keypair", "address": "BKw3wMDoX4ZKuKkaHgPUqTqH3wqNGnwVAXrJ3MDWdZbL" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["solana-fireblocks-custodial"], "description": "Identifier for Solana Fireblocks MPC signer type" } }, "required": ["type"], "description": "A custodial signer provided by Crossmint and backed by Fireblocks", "title": "Fireblocks Custodial", "example": { "type": "solana-fireblocks-custodial" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"], "description": "Identifier for email signer type" }, "email": { "type": "string", "description": "The email address for the signer" } }, "required": ["type", "email"], "description": "An email-based signer that can be used to sign transactions", "title": "Email Signer", "example": { "type": "email", "email": "user@example.com" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"], "description": "Identifier for phone signer type" }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" } }, "required": ["type", "phone"], "description": "An phone-based signer that can be used to sign transactions", "title": "Phone Signer", "example": { "type": "phone", "phone": "+1234567890" } } ] } }, "additionalProperties": false }, "linkedUser": { "type": "string", "description": "A user locator can be of the format:\n- `email:`\n- `userId:`\n- `phoneNumber:`\n- `twitter:`\n- `x:`", "example": [ "email:user@example.com", "userId:507f1f77bcf86cd799439011", "userId:did:example:cm4lr5piw0h6t1bjho0onryql", "phoneNumber:+12125551234", "twitter:johndoe", "x:@johndoe" ] } }, "required": ["type"], "title": "Solana smart wallet creation input", "description": "Solana smart wallet creation input" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["aptos-mpc-wallet"] }, "config": {}, "linkedUser": { "type": "string", "description": "A user locator can be of the format:\n- `email:`\n- `userId:`\n- `phoneNumber:`\n- `twitter:`\n- `x:`", "example": [ "email:user@example.com", "userId:507f1f77bcf86cd799439011", "userId:did:example:cm4lr5piw0h6t1bjho0onryql", "phoneNumber:+12125551234", "twitter:johndoe", "x:@johndoe" ] } }, "required": ["type"], "title": "Aptos MPC wallet creation input", "description": "Aptos MPC wallet creation input" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["sui-mpc-wallet"] }, "config": {}, "linkedUser": { "type": "string", "description": "A user locator can be of the format:\n- `email:`\n- `userId:`\n- `phoneNumber:`\n- `twitter:`\n- `x:`", "example": [ "email:user@example.com", "userId:507f1f77bcf86cd799439011", "userId:did:example:cm4lr5piw0h6t1bjho0onryql", "phoneNumber:+12125551234", "twitter:johndoe", "x:@johndoe" ] } }, "required": ["type"], "title": "Sui MPC wallet creation input", "description": "Sui MPC wallet creation input" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["solana-custodial-wallet"] }, "config": {}, "linkedUser": { "type": "string", "description": "A user locator can be of the format:\n- `email:`\n- `userId:`\n- `phoneNumber:`\n- `twitter:`\n- `x:`", "example": [ "email:user@example.com", "userId:507f1f77bcf86cd799439011", "userId:did:example:cm4lr5piw0h6t1bjho0onryql", "phoneNumber:+12125551234", "twitter:johndoe", "x:@johndoe" ] } }, "required": ["type"], "title": "Solana custodial wallet creation input", "description": "Solana custodial wallet creation input (Deprecated: Use solana-mpc-wallet instead)" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["evm-mpc-wallet"] }, "config": {}, "linkedUser": { "type": "string", "description": "A user locator can be of the format:\n- `email:`\n- `userId:`\n- `phoneNumber:`\n- `twitter:`\n- `x:`", "example": [ "email:user@example.com", "userId:507f1f77bcf86cd799439011", "userId:did:example:cm4lr5piw0h6t1bjho0onryql", "phoneNumber:+12125551234", "twitter:johndoe", "x:@johndoe" ] } }, "required": ["type"], "title": "EVM MPC wallet creation input", "description": "EVM MPC wallet creation input" } ], "example": { "type": "evm-smart-wallet", "config": { "adminSigner": { "type": "evm-keypair", "address": "0x1234567890123456789012345678901234567890" } }, "linkedUser": "email:user@example.com" } }, "CreateWalletV2025DTO": { "discriminator": { "propertyName": "chainType" }, "oneOf": [ { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["evm"] }, "type": { "default": "smart", "type": "string", "enum": ["smart", "mpc"] }, "config": { "oneOf": [ { "type": "object", "properties": { "adminSigner": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"], "description": "Identifier for external wallet signer type" }, "address": { "type": "string", "description": "The blockchain address of the external wallet" } }, "required": ["type", "address"], "description": "An external wallet that can be used to sign transactions", "title": "External Wallet", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"], "description": "Identifier for API key signer type" } }, "required": ["type"], "description": "A custodial signer provided by Crossmint and backed by our secure infrastructure", "title": "API Key", "example": { "type": "api-key" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"], "description": "Identifier for the Passkey signer type" }, "id": { "type": "string", "description": "Credential ID from the WebAuthn registration response" }, "name": { "type": "string", "description": "Human-readable name for the passkey" }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "X coordinate of the public key as a decimal string" }, "y": { "type": "string", "description": "Y coordinate of the public key as a decimal string" } }, "required": ["x", "y"], "description": "The public key coordinates from the WebAuthn credential" } }, "required": ["type", "id", "name", "publicKey"], "description": "Configuration for a WebAuthn/Passkey signer that uses public key credentials for authentication", "title": "Passkey", "example": { "type": "passkey", "id": "cWtP7gmZbd98HbKUuGXx5Q", "name": "hgranger", "publicKey": { "x": "38035223810536273945556366218149112558607829411547667975304293530457502824247", "y": "91117823763706733837104303008228095481082989039135234750508288790583476078729" } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"], "description": "Identifier for email signer type" }, "email": { "type": "string", "description": "The email address for the signer" } }, "required": ["type", "email"], "description": "An email-based signer that can be used to sign transactions", "title": "Email Signer", "example": { "type": "email", "email": "user@example.com" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"], "description": "Identifier for phone signer type" }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" } }, "required": ["type", "phone"], "description": "An phone-based signer that can be used to sign transactions", "title": "Phone Signer", "example": { "type": "phone", "phone": "+1234567890" } } ] }, "delegatedSigners": { "type": "array", "items": { "type": "object", "properties": { "signer": { "oneOf": [ { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"], "description": "Identifier for the Passkey signer type" }, "id": { "type": "string", "description": "Credential ID from the WebAuthn registration response" }, "name": { "type": "string", "description": "Human-readable name for the passkey" }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "X coordinate of the public key as a decimal string" }, "y": { "type": "string", "description": "Y coordinate of the public key as a decimal string" } }, "required": ["x", "y"], "description": "The public key coordinates from the WebAuthn credential" } }, "required": [ "type", "id", "name", "publicKey" ], "description": "Configuration for a WebAuthn/Passkey signer that uses public key credentials for authentication", "title": "Passkey", "example": { "type": "passkey", "id": "cWtP7gmZbd98HbKUuGXx5Q", "name": "hgranger", "publicKey": { "x": "38035223810536273945556366218149112558607829411547667975304293530457502824247", "y": "91117823763706733837104303008228095481082989039135234750508288790583476078729" } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"], "description": "Identifier for API key signer type" } }, "required": ["type"], "description": "A custodial signer provided by Crossmint and backed by our secure infrastructure", "title": "API Key", "example": { "type": "api-key" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"], "description": "Identifier for external wallet signer type" }, "address": { "type": "string", "description": "The blockchain address of the external wallet" } }, "required": ["type", "address"], "description": "An external wallet that can be used to sign transactions", "title": "External Wallet", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"], "description": "Identifier for email signer type" }, "email": { "type": "string", "description": "The email address for the signer" } }, "required": ["type", "email"], "description": "An email-based signer that can be used to sign transactions", "title": "Email Signer", "example": { "type": "email", "email": "user@example.com" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"], "description": "Identifier for phone signer type" }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" } }, "required": ["type", "phone"], "description": "An phone-based signer that can be used to sign transactions", "title": "Phone Signer", "example": { "type": "phone", "phone": "+1234567890" } } ], "description": "Configuration for a signer that can be used to sign transactions" }, { "type": "string", "title": "Signer Locator", "description": "A signer locator that can be either a of format '' for external wallet type signers or ':'", "example": [ "passkey:cWtP7gmZbd98HbKUuGXx5Q", "api-key:123456789", "external-wallet:0x1234567890123456789012345678901234567890", "email:test@example.com", "phone:+1234567890" ] } ], "description": "The locator of the delegated signer" }, "expiresAt": { "type": "number", "description": "The expiry date of the signer in ISO 8601 format", "example": "2024-01-01T00:00:00.000Z" } }, "required": ["signer"] }, "description": "Optional array of delegated signers to be created for the wallet", "example": [ { "signer": "external-wallet:0x1234567890123456789012345678901234567890", "expiresAt": 1715769600000 }, { "signer": { "type": "passkey", "id": "cWtP7gmZbd98HbKUuGXx5Q", "name": "hgranger", "publicKey": { "x": "38035223810536273945556366218149112558607829411547667975304293530457502824247", "y": "91117823763706733837104303008228095481082989039135234750508288790583476078729" } } } ] }, "creationSeed": { "type": "string", "description": "The unique wallet seed. By default, the seed is randomly generated.", "example": "0" } }, "required": ["adminSigner"], "additionalProperties": false }, {} ] }, "owner": { "type": "string", "description": "A user locator can be of the format:\n- `email:`\n- `userId:`\n- `phoneNumber:`\n- `twitter:`\n- `x:`", "example": [ "email:user@example.com", "userId:507f1f77bcf86cd799439011", "userId:did:example:cm4lr5piw0h6t1bjho0onryql", "phoneNumber:+12125551234", "twitter:johndoe", "x:@johndoe" ] } }, "required": ["chainType"], "title": "EVM wallet creation input", "description": "EVM wallet creation input" }, { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["solana"] }, "type": { "default": "smart", "type": "string", "enum": ["smart", "mpc"] }, "config": { "oneOf": [ { "type": "object", "properties": { "adminSigner": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"], "description": "Identifier for external wallet signer type" }, "address": { "type": "string", "description": "The blockchain address of the external wallet" } }, "required": ["type", "address"], "description": "An external wallet that can be used to sign transactions", "title": "External Wallet", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"], "description": "Identifier for API key signer type" } }, "required": ["type"], "description": "A custodial signer provided by Crossmint and backed by our secure infrastructure", "title": "API Key", "example": { "type": "api-key" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"], "description": "Identifier for email signer type" }, "email": { "type": "string", "description": "The email address for the signer" } }, "required": ["type", "email"], "description": "An email-based signer that can be used to sign transactions", "title": "Email Signer", "example": { "type": "email", "email": "user@example.com" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"], "description": "Identifier for phone signer type" }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" } }, "required": ["type", "phone"], "description": "An phone-based signer that can be used to sign transactions", "title": "Phone Signer", "example": { "type": "phone", "phone": "+1234567890" } } ] } }, "required": ["adminSigner"], "additionalProperties": false }, {} ] }, "owner": { "type": "string", "description": "A user locator can be of the format:\n- `email:`\n- `userId:`\n- `phoneNumber:`\n- `twitter:`\n- `x:`", "example": [ "email:user@example.com", "userId:507f1f77bcf86cd799439011", "userId:did:example:cm4lr5piw0h6t1bjho0onryql", "phoneNumber:+12125551234", "twitter:johndoe", "x:@johndoe" ] } }, "required": ["chainType"], "title": "Solana wallet creation input", "description": "Solana wallet creation input" }, { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["aptos"] }, "type": { "default": "mpc", "type": "string", "enum": ["mpc"] }, "config": {}, "owner": { "type": "string", "description": "A user locator can be of the format:\n- `email:`\n- `userId:`\n- `phoneNumber:`\n- `twitter:`\n- `x:`", "example": [ "email:user@example.com", "userId:507f1f77bcf86cd799439011", "userId:did:example:cm4lr5piw0h6t1bjho0onryql", "phoneNumber:+12125551234", "twitter:johndoe", "x:@johndoe" ] } }, "required": ["chainType"], "title": "Aptos wallet creation input", "description": "Aptos wallet creation input" }, { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["sui"] }, "type": { "default": "mpc", "type": "string", "enum": ["mpc"] }, "config": {}, "owner": { "type": "string", "description": "A user locator can be of the format:\n- `email:`\n- `userId:`\n- `phoneNumber:`\n- `twitter:`\n- `x:`", "example": [ "email:user@example.com", "userId:507f1f77bcf86cd799439011", "userId:did:example:cm4lr5piw0h6t1bjho0onryql", "phoneNumber:+12125551234", "twitter:johndoe", "x:@johndoe" ] } }, "required": ["chainType"], "title": "Sui wallet creation input", "description": "Sui wallet creation input" }, { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["stellar"] }, "type": { "default": "smart", "type": "string", "enum": ["smart"] }, "config": { "type": "object", "properties": { "adminSigner": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"], "description": "Identifier for external wallet signer type" }, "address": { "type": "string", "description": "The blockchain address of the external wallet" } }, "required": ["type", "address"], "description": "An external wallet that can be used to sign transactions", "title": "External Wallet", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"], "description": "Identifier for email signer type" }, "email": { "type": "string", "description": "The email address for the signer" } }, "required": ["type", "email"], "description": "An email-based signer that can be used to sign transactions", "title": "Email Signer", "example": { "type": "email", "email": "user@example.com" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"], "description": "Identifier for phone signer type" }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" } }, "required": ["type", "phone"], "description": "An phone-based signer that can be used to sign transactions", "title": "Phone Signer", "example": { "type": "phone", "phone": "+1234567890" } } ] } }, "required": ["adminSigner"], "additionalProperties": false }, "owner": { "type": "string", "description": "A user locator can be of the format:\n- `email:`\n- `userId:`\n- `phoneNumber:`\n- `twitter:`\n- `x:`", "example": [ "email:user@example.com", "userId:507f1f77bcf86cd799439011", "userId:did:example:cm4lr5piw0h6t1bjho0onryql", "phoneNumber:+12125551234", "twitter:johndoe", "x:@johndoe" ] } }, "required": ["chainType", "config"], "title": "Stellar wallet creation input", "description": "Stellar wallet creation input" } ], "example": { "chainType": "evm", "type": "smart", "config": { "adminSigner": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890" } }, "owner": "email:user@example.com" } }, "DelegatedSignerDto": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["evm-keypair", "evm-fireblocks-custodial", "evm-passkey"], "description": "Specifies the type of EVM signer being used, describing the method of key management and transaction signing. `evm-keypair` indicates a signer using a locally managed keypair, suitable for non-custodial wallets. `evm-fireblocks-custodial` refers to a signer managed by Fireblocks, a custodial service provider." }, "locator": { "type": "string", "title": "Signer Locator", "description": "The locator of the signer", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "expiresAt": { "type": "number", "description": "The expiry date of the signer in ISO 8601 format", "example": "2024-01-01T00:00:00.000Z" }, "permissions": { "type": "array", "items": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["native-token-transfer"] }, "data": { "type": "object", "properties": { "allowance": { "oneOf": [ { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, { "type": "string", "pattern": "^\\d+$", "title": "Decimal String", "description": "The allowance for the permission. e.g. '1'" } ] } }, "required": ["allowance"] } }, "required": ["type", "data"], "title": "Native Token Transfer", "description": "Permission to transfer native tokens (e.g. ETH)", "example": { "type": "native-token-transfer", "data": { "allowance": "0x1234" } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["erc20-token-transfer"] }, "data": { "type": "object", "properties": { "address": { "type": "string", "description": "The address of the smart contract that can be interacted with" }, "allowance": { "oneOf": [ { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, { "type": "string", "pattern": "^\\d+$", "title": "Decimal String", "description": "The allowance for the permission. e.g. '1'" } ] } }, "required": ["address", "allowance"] } }, "required": ["type", "data"], "title": "ERC20 Transfer", "description": "Permission to transfer specific ERC20 tokens", "example": { "type": "erc20-token-transfer", "data": { "address": "0x1234567890123456789012345678901234567890", "allowance": "100" } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["erc721-token-transfer"] }, "data": { "type": "object", "properties": { "address": { "type": "string", "description": "The address of the smart contract that can be interacted with" }, "tokenIds": { "type": "array", "items": { "type": "string" }, "description": "The token IDs that can be transferred" } }, "required": ["address", "tokenIds"] } }, "required": ["type", "data"], "title": "ERC721 Transfer", "description": "Permission to transfer specific ERC721 tokens (NFTs)", "example": { "type": "erc721-token-transfer", "data": { "address": "0x1234567890123456789012345678901234567890", "tokenIds": ["0x1", "0x2"] } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["erc1155-token-transfer"] }, "data": { "type": "object", "properties": { "address": { "type": "string", "description": "The address of the smart contract that can be interacted with" }, "allowances": { "type": "object", "additionalProperties": { "oneOf": [ { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, { "type": "string", "pattern": "^\\d+$", "title": "Decimal String", "description": "The allowance for the permission. e.g. '1'" } ] }, "description": "The token IDs and allowances that can be transferred" } }, "required": ["address", "allowances"] } }, "required": ["type", "data"], "title": "ERC1155 Transfer", "description": "Permission to transfer specific ERC1155 tokens (Multi-tokens)", "example": { "type": "erc1155-token-transfer", "data": { "address": "0x1234567890123456789012345678901234567890", "allowances": { "1": "0x5", "2": "0xa" } } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["gas-limit"] }, "data": { "type": "object", "properties": { "limit": { "type": "string" }, "enforcePaymaster": { "type": "boolean" }, "allowedPaymaster": { "type": "string" } }, "required": ["limit"] } }, "required": ["type", "data"], "title": "Gas Limit", "description": "Permission to use a limited amount of gas across all operations", "example": { "type": "gas-limit", "data": { "limit": "0x1234", "enforcePaymaster": true, "allowedPaymaster": "0x1234567890123456789012345678901234567890" } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["call-limit"] }, "data": { "type": "object", "properties": { "count": { "type": "integer", "minimum": 1 } }, "required": ["count"] } }, "required": ["type", "data"], "title": "Transaction Count Limit", "description": "Permission to make a limited number of transaction calls in total", "example": { "type": "call-limit", "data": { "count": 5 } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["rate-limit"] }, "data": { "type": "object", "properties": { "count": { "type": "integer", "minimum": 1 }, "interval": { "type": "integer", "minimum": 1, "description": "Time window in seconds" } }, "required": ["count", "interval"] } }, "required": ["type", "data"], "title": "Rate Limit", "description": "Permission to make calls at a limited rate within time intervals", "example": { "type": "rate-limit", "data": { "count": 5, "interval": 3600 } } } ] }, "description": "The permissions of the signer following ERC-7715" }, "chains": { "type": "object", "additionalProperties": { "oneOf": [ { "type": "object", "properties": { "status": { "type": "string", "enum": ["success"] } }, "required": ["status"], "title": "Delegated Signer Approved", "description": "Delegated signer that has been approved for this chain" }, { "type": "object", "properties": { "status": { "type": "string", "enum": ["pending", "awaiting-approval", "failed"] }, "id": { "type": "string", "description": "Unique identifier for the signature" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator of the signer that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "type": "number", "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator of the signer who submitted this signature", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": [ "signature", "submittedAt", "signer", "message" ] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" } }, "required": ["status", "id"], "title": "Delegated Signer Awaiting Approval", "description": "Delegated signer that is awaiting approval for this chain" } ] }, "description": "Authorization status for each chain where the chain name is the key and the signature request is the value" } }, "required": ["type", "locator"], "title": "Delegated Signer Response", "description": "Complete delegated signer response including the signer and authorizations for each chain", "example": { "type": "evm-keypair", "locator": "evm-keypair:0x1234567890123456789012345678901234567890", "chains": { "polygon": { "status": "active" }, "base": { "id": "b984491a-5785-43c0-8811-45d46fe6e520", "status": "awaiting-approval", "approvals": { "pending": [], "submitted": [ { "signer": "evm-keypair:0x1234567890123456789012345678901234567890", "message": "0x1234567890123456789012345678901234567890123456789012345678901234", "signature": "0x1234567890123456789012345678901234567890123456789012345678901234", "submittedAt": "2024-01-01T00:00:00.000Z" } ] } } } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["solana-keypair", "solana-fireblocks-custodial"], "description": "Specifies the type of Solana signer being used, describing the method of key management and transaction signing." }, "address": { "type": "string", "description": "The address of the signer" }, "locator": { "type": "string", "title": "Signer Locator", "description": "The locator of the signer", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "transaction": { "type": "object", "properties": { "onChain": { "type": "object", "properties": { "transaction": { "type": "string" }, "lastValidBlockHeight": { "type": "number" }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["transaction"], "description": "Solana smart wallet transaction data including input parameters and chain specific details" }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator of the signer that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "type": "number", "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator of the signer who submitted this signature", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "type": "number", "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "type": "number", "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "type": "string" }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": ["onChain", "id", "status", "createdAt"], "description": "The transaction for the signer" } }, "required": ["type", "address", "locator", "transaction"], "title": "Delegated Signer Response", "description": "Complete delegated signer response including the signer and authorization transaction", "example": { "type": "solana-keypair", "address": "DzaYNi6XtWt9DNwFV61bzWEiaSxfTgWbFDgFmurJzwdo", "locator": "solana-keypair:DzaYNi6XtWt9DNwFV61bzWEiaSxfTgWbFDgFmurJzwdo", "transaction": { "onChain": { "transaction": "4B9yzZoEV45cngasy9dP2MVxhZ2iro72eqdKitTj62pqFYHk4wVoR4NCc3xkEamWbFGXLjVotyPrDqEn11WUYHoq98b5aKCSDUrLWaQDZgb3xLxF1EvaY82Vui7Ntbv682tYnu5Ngnv4Eun1wrDJ6r4aRsUSQ3XF3jvNq8bRMn4HavBjPyErQSgXX9ytCDKntCEQcY3wfMHYbRFg5zgFU1QCqhuoLa5oBpZLCUYT8DCYu3Ado7W4xzP5aCAAwVd2tj8iAnwJEujQvBnr7wWkf2mCS1cNoCTbCFAvNVaVaau6vXBWKZqS7sDNmUD3KLQVqLwxhLLNeRuvUTkD5VQ5D21VcDiYWQWQTuYYAcQ3RUhn4Vt4ymijgRGbUXZHoeN26UHoGSBFJJ7gjqCruAtFXQZxHRDKSWN9jhYXugPYVVXSpGFA5BYWBuztUtEMF4u96tk6YTgPGdkTgrQybkNxRwbVCbpsKRG1kAbjQgBxDLAX89eMCZVbzWXnAgGA6aDBQPLAyQru8awZBDasrirnxCSQq9cWwMLePQGhY5gJZykswFKtyYF4CHeto", "lastValidBlockHeight": 343486121 }, "id": "30ef7527-eb5a-4862-92de-aa96947ee705", "status": "pending", "approvals": { "required": 1, "pending": [ { "signer": "solana-keypair:GsMTPi8utYnuWakS8uvPah3UKd13dWcAshirnNmXDr3d", "message": "2kwN1iuY6Y6Br2i5D1QphaS28H7vDdAiwtABgtRdYqjx7s85rRwqF9y6iVBdv9dDZ8F1JAZo8iQdFBAx2Eg9tL3P4sbAznPZgkZcGrbUSCe5jTZ7ULZrcSd377SGEjsZcwx7h7ozrUKB6FnjHB7wGaCqEeeUXE2CfCjC1SjEc8ZzZeyNmeEv5hJSkGsK62syoAE4V5ScZs7idhxXWzpeJiRt3wfWJRevr1pJY7BBd8HaEYurXtXqwCox1uzQnnuZTiUNu7cUWUajYXBWUae4NJGJxmtFJvqnPAa5HXB4nZWXMDdcBis4tQkLCfFT6GXMauQTFCaKmcMgLRh218n51nTNopR7gTaY66ysRH536wmxt9dLqkS9okG3HF5GEXufXPLX6iT7e7" } ], "submitted": [] }, "createdAt": "2025-01-20T13:49:08.910Z" } } } ] }, "DelegatedSignerV2025Dto": { "oneOf": [ { "allOf": [ { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"], "description": "Identifier for the Passkey signer type" }, "id": { "type": "string", "description": "Credential ID from the WebAuthn registration response" }, "name": { "type": "string", "description": "Human-readable name for the passkey" }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "X coordinate of the public key as a decimal string" }, "y": { "type": "string", "description": "Y coordinate of the public key as a decimal string" } }, "required": ["x", "y"], "description": "The public key coordinates from the WebAuthn credential" }, "validatorContractVersion": { "type": "string", "description": "ERC-7579 webAuthn validator contract version" }, "locator": { "type": "string", "description": "Unique identifier for locating this passkey signer" } }, "required": [ "type", "id", "name", "publicKey", "validatorContractVersion", "locator" ], "description": "Response schema for a registered Passkey signer including validator contract details", "example": { "type": "passkey", "id": "cWtP7gmZbd98HbKUuGXx5Q", "name": "hgranger", "publicKey": { "x": "38035223810536273945556366218149112558607829411547667975304293530457502824247", "y": "91117823763706733837104303008228095481082989039135234750508288790583476078729" }, "validatorContractVersion": "0.2.0", "locator": "passkey:cWtP7gmZbd98HbKUuGXx5Q" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"], "description": "Identifier for API key signer type" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string", "description": "A base58-encoded Solana public key address" } ], "description": "The blockchain address of the custodial signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Configuration for a custodial signer managed by Crossmint", "example": { "type": "api-key", "address": "0x1234567890123456789012345678901234567890", "locator": "api-key:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"], "description": "Identifier for external wallet signer type" }, "address": { "type": "string", "description": "The blockchain address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Configuration for an external wallet signer", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890", "locator": "external-wallet:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"], "description": "Identifier for email signer type" }, "email": { "type": "string", "description": "The email address for the signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "email", "locator"], "title": "Email Signer", "description": "Configuration for an email signer", "example": { "type": "email", "email": "user@example.com", "locator": "email:user@example.com" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"], "description": "Identifier for phone signer type" }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "phone", "locator"], "title": "Phone Signer", "description": "Configuration for a phone signer", "example": { "type": "phone", "phone": "+1234567890", "locator": "phone:+1234567890" } } ], "description": "Response schema for a registered signer" }, { "type": "object", "properties": { "transaction": { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["solana"] }, "onChain": { "type": "object", "properties": { "transaction": { "type": "string" }, "lastValidBlockHeight": { "type": "number" }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["transaction"] }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object who submitted this signature" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": [ "signature", "submittedAt", "signer", "message" ] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "type": "string" }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] }, "walletType": { "type": "string", "enum": ["smart"] } }, "required": ["chainType", "onChain", "id", "status", "createdAt", "walletType"], "description": "The transaction for the signer" } }, "required": ["transaction"] } ], "title": "Delegated Signer Response", "description": "Complete delegated signer response including the signer and authorization transaction", "example": { "type": "external-wallet", "address": "DzaYNi6XtWt9DNwFV61bzWEiaSxfTgWbFDgFmurJzwdo", "locator": "external-wallet:DzaYNi6XtWt9DNwFV61bzWEiaSxfTgWbFDgFmurJzwdo", "transaction": { "chainType": "solana", "walletType": "smart", "onChain": { "transaction": "4B9yzZoEV45cngasy9dP2MVxhZ2iro72eqdKitTj62pqFYHk4wVoR4NCc3xkEamWbFGXLjVotyPrDqEn11WUYHoq98b5aKCSDUrLWaQDZgb3xLxF1EvaY82Vui7Ntbv682tYnu5Ngnv4Eun1wrDJ6r4aRsUSQ3XF3jvNq8bRMn4HavBjPyErQSgXX9ytCDKntCEQcY3wfMHYbRFg5zgFU1QCqhuoLa5oBpZLCUYT8DCYu3Ado7W4xzP5aCAAwVd2tj8iAnwJEujQvBnr7wWkf2mCS1cNoCTbCFAvNVaVaau6vXBWKZqS7sDNmUD3KLQVqLwxhLLNeRuvUTkD5VQ5D21VcDiYWQWQTuYYAcQ3RUhn4Vt4ymijgRGbUXZHoeN26UHoGSBFJJ7gjqCruAtFXQZxHRDKSWN9jhYXugPYVVXSpGFA5BYWBuztUtEMF4u96tk6YTgPGdkTgrQybkNxRwbVCbpsKRG1kAbjQgBxDLAX89eMCZVbzWXnAgGA6aDBQPLAyQru8awZBDasrirnxCSQq9cWwMLePQGhY5gJZykswFKtyYF4CHeto", "lastValidBlockHeight": 343486121 }, "id": "30ef7527-eb5a-4862-92de-aa96947ee705", "status": "pending", "approvals": { "required": 1, "pending": [ { "signer": { "type": "external-wallet", "address": "GsMTPi8utYnuWakS8uvPah3UKd13dWcAshirnNmXDr3d", "locator": "external-wallet:GsMTPi8utYnuWakS8uvPah3UKd13dWcAshirnNmXDr3d" }, "message": "2kwN1iuY6Y6Br2i5D1QphaS28H7vDdAiwtABgtRdYqjx7s85rRwqF9y6iVBdv9dDZ8F1JAZo8iQdFBAx2Eg9tL3P4sbAznPZgkZcGrbUSCe5jTZ7ULZrcSd377SGEjsZcwx7h7ozrUKB6FnjHB7wGaCqEeeUXE2CfCjC1SjEc8ZzZeyNmeEv5hJSkGsK62syoAE4V5ScZs7idhxXWzpeJiRt3wfWJRevr1pJY7BBd8HaEYurXtXqwCox1uzQnnuZTiUNu7cUWUajYXBWUae4NJGJxmtFJvqnPAa5HXB4nZWXMDdcBis4tQkLCfFT6GXMauQTFCaKmcMgLRh218n51nTNopR7gTaY66ysRH536wmxt9dLqkS9okG3HF5GEXufXPLX6iT7e7" } ], "submitted": [] }, "createdAt": "2025-01-20T13:49:08.910Z" } } }, { "allOf": [ { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"], "description": "Identifier for the Passkey signer type" }, "id": { "type": "string", "description": "Credential ID from the WebAuthn registration response" }, "name": { "type": "string", "description": "Human-readable name for the passkey" }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "X coordinate of the public key as a decimal string" }, "y": { "type": "string", "description": "Y coordinate of the public key as a decimal string" } }, "required": ["x", "y"], "description": "The public key coordinates from the WebAuthn credential" }, "validatorContractVersion": { "type": "string", "description": "ERC-7579 webAuthn validator contract version" }, "locator": { "type": "string", "description": "Unique identifier for locating this passkey signer" } }, "required": [ "type", "id", "name", "publicKey", "validatorContractVersion", "locator" ], "description": "Response schema for a registered Passkey signer including validator contract details", "example": { "type": "passkey", "id": "cWtP7gmZbd98HbKUuGXx5Q", "name": "hgranger", "publicKey": { "x": "38035223810536273945556366218149112558607829411547667975304293530457502824247", "y": "91117823763706733837104303008228095481082989039135234750508288790583476078729" }, "validatorContractVersion": "0.2.0", "locator": "passkey:cWtP7gmZbd98HbKUuGXx5Q" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"], "description": "Identifier for API key signer type" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string", "description": "A base58-encoded Solana public key address" } ], "description": "The blockchain address of the custodial signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Configuration for a custodial signer managed by Crossmint", "example": { "type": "api-key", "address": "0x1234567890123456789012345678901234567890", "locator": "api-key:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"], "description": "Identifier for external wallet signer type" }, "address": { "type": "string", "description": "The blockchain address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Configuration for an external wallet signer", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890", "locator": "external-wallet:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"], "description": "Identifier for email signer type" }, "email": { "type": "string", "description": "The email address for the signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "email", "locator"], "title": "Email Signer", "description": "Configuration for an email signer", "example": { "type": "email", "email": "user@example.com", "locator": "email:user@example.com" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"], "description": "Identifier for phone signer type" }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "phone", "locator"], "title": "Phone Signer", "description": "Configuration for a phone signer", "example": { "type": "phone", "phone": "+1234567890", "locator": "phone:+1234567890" } } ], "description": "Response schema for a registered signer" }, { "type": "object", "properties": { "expiresAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "The expiry date of the signer in ISO 8601 format", "example": "2024-01-01T00:00:00.000Z" }, "chains": { "type": "object", "additionalProperties": { "oneOf": [ { "type": "object", "properties": { "status": { "type": "string", "enum": ["success"] } }, "required": ["status"], "title": "Delegated Signer Approved", "description": "Delegated signer that has been approved for this chain" }, { "type": "object", "properties": { "status": { "type": "string", "enum": ["pending", "awaiting-approval", "failed"] }, "id": { "type": "string", "description": "Unique identifier for the signature" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": [ "external-wallet" ] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": [ "type", "address", "locator" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": [ "type", "id", "locator" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": [ "type", "address", "locator" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": [ "type", "email", "locator" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": [ "type", "phone", "locator" ] } ], "description": "The full signer object that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": [ "external-wallet" ] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": [ "type", "address", "locator" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": [ "type", "id", "locator" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": [ "type", "address", "locator" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": [ "type", "email", "locator" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": [ "type", "phone", "locator" ] } ], "description": "The full signer object who submitted this signature" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": [ "signature", "submittedAt", "signer", "message" ] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" } }, "required": ["status", "id"], "title": "Delegated Signer Awaiting Approval", "description": "Delegated signer that is awaiting approval for this chain" } ] }, "description": "Authorization status for each chain where the chain name is the key and the signature request is the value" } } } ], "title": "Delegated Signer Response", "description": "Complete delegated signer response including the signer and authorizations for each chain", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890", "locator": "external-wallet:0x1234567890123456789012345678901234567890", "chains": { "polygon": { "status": "active" }, "base": { "id": "b984491a-5785-43c0-8811-45d46fe6e520", "status": "awaiting-approval", "approvals": { "pending": [], "submitted": [ { "signer": { "type": "external-wallet", "locator": "external-wallet:0x1234567890123456789012345678901234567890", "address": "0x1234567890123456789012345678901234567890" }, "message": "0x1234567890123456789012345678901234567890123456789012345678901234", "signature": "0x1234567890123456789012345678901234567890123456789012345678901234", "submittedAt": "2024-01-01T00:00:00.000Z" } ] } } } } } ] }, "FundWalletAmountDTO": { "type": "object", "properties": { "amount": { "type": "number", "minimum": 1, "maximum": 100, "description": "The amount of currency to fund the wallet with. Between 1 and 100", "example": 10 }, "token": { "type": "string", "enum": ["usdc", "usdxm"], "description": "The currency to fund the wallet with", "example": "usdc" }, "chain": { "oneOf": [ { "type": "string", "enum": [ "arbitrum-sepolia", "avalanche-fuji", "base-sepolia", "barret-testnet", "ethereum-sepolia", "optimism-sepolia", "polygon-amoy", "sei-atlantic-2-testnet", "skale-nebula-testnet", "soneium-minato-testnet", "viction-testnet" ] }, { "type": "string", "enum": ["solana"] } ], "description": "The chain to fund the wallet with", "example": "base-sepolia" } }, "required": ["amount", "token"], "description": "Parameters required to fund a wallet", "example": { "amount": 10, "token": "usdc", "chain": "base-sepolia" } }, "SendTokenDTO": { "type": "object", "properties": { "recipient": { "type": "string", "description": "An address locator that supports different types of recipients. It can be of the format:\n- `
` (wallet address)\n- `chain:address` (e.g. ethereum:0x1234...)\n- `address:[:chain]`\n- `email:[:chain]`\n- `phoneNumber:[:chain]`\n- `twitter:[:chain]`\n- `x:[:chain]`\n- `userId:[:chain]`", "example": "0x1234567890123456789012345678901234567890" }, "signer": { "type": "string", "title": "Signer Locator", "description": "Optional signer locator. Defaults to admin signer", "example": "evm-keypair:0xdeadbeef" }, "amount": { "type": "string", "description": "Amount of tokens to transfer (in decimal value)", "example": "42.69" } }, "required": ["recipient"] }, "SendTokenV2025DTO": { "type": "object", "properties": { "recipient": { "type": "string", "description": "An address locator that supports different types of recipients. It can be of the format:\n- `
` (wallet address)\n- `chain:address` (e.g. ethereum:0x1234...)\n- `address:[:chain]`\n- `email:[:chain]`\n- `phoneNumber:[:chain]`\n- `twitter:[:chain]`\n- `x:[:chain]`\n- `userId:[:chain]`", "example": "0x1234567890123456789012345678901234567890" }, "signer": { "type": "string", "title": "Signer Locator", "description": "Optional signer locator. Defaults to admin signer", "example": "external-wallet:0xdeadbeef" }, "amount": { "type": "string", "description": "Amount of tokens to transfer (in decimal value)", "example": "42.69" } }, "required": ["recipient"], "description": "Base fields for all token transfers" }, "SubmitApprovalDTO": { "type": "object", "properties": { "approvals": { "oneOf": [ { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator for the EVM signer", "example": "evm-keypair:0x1234..." }, "signature": { "type": "string", "description": "The EVM cryptographic signature", "example": "0x4551567890abcdef..." } }, "required": ["signer", "signature"], "title": "EVM keypair signature submission payload", "description": "An EVM signature submission for a transaction" }, { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator for the EVM signer", "example": "evm-passkey:-y--aq1hqKC_ipuPHa-8aQ" }, "signature": { "type": "object", "properties": { "r": { "type": "string", "description": "R component of the signature as a string representation of a bigint" }, "s": { "type": "string", "description": "S component of the signature as a string representation of a bigint" } }, "required": ["r", "s"], "description": "The signature components" }, "metadata": { "type": "object", "properties": { "authenticatorData": { "type": "string", "description": "WebAuthn authenticator data as hex string" }, "challengeIndex": { "type": "number", "description": "Index of the challenge used" }, "clientDataJSON": { "type": "string", "description": "WebAuthn client data JSON string" }, "typeIndex": { "type": "number", "description": "Index of the signature type" }, "userVerificationRequired": { "type": "boolean", "description": "Whether user verification was required" } }, "required": [ "authenticatorData", "challengeIndex", "clientDataJSON", "typeIndex", "userVerificationRequired" ], "description": "WebAuthn signature metadata" } }, "required": ["signer", "signature", "metadata"], "description": "Schema for WebAuthn signature data", "title": "EVM passkey signature submission payload" }, { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator for the email signer", "example": "email:user@example.com" }, "signature": { "oneOf": [ { "type": "string" }, { "type": "string" } ], "description": "The cryptographic signature", "example": "0x4551567890abcdef..." } }, "required": ["signer", "signature"], "title": "Email signer signature submission payload", "description": "Schema for email signer signature submission" }, { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator for the phone signer", "example": "phone:+1234567890" }, "signature": { "oneOf": [ { "type": "string" }, { "type": "string" } ], "description": "The cryptographic signature", "example": "0x4551567890abcdef..." } }, "required": ["signer", "signature"], "title": "Phone signer signature submission payload", "description": "Schema for phone signer signature submission" } ] }, "minItems": 1, "title": "EVM signature submissions" }, { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator for the Solana signer", "example": "solana-keypair:BKw3w..." }, "signature": { "type": "string", "description": "The Solana cryptographic signature", "example": "5j3WJ6tQr4GwsVP..." } }, "required": ["signer", "signature"], "title": "Solana signature submission", "description": "A Solana signature submission for a transaction" }, { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator for the email signer", "example": "email:user@example.com" }, "signature": { "oneOf": [ { "type": "string" }, { "type": "string" } ], "description": "The cryptographic signature", "example": "0x4551567890abcdef..." } }, "required": ["signer", "signature"], "title": "Email signer signature submission payload", "description": "Schema for email signer signature submission" }, { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator for the phone signer", "example": "phone:+1234567890" }, "signature": { "oneOf": [ { "type": "string" }, { "type": "string" } ], "description": "The cryptographic signature", "example": "0x4551567890abcdef..." } }, "required": ["signer", "signature"], "title": "Phone signer signature submission payload", "description": "Schema for phone signer signature submission" } ] }, "minItems": 1, "title": "Solana signature submissions" }, { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator for the external wallet signer", "example": "external-wallet:0x1234567890123456789012345678901234567890" }, "signature": { "oneOf": [ { "type": "string" }, { "type": "string" } ], "description": "The cryptographic signature", "example": "0x4551567890abcdef..." } }, "required": ["signer", "signature"], "title": "External wallet signature submission payload", "description": "Schema for external wallet signature submission" }, { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator for the email signer", "example": "email:user@example.com" }, "signature": { "oneOf": [ { "type": "string" }, { "type": "string" } ], "description": "The cryptographic signature", "example": "0x4551567890abcdef..." } }, "required": ["signer", "signature"], "title": "Email signer signature submission payload", "description": "Schema for email signer signature submission" }, { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator for the phone signer", "example": "phone:+1234567890" }, "signature": { "oneOf": [ { "type": "string" }, { "type": "string" } ], "description": "The cryptographic signature", "example": "0x4551567890abcdef..." } }, "required": ["signer", "signature"], "title": "Phone signer signature submission payload", "description": "Schema for phone signer signature submission" } ] }, "minItems": 1, "title": "Stellar signature submissions" } ], "description": "Array of approvals to submit for this transaction" } }, "required": ["approvals"], "description": "Input for submitting one or more approvals", "example": { "approvals": [ { "signer": "evm-keypair:0x1234...", "signature": "0x1234567890abcdef..." } ] } }, "SubmitApprovalV2025DTO": { "type": "object", "properties": { "approvals": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator for the passkey signer", "example": "passkey:-y--aq1hqKC_ipuPHa-8aQ" }, "signature": { "type": "object", "properties": { "r": { "type": "string", "description": "R component of the signature as a stringified bigint" }, "s": { "type": "string", "description": "S component of the signature as a stringified bigint" } }, "required": ["r", "s"], "description": "The signature components" }, "metadata": { "type": "object", "properties": { "authenticatorData": { "type": "string", "description": "WebAuthn authenticator data as hex string" }, "challengeIndex": { "type": "number", "description": "Index of the challenge used" }, "clientDataJSON": { "type": "string", "description": "WebAuthn client data JSON string" }, "typeIndex": { "type": "number", "description": "Index of the signature type" }, "userVerificationRequired": { "type": "boolean", "description": "Whether user verification was required" } }, "required": [ "authenticatorData", "challengeIndex", "clientDataJSON", "typeIndex", "userVerificationRequired" ], "description": "WebAuthn signature metadata" } }, "required": ["signer", "signature", "metadata"], "description": "Schema for WebAuthn signature data", "title": "Passkey signature submission payload" }, { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator for the external wallet signer", "example": "external-wallet:0x1234567890123456789012345678901234567890" }, "signature": { "oneOf": [ { "type": "string" }, { "type": "string" } ], "description": "The cryptographic signature", "example": "0x4551567890abcdef..." } }, "required": ["signer", "signature"], "title": "External wallet signature submission payload", "description": "Schema for external wallet signature submission" }, { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator for the email signer", "example": "email:user@example.com" }, "signature": { "oneOf": [ { "type": "string" }, { "type": "string" } ], "description": "The cryptographic signature", "example": "0x4551567890abcdef..." } }, "required": ["signer", "signature"], "title": "Email signer signature submission payload", "description": "Schema for email signer signature submission" }, { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator for the phone signer", "example": "phone:+1234567890" }, "signature": { "oneOf": [ { "type": "string" }, { "type": "string" } ], "description": "The cryptographic signature", "example": "0x4551567890abcdef..." } }, "required": ["signer", "signature"], "title": "Phone signer signature submission payload", "description": "Schema for phone signer signature submission" } ] }, "minItems": 1, "description": "Array of approvals to submit for this transaction" } }, "required": ["approvals"], "description": "Input for submitting one or more approvals", "example": { "approvals": [ { "signer": "external-wallet:0x1234...", "signature": "0x1234567890abcdef..." } ] } }, "WalletBalanceResponseDTO": { "type": "array", "items": { "type": "object", "properties": { "token": { "type": "string", "enum": [ "ape", "bnb", "coti", "eth", "matic", "mnt", "pol", "sei", "chz", "avax", "xai", "fuel", "hbar", "vic", "ip", "zcx", "u2u", "flow", "usdc", "usdce", "busd", "usdxm", "usdt", "credit", "usdf", "weth", "degen", "brett", "toshi", "eurc", "superverse", "pirate", "wld", "bonk", "trump", "xmeme", "fartcoin", "giga", "moodeng", "jailstool", "wen", "mlg", "duo", "pep", "harambe", "usedcar", "vine", "fartboy", "pnut", "stonks", "mew", "baby", "michi", "butthole", "anglerfish", "usa", "chillguy", "sigma", "maneki", "purpe", "lockin", "y2k", "fafo", "nub", "fullsend", "shoggoth", "mini", "llm", "sc", "fatgf", "pwease", "popcat", "spx", "fwog", "mother", "wif", "fric", "etf", "gyat", "bigballs", "goat", "stupid", "duko", "bitcoin", "buttcoin", "mcdull", "skbdi", "elon4afd", "mumu", "gme", "biao", "fred", "pengu", "asscoin", "bhad", "habibi", "quant", "hammy", "boden", "dolan", "nap", "scf", "titcoin", "zerebro", "rfc", "luce", "melania", "slerf", "bome", "ban", "pippin", "ghibli", "figure", "retardio", "memesai", "dogeai", "memecoin", "routine", "troll", "nobody", "italianrot", "jockey", "pppp", "useless", "gork", "hosico", "neet", "urmom", "bert", "fog", "mog", "boopa", "wizard", "trencher", "chacha", "labubu", "moonpig", "king", "hoodrat", "goonc", "gib", "assdaq", "xbt", "ripvc", "passroo", "buck", "chizzler", "kori", "cupsey", "grumpy", "aurafarm", "monkephone", "chillhouse", "aura", "usduc", "mask", "sugar", "dege", "aquarius", "aries", "cancer", "capricorn", "gemini", "leo", "libra", "pisces", "sagittarius", "scorpio", "taurus", "virgo", "sol", "sui", "apt", "sfuel", "xion", "xlm" ], "description": "The token", "example": "eth" }, "decimals": { "type": "number", "description": "The number of decimals of the token", "example": 18 }, "balances": { "type": "object", "additionalProperties": { "type": "string" }, "description": "The balance of the wallet in different chains" } }, "required": ["token", "decimals", "balances"] }, "description": "The balances of the wallet", "example": [ { "token": "usdc", "decimals": 6, "balances": { "base": "121000000", "ethereum": "121000000", "total": "242000000" } }, { "token": "eth", "decimals": 18, "balances": { "ethereum": "1000000000000000000", "total": "1000000000000000000" } } ] }, "WalletBalanceUnstableResponseDTO": { "type": "array", "items": { "type": "object", "properties": { "token": { "type": "string" }, "decimals": { "type": "number", "description": "The number of decimals of the token", "example": 18 }, "amount": { "type": "string", "description": "The amount of the token after placing the decimal point", "example": "18.8343253454" }, "rawAmount": { "type": "string", "description": "The raw amount of the token", "example": "18834161225104097789" }, "forChain": { "type": "object", "additionalProperties": { "oneOf": [ { "type": "object", "properties": { "locator": { "type": "string", "description": "Either a token string (e.g., 'eth', 'sol', 'xlm') or a token locator string (e.g., 'ethereum:0x123', 'stellar:xlm')", "example": "stellar:xlm" }, "amount": { "type": "string", "description": "The amount of the token after placing the decimal point", "example": "18.8343253454" }, "rawAmount": { "type": "string", "description": "The raw amount of the token", "example": "18834161225104097789" }, "contractAddress": { "type": "string", "description": "The contract address of the token on the EVM chain. Not present for native tokens.", "example": "0x123" } }, "required": ["locator", "amount", "rawAmount"], "description": "Balance information per chain", "example": { "locator": "base:0x123", "amount": "18.833423432423", "rawAmount": "18834161225104097789", "contractAddress": "0x123" } }, { "type": "object", "properties": { "locator": { "type": "string", "description": "Either a token string (e.g., 'eth', 'sol', 'xlm') or a token locator string (e.g., 'ethereum:0x123', 'stellar:xlm')", "example": "stellar:xlm" }, "amount": { "type": "string", "description": "The amount of the token after placing the decimal point", "example": "18.8343253454" }, "rawAmount": { "type": "string", "description": "The raw amount of the token", "example": "18834161225104097789" }, "mintHash": { "type": "string", "description": "The mint hash of the token on Solana. Not present for native SOL.", "example": "123123" } }, "required": ["locator", "amount", "rawAmount"], "description": "Balance information for chain", "example": { "locator": "solana:31123", "amount": "18.833423432423", "rawAmount": "18834161225104097789", "mintHash": "123123" } }, { "type": "object", "properties": { "locator": { "type": "string", "description": "Either a token string (e.g., 'eth', 'sol', 'xlm') or a token locator string (e.g., 'ethereum:0x123', 'stellar:xlm')", "example": "stellar:xlm" }, "amount": { "type": "string", "description": "The amount of the token after placing the decimal point", "example": "18.8343253454" }, "rawAmount": { "type": "string", "description": "The raw amount of the token", "example": "18834161225104097789" }, "contractId": { "type": "string", "description": "The contract ID of the token on Stellar. Not present for native XLM.", "example": "CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75" } }, "required": ["locator", "amount", "rawAmount"], "description": "Balance information for Stellar chain", "example": { "locator": "stellar:xlm", "amount": "100.5000000", "rawAmount": "1005000000", "contractId": "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA" } } ] }, "description": "Balance information per chain", "example": { "base": { "contractAddress": "0x123", "locator": "base:0x123", "amount": "18.833423432423", "rawAmount": "18834161225104097789" }, "solana": { "mintHash": "123123", "locator": "solana:132", "amount": "0", "rawAmount": "00000000000000000" }, "stellar": { "contractId": "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA", "locator": "stellar:xlm", "amount": "100.5000000", "rawAmount": "1005000000" } } } }, "required": ["decimals", "amount", "rawAmount", "forChain"] }, "description": "Array of wallet balances per token", "example": [ { "token": "ETH", "decimals": 18, "amount": "18.8343253454", "rawAmount": "18834161225104097789", "forChain": { "base": { "contractAddress": "0x123", "locator": "base:0x123", "amount": "18.833423432423", "rawAmount": "18834161225104097789" }, "solana": { "mintHash": "123123", "locator": "solana:132", "amount": "0.000000000000000", "rawAmount": "00000000000000000" }, "stellar": { "contractId": "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA", "locator": "stellar:xlm", "amount": "100.5000000", "rawAmount": "1005000000" } } } ] }, "WalletBalanceV20250609ResponseDTO": { "type": "array", "items": { "type": "object", "properties": { "symbol": { "type": "string" }, "decimals": { "type": "number", "description": "The number of decimals of the token", "example": 18 }, "amount": { "type": "string", "description": "The amount of the token after placing the decimal point", "example": "18.8343253454" }, "rawAmount": { "type": "string", "description": "The raw amount of the token", "example": "18834161225104097789" }, "chains": { "type": "object", "additionalProperties": { "oneOf": [ { "type": "object", "properties": { "locator": { "type": "string", "description": "Either a token string (e.g., 'eth', 'sol') or a token locator string (e.g., 'ethereum:0x123', 'solana:sol')", "example": "ethereum:0x123" }, "amount": { "type": "string", "description": "The amount of the token after placing the decimal point", "example": "18.8343253454" }, "rawAmount": { "type": "string", "description": "The raw amount of the token", "example": "18834161225104097789" }, "contractAddress": { "type": "string", "description": "The contract address of the token on the EVM chain. Not present for native tokens.", "example": "0x123" } }, "required": ["locator", "amount", "rawAmount"], "description": "Balance information per chain", "example": { "locator": "base:0x123", "amount": "18.833423432423", "rawAmount": "18834161225104097789", "contractAddress": "0x123" } }, { "type": "object", "properties": { "locator": { "type": "string", "description": "Either a token string (e.g., 'eth', 'sol') or a token locator string (e.g., 'ethereum:0x123', 'solana:sol')", "example": "ethereum:0x123" }, "amount": { "type": "string", "description": "The amount of the token after placing the decimal point", "example": "18.8343253454" }, "rawAmount": { "type": "string", "description": "The raw amount of the token", "example": "18834161225104097789" }, "mintHash": { "type": "string", "description": "The mint hash of the token on Solana. Not present for native SOL.", "example": "123123" } }, "required": ["locator", "amount", "rawAmount"], "description": "Balance information for chain", "example": { "locator": "solana:31123", "amount": "18.833423432423", "rawAmount": "18834161225104097789", "mintHash": "123123" } } ] }, "description": "Balance information per chain", "example": { "base": { "contractAddress": "0x123", "locator": "base:0x123", "amount": "18.833423432423", "rawAmount": "18834161225104097789" }, "solana": { "mintHash": "123123", "locator": "solana:132", "amount": "0", "rawAmount": "00000000000000000" } } } }, "required": ["decimals", "amount", "rawAmount", "chains"] }, "description": "Array of wallet balances per token", "example": [ { "symbol": "ETH", "decimals": 18, "amount": "18.8343253454", "rawAmount": "18834161225104097789", "chains": { "base": { "contractAddress": "0x123", "locator": "base:0x123", "amount": "18.833423432423", "rawAmount": "18834161225104097789" }, "solana": { "mintHash": "123123", "locator": "solana:132", "amount": "0.000000000000000", "rawAmount": "00000000000000000" } } } ] }, "WalletNFTsResponseDto": { "type": "array", "items": { "type": "object", "properties": { "chain": { "type": "string", "enum": [ "solana", "sui", "aptos", "xion", "stellar", "arbitrum-sepolia", "avalanche-fuji", "curtis", "barret-testnet", "base-goerli", "base-sepolia", "bsc-testnet", "chiliz-spicy-testnet", "coti-testnet", "ethereum-goerli", "ethereum-sepolia", "hedera-testnet", "hypersonic-testnet", "lightlink-pegasus", "mantle-sepolia", "optimism-goerli", "optimism-sepolia", "polygon-amoy", "polygon-mumbai", "crossmint-private-testnet-ethereum", "crossmint-private-testnet-polygon", "rari-testnet", "scroll-sepolia", "sei-atlantic-2-testnet", "shape-sepolia", "skale-nebula-testnet", "soneium-minato-testnet", "space-testnet", "story-testnet", "verify-testnet", "viction-testnet", "xai-sepolia-testnet", "zkatana", "zkyoto", "zora-goerli", "zora-sepolia", "mode-sepolia", "u2u-nebulas", "zenchain-testnet", "abstract-testnet", "world-chain-sepolia", "flow-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "apex", "boss", "hedera", "coti", "lightlink", "mantle", "skale-nebula", "sei-pacific-1", "chiliz", "avalanche", "xai", "shape", "rari", "scroll", "viction", "mode", "space", "soneium", "story", "u2u-solaris", "abstract", "world-chain", "flow" ], "description": "The blockchain chain", "example": "ethereum" }, "metadata": { "type": "object", "properties": { "name": { "type": "string" }, "description": { "type": "string" }, "image": { "type": "string" }, "attributes": { "type": "array", "items": { "type": "object", "properties": { "trait_type": { "type": "string" }, "value": { "oneOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" } ] } }, "required": ["trait_type", "value"] } }, "animation_url": { "type": "string" }, "external_url": { "type": "string" } }, "description": "NFT metadata including name, description, image, and attributes" }, "locator": { "type": "string", "description": "The unique locator for the token", "example": "ethereum:0x1234567890123456789012345678901234567890:123" }, "isSpam": { "type": "boolean", "description": "Whether the token is marked as spam" }, "subscription": { "type": "object", "properties": { "expiresAt": { "type": "string" } }, "required": ["expiresAt"], "description": "Subscription information if the token has subscription properties" } }, "required": ["chain", "locator"], "description": "Token projection representing an NFT in a wallet" }, "description": "Array of NFTs in the wallet", "example": [ { "chain": "ethereum", "metadata": { "name": "Example NFT", "description": "An example NFT", "image": "https://example.com/image.png", "attributes": [ { "trait_type": "Rarity", "value": "Legendary" }, { "trait_type": "Level", "value": 10 } ] }, "locator": "ethereum:0x1234567890123456789012345678901234567890:123", "isSpam": false } ] }, "WalletsActivityResponseUnstableDTO": { "type": "object", "properties": { "events": { "type": "array", "items": { "type": "object", "properties": { "token_symbol": { "type": "string", "description": "The symbol of the token involved in the activity" }, "mint_hash": { "type": "string", "description": "The hash of the token" }, "transaction_hash": { "type": "string", "description": "The hash of the transaction" }, "to_address": { "type": "string", "description": "The destination address of the transaction" }, "from_address": { "type": "string", "description": "The source address of the transaction" }, "timestamp": { "type": "number", "description": "The timestamp when the activity occurred" }, "amount": { "type": "string", "description": "The amount of the token involved in the activity" }, "type": { "type": "string", "description": "The type of activity (e.g., TRANSFER)" } }, "required": [ "transaction_hash", "to_address", "from_address", "timestamp", "amount", "type" ], "title": "Wallet Activity Event (Unstable)", "description": "A single activity event for a wallet (unstable version)" } } }, "required": ["events"], "title": "Wallet Activity Response (Unstable)", "description": "List of activities associated with a wallet including transactions and other events (unstable version)", "example": { "events": [ { "token_symbol": "ETH", "transaction_hash": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef", "to_address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", "from_address": "0x1234567890123456789012345678901234567890", "amount": "1000000000000000000", "timestamp": 1715222400, "type": "TRANSFER" } ] } }, "WalletsMultipleSignatureV2025ResponseDTO": { "type": "object", "properties": { "signatures": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the signature" }, "type": { "type": "string", "enum": ["message", "typed-data"], "description": "The type of signature" }, "chainType": { "type": "string", "enum": ["evm", "solana", "aptos", "sui", "stellar"], "description": "The blockchain type of the wallet" }, "walletType": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the signature" }, "params": { "oneOf": [ { "type": "object", "properties": { "message": { "type": "string", "description": "The message in plain text to sign" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object who will submit this signature. Defaults to the wallet's admin signer." }, "chain": { "type": "string", "enum": [ "arbitrum-sepolia", "avalanche-fuji", "curtis", "barret-testnet", "base-goerli", "base-sepolia", "bsc-testnet", "chiliz-spicy-testnet", "coti-testnet", "ethereum-goerli", "ethereum-sepolia", "hedera-testnet", "hypersonic-testnet", "lightlink-pegasus", "mantle-sepolia", "optimism-goerli", "optimism-sepolia", "polygon-amoy", "polygon-mumbai", "crossmint-private-testnet-ethereum", "crossmint-private-testnet-polygon", "rari-testnet", "scroll-sepolia", "sei-atlantic-2-testnet", "shape-sepolia", "skale-nebula-testnet", "soneium-minato-testnet", "space-testnet", "story-testnet", "verify-testnet", "viction-testnet", "xai-sepolia-testnet", "zkatana", "zkyoto", "zora-goerli", "zora-sepolia", "mode-sepolia", "u2u-nebulas", "zenchain-testnet", "abstract-testnet", "world-chain-sepolia", "flow-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "apex", "boss", "hedera", "coti", "lightlink", "mantle", "skale-nebula", "sei-pacific-1", "chiliz", "avalanche", "xai", "shape", "rari", "scroll", "viction", "mode", "space", "soneium", "story", "u2u-solaris", "abstract", "world-chain", "flow" ], "description": "The chain on which the signature will be submitted" } }, "required": ["message"], "description": "Parameters for a message signature", "title": "Message signature parameters" }, { "type": "object", "properties": { "typedData": { "type": "object", "properties": { "domain": { "type": "object", "properties": { "name": { "type": "string" }, "version": { "type": "string" }, "chainId": { "type": "number" }, "verifyingContract": { "type": "string", "description": "An EVM address string" }, "salt": { "type": "string" } }, "required": [ "name", "version", "chainId", "verifyingContract" ] }, "types": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "type": { "type": "string" } }, "required": ["name", "type"] } } }, "primaryType": { "type": "string" }, "message": { "type": "object", "additionalProperties": {} } }, "required": ["domain", "types", "primaryType", "message"] }, "chain": { "type": "string", "enum": [ "arbitrum-sepolia", "avalanche-fuji", "curtis", "barret-testnet", "base-goerli", "base-sepolia", "bsc-testnet", "chiliz-spicy-testnet", "coti-testnet", "ethereum-goerli", "ethereum-sepolia", "hedera-testnet", "hypersonic-testnet", "lightlink-pegasus", "mantle-sepolia", "optimism-goerli", "optimism-sepolia", "polygon-amoy", "polygon-mumbai", "crossmint-private-testnet-ethereum", "crossmint-private-testnet-polygon", "rari-testnet", "scroll-sepolia", "sei-atlantic-2-testnet", "shape-sepolia", "skale-nebula-testnet", "soneium-minato-testnet", "space-testnet", "story-testnet", "verify-testnet", "viction-testnet", "xai-sepolia-testnet", "zkatana", "zkyoto", "zora-goerli", "zora-sepolia", "mode-sepolia", "u2u-nebulas", "zenchain-testnet", "abstract-testnet", "world-chain-sepolia", "flow-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "apex", "boss", "hedera", "coti", "lightlink", "mantle", "skale-nebula", "sei-pacific-1", "chiliz", "avalanche", "xai", "shape", "rari", "scroll", "viction", "mode", "space", "soneium", "story", "u2u-solaris", "abstract", "world-chain", "flow" ], "description": "The chain on which the signature will be submitted" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object who will approve this signature" }, "isSmartWalletSignature": { "type": "boolean", "description": "Whether the signature corresponds to the smart wallet or to the signer. If true, the signature will be wrapped with ERC6492." } }, "required": ["typedData", "chain"], "description": "Parameters for a typed data signature", "title": "Typed data signature parameters" } ], "description": "Type-specific signature parameters" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object who submitted this signature" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the signature was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "description": "Error message if the signature fails" }, "outputSignature": { "type": "string", "description": "The wallet's output signature of the request" } }, "required": ["id", "type", "chainType", "walletType", "status", "params", "createdAt"], "description": "Complete signature response including status, signing requirements, and wallet type specific data", "example": { "id": "sig-b984491a-5785-43c0-8811-45d46fe6e520", "type": "message", "chainType": "evm", "walletType": "smart", "status": "awaiting-approval", "params": { "message": "Hello, world!", "signer": { "type": "external-wallet", "address": "0xB17Ea8d34078424B9d7D126E444d5F2C3CC5c81E", "locator": "external-wallet:0xB17Ea8d34078424B9d7D126E444d5F2C3CC5c81E" }, "chain": "polygon" }, "approvals": { "pending": [ { "signer": { "type": "external-wallet", "address": "0xB17Ea8d34078424B9d7D126E444d5F2C3CC5c81E", "locator": "external-wallet:0xB17Ea8d34078424B9d7D126E444d5F2C3CC5c81E" }, "message": "Hello world!" } ], "submitted": [] }, "createdAt": "2024-01-01T00:00:00Z" } } } }, "required": ["signatures"], "description": "List of signatures with their status, signing requirements, and wallet type specific data" }, "WalletsMultipleTransactionV2025ResponseDTO": { "type": "object", "properties": { "transactions": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["evm", "solana", "aptos", "sui", "stellar"], "description": "The blockchain type of the wallet" }, "walletType": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)" }, "params": { "type": "object", "properties": { "calls": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "address": { "type": "string", "description": "The recipient address for this transaction call" }, "functionName": { "type": "string", "description": "The name of the function to call" }, "abi": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["error"] }, "inputs": { "type": "array", "items": {} }, "name": { "type": "string" } }, "required": [ "type", "inputs", "name" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["event"] }, "anonymous": { "type": "boolean" }, "inputs": { "type": "array", "items": { "allOf": [ {}, { "type": "object", "properties": { "indexed": { "type": "boolean" } } } ] } }, "name": { "type": "string", "pattern": "[a-zA-Z$_][a-zA-Z0-9$_]*" } }, "required": [ "type", "inputs", "name" ] }, { "allOf": [ { "type": "object", "properties": { "constant": { "type": "boolean" }, "gas": { "type": "number" }, "payable": { "type": "boolean" } } }, { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": [ "function" ] }, "inputs": { "type": "array", "items": {} }, "name": { "type": "string", "pattern": "[a-zA-Z$_][a-zA-Z0-9$_]*" }, "outputs": { "type": "array", "items": {} }, "stateMutability": { "type": "string", "enum": [ "pure", "view", "nonpayable", "payable" ] } }, "required": [ "type", "inputs", "name", "outputs", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "constructor" ] }, "inputs": { "type": "array", "items": {} }, "stateMutability": { "type": "string", "enum": [ "payable", "nonpayable" ] } }, "required": [ "type", "inputs", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "fallback" ] }, "inputs": {}, "stateMutability": { "type": "string", "enum": [ "payable", "nonpayable" ] } }, "required": [ "type", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "receive" ] }, "stateMutability": { "type": "string", "enum": [ "payable" ] } }, "required": [ "type", "stateMutability" ] } ] } ] } ] }, "description": "The ABI for the function to call" }, "args": { "type": "array", "items": {}, "description": "The arguments to pass to the function" }, "value": { "default": "0", "type": "string", "description": "The amount of native token to send in wei" } }, "required": ["address", "functionName", "abi", "args"], "title": "EVM contract call transaction parameters", "description": "Parameters for a transaction to execute a contract function" }, { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient address for this transaction call" }, "value": { "type": "string", "description": "The amount of native token to send in wei" }, "data": { "description": "The encoded calldata for this transaction" } }, "required": ["to", "value", "data"], "title": "EVM direct calldata transaction parameters", "description": "Parameters for a transaction to send a direct calldata transaction" }, { "type": "object", "properties": { "transaction": { "description": "Serialized EVM transaction" } }, "required": ["transaction"], "title": "EVM serialized transaction parameters", "description": "Parameters for a transaction to send a serialized EVM transaction" } ], "description": "Transaction data to execute" }, "minItems": 1, "description": "Array of transaction calls to execute" }, "chain": { "enum": [ "abstract", "apechain", "arbitrum", "arbitrumnova", "base", "bsc", "mantle", "mode", "optimism", "polygon", "scroll", "sei-pacific-1", "shape", "story", "world-chain", "zora", "abstract-testnet", "arbitrum-sepolia", "base-sepolia", "curtis", "ethereum-sepolia", "mantle-sepolia", "mode-sepolia", "optimism-sepolia", "polygon-amoy", "scroll-sepolia", "sei-atlantic-2-testnet", "story-testnet", "world-chain-sepolia", "zora-sepolia" ], "description": "The chain on which the transaction will be executed" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object who will submit this transaction" } }, "required": ["calls", "chain"] }, "onChain": { "type": "object", "properties": { "userOperation": { "type": "object", "properties": { "sender": { "type": "string" }, "nonce": { "type": "string" }, "callData": { "type": "string" }, "callGasLimit": { "type": "string" }, "verificationGasLimit": { "type": "string" }, "preVerificationGas": { "type": "string" }, "maxFeePerGas": { "type": "string" }, "maxPriorityFeePerGas": { "type": "string" }, "paymaster": { "type": "string" }, "paymasterVerificationGasLimit": { "type": "string" }, "paymasterData": { "type": "string" }, "paymasterPostOpGasLimit": { "type": "string" }, "signature": { "type": "string" }, "factory": { "type": "string" }, "factoryData": { "type": "string" } }, "required": [ "sender", "nonce", "callData", "callGasLimit", "verificationGasLimit", "preVerificationGas", "maxFeePerGas", "maxPriorityFeePerGas", "signature" ] }, "userOperationHash": { "type": "string" }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["userOperation", "userOperationHash"], "title": "EVM smart wallet transaction data", "description": "Transaction data specific to EVM smart wallets" }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object who submitted this signature" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "type": "string" }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": [ "chainType", "walletType", "params", "onChain", "id", "status", "createdAt" ], "title": "EVM smart wallet transaction response" }, { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["evm", "solana", "aptos", "sui", "stellar"], "description": "The blockchain type of the wallet" }, "walletType": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)" }, "params": { "type": "object", "properties": { "call": { "oneOf": [ { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient address for this transaction call" }, "data": { "description": "The encoded calldata for this transaction" } }, "required": ["to", "data"], "additionalProperties": false }, { "type": "object", "properties": { "address": { "type": "string", "description": "The recipient address for this transaction call" }, "functionName": { "type": "string", "description": "The name of the function to call" }, "abi": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["error"] }, "inputs": { "type": "array", "items": {} }, "name": { "type": "string" } }, "required": ["type", "inputs", "name"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["event"] }, "anonymous": { "type": "boolean" }, "inputs": { "type": "array", "items": { "allOf": [ {}, { "type": "object", "properties": { "indexed": { "type": "boolean" } } } ] } }, "name": { "type": "string", "pattern": "[a-zA-Z$_][a-zA-Z0-9$_]*" } }, "required": ["type", "inputs", "name"] }, { "allOf": [ { "type": "object", "properties": { "constant": { "type": "boolean" }, "gas": { "type": "number" }, "payable": { "type": "boolean" } } }, { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": [ "function" ] }, "inputs": { "type": "array", "items": {} }, "name": { "type": "string", "pattern": "[a-zA-Z$_][a-zA-Z0-9$_]*" }, "outputs": { "type": "array", "items": {} }, "stateMutability": { "type": "string", "enum": [ "pure", "view", "nonpayable", "payable" ] } }, "required": [ "type", "inputs", "name", "outputs", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "constructor" ] }, "inputs": { "type": "array", "items": {} }, "stateMutability": { "type": "string", "enum": [ "payable", "nonpayable" ] } }, "required": [ "type", "inputs", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "fallback" ] }, "inputs": {}, "stateMutability": { "type": "string", "enum": [ "payable", "nonpayable" ] } }, "required": [ "type", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "receive" ] }, "stateMutability": { "type": "string", "enum": [ "payable" ] } }, "required": [ "type", "stateMutability" ] } ] } ] } ] }, "description": "The ABI for the function to call" }, "args": { "type": "array", "items": {}, "description": "The arguments to pass to the function" } }, "required": ["address", "functionName", "abi", "args"], "additionalProperties": false } ], "description": "The transaction call to execute" }, "chain": { "type": "string", "enum": [ "arbitrum-sepolia", "avalanche-fuji", "curtis", "barret-testnet", "base-goerli", "base-sepolia", "bsc-testnet", "chiliz-spicy-testnet", "coti-testnet", "ethereum-goerli", "ethereum-sepolia", "hedera-testnet", "hypersonic-testnet", "lightlink-pegasus", "mantle-sepolia", "optimism-goerli", "optimism-sepolia", "polygon-amoy", "polygon-mumbai", "crossmint-private-testnet-ethereum", "crossmint-private-testnet-polygon", "rari-testnet", "scroll-sepolia", "sei-atlantic-2-testnet", "shape-sepolia", "skale-nebula-testnet", "soneium-minato-testnet", "space-testnet", "story-testnet", "verify-testnet", "viction-testnet", "xai-sepolia-testnet", "zkatana", "zkyoto", "zora-goerli", "zora-sepolia", "mode-sepolia", "u2u-nebulas", "zenchain-testnet", "abstract-testnet", "world-chain-sepolia", "flow-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "apex", "boss", "hedera", "coti", "lightlink", "mantle", "skale-nebula", "sei-pacific-1", "chiliz", "avalanche", "xai", "shape", "rari", "scroll", "viction", "mode", "space", "soneium", "story", "u2u-solaris", "abstract", "world-chain", "flow" ], "description": "The chain on which the transaction will be executed" } }, "required": ["call", "chain"] }, "onChain": { "type": "object", "properties": { "call": { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient address for this transaction call" }, "data": { "description": "The encoded calldata for this transaction" } }, "required": ["to", "data"] }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["call"], "title": "EVM MPC wallet transaction data", "description": "Transaction data specific to EVM MPC wallets" }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object who submitted this signature" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "type": "string" }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": [ "chainType", "walletType", "params", "onChain", "id", "status", "createdAt" ], "title": "EVM MPC wallet transaction response" }, { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["evm", "solana", "aptos", "sui", "stellar"], "description": "The blockchain type of the wallet" }, "walletType": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)" }, "params": { "type": "object", "properties": { "transaction": { "type": "string", "description": "Base58 encoded serialized Solana transaction" }, "requiredSigners": { "type": "array", "items": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "Transformed signer object from locator string" }, "description": "Optional array of additional full signer objects required for the transaction" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object who will submit this transaction. Defaults to the admin signer." }, "feeConfig": { "oneOf": [ { "type": "object", "properties": { "feePayer": { "type": "string", "description": "The address that will pay for the transaction" }, "token": { "type": "string", "enum": ["sol", "usdc", "usdt"], "description": "The token to use for the fee" }, "amount": { "type": "string", "description": "The amount of the fee" } }, "required": ["feePayer", "token", "amount"] }, { "type": "object", "properties": { "feePayer": { "type": "string", "enum": ["crossmint"] }, "amount": { "type": "string", "description": "The amount of the fee" } }, "required": ["feePayer", "amount"] } ] } }, "required": ["transaction", "feeConfig"] }, "onChain": { "type": "object", "properties": { "transaction": { "type": "string" }, "lastValidBlockHeight": { "type": "number" }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["transaction"] }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object who submitted this signature" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "type": "string" }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": [ "chainType", "walletType", "params", "onChain", "id", "status", "createdAt" ], "title": "Solana smart wallet transaction response" }, { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["evm", "solana", "aptos", "sui", "stellar"], "description": "The blockchain type of the wallet" }, "walletType": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)" }, "params": { "type": "object", "properties": { "transaction": { "type": "string", "description": "Base58 encoded serialized Solana transaction" }, "requiredSigners": { "type": "array", "items": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "Transformed signer object from locator string" }, "description": "Optional array of additional full signer objects required for the transaction" } }, "required": ["transaction"] }, "onChain": { "type": "object", "properties": { "transaction": { "type": "string" }, "lastValidBlockHeight": { "type": "number" }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["transaction"] }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object who submitted this signature" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "type": "string" }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": [ "chainType", "walletType", "params", "onChain", "id", "status", "createdAt" ], "title": "Solana MPC wallet transaction response" }, { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["evm", "solana", "aptos", "sui", "stellar"], "description": "The blockchain type of the wallet" }, "walletType": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)" }, "params": { "type": "object", "properties": { "transaction": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["contract-call"], "description": "The type of transaction to execute" }, "contractId": { "type": "string", "description": "The recipient address for this transaction call", "example": "GB3KQJ6N2YIE62YVO67X7W5TQK6Q5ZZ4P2LUVK2U6AU26CJQ626J" }, "method": { "type": "string", "description": "The name of the function to call" }, "memo": { "type": "string", "description": "The memo for the transaction" }, "args": { "type": "object", "additionalProperties": {}, "description": "The arguments to pass to the function" } }, "required": ["type", "contractId", "method", "args"], "title": "Stellar contract call transaction parameters", "description": "Parameters for a transaction to execute a smart contract function", "example": { "type": "contract-call", "contractId": "GB3KQJ6N2YIE62YVO67X7W5TQK6Q5ZZ4P2LUVK2U6AU26CJQ626J", "method": "transfer", "args": { "to": "GB3KQJ6N2YIE62YVO67X7W5TQK6Q5ZZ4P2LUVK2U6AU26CJQ626J", "from": "GB3KQJ6N2YIE62YVO67X7W5TQK6Q5ZZ4P2LUVK2U6AU26CJQ626J", "amount": "1000000000000000000" } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["serialized-transaction"], "description": "The type of transaction to execute" }, "serializedTransaction": { "type": "string", "description": "The XDR base64-encoded serialized transaction to execute" }, "contractId": { "type": "string", "description": "The recipient address for this transaction call", "example": "GB3KQJ6N2YIE62YVO67X7W5TQK6Q5ZZ4P2LUVK2U6AU26CJQ626J" } }, "required": ["type", "serializedTransaction", "contractId"], "title": "Stellar serialized transaction parameters", "description": "Parameters for a transaction to execute a serialized transaction", "example": { "type": "serialized-transaction", "serializedTransaction": "AQAAAAB2YWx1ZQ==", "contractId": "GB3KQJ6N2YIE62YVO67X7W5TQK6Q5ZZ4P2LUVK2U6AU26CJQ626J" } } ], "description": "Stellar transaction to execute" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer who will submit this transaction. Defaults to the admin signer.", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] } }, "required": ["transaction"] }, "onChain": { "type": "object", "properties": { "transaction": { "type": "string", "description": "The Stellar Transaction Envelope in XDR format" }, "txId": { "type": "string", "description": "The transaction hash" }, "ledger": { "type": "number", "description": "The ledger number where the transaction was included" }, "simulation": { "type": "object", "properties": { "success": { "type": "boolean", "description": "Whether the transaction was successful" }, "result": { "description": "The Transaction Result in XDR format" } }, "required": ["success"], "description": "The simulation result" }, "result": { "description": "The Transaction Result in XDR format" }, "explorerLink": { "type": "string", "description": "Optional link to view the transaction in an explorer" } }, "required": ["transaction", "simulation"], "title": "Stellar on-chain data" }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object who submitted this signature" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "type": "string" }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": [ "chainType", "walletType", "params", "onChain", "id", "status", "createdAt" ], "title": "Stellar smart wallet transaction response" } ], "description": "Complete transaction response including status, signing requirements, and wallet type specific data" } } }, "required": ["transactions"], "title": "Transactions Response", "description": "List of transactions with their status, signing requirements, and wallet type specific data" }, "WalletsSignatureV2025ResponseDTO": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the signature" }, "type": { "type": "string", "enum": ["message", "typed-data"], "description": "The type of signature" }, "chainType": { "type": "string", "enum": ["evm", "solana", "aptos", "sui", "stellar"], "description": "The blockchain type of the wallet" }, "walletType": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the signature" }, "params": { "oneOf": [ { "type": "object", "properties": { "message": { "type": "string", "description": "The message in plain text to sign" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object who will submit this signature. Defaults to the wallet's admin signer." }, "chain": { "type": "string", "enum": [ "arbitrum-sepolia", "avalanche-fuji", "curtis", "barret-testnet", "base-goerli", "base-sepolia", "bsc-testnet", "chiliz-spicy-testnet", "coti-testnet", "ethereum-goerli", "ethereum-sepolia", "hedera-testnet", "hypersonic-testnet", "lightlink-pegasus", "mantle-sepolia", "optimism-goerli", "optimism-sepolia", "polygon-amoy", "polygon-mumbai", "crossmint-private-testnet-ethereum", "crossmint-private-testnet-polygon", "rari-testnet", "scroll-sepolia", "sei-atlantic-2-testnet", "shape-sepolia", "skale-nebula-testnet", "soneium-minato-testnet", "space-testnet", "story-testnet", "verify-testnet", "viction-testnet", "xai-sepolia-testnet", "zkatana", "zkyoto", "zora-goerli", "zora-sepolia", "mode-sepolia", "u2u-nebulas", "zenchain-testnet", "abstract-testnet", "world-chain-sepolia", "flow-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "apex", "boss", "hedera", "coti", "lightlink", "mantle", "skale-nebula", "sei-pacific-1", "chiliz", "avalanche", "xai", "shape", "rari", "scroll", "viction", "mode", "space", "soneium", "story", "u2u-solaris", "abstract", "world-chain", "flow" ], "description": "The chain on which the signature will be submitted" } }, "required": ["message"], "description": "Parameters for a message signature", "title": "Message signature parameters" }, { "type": "object", "properties": { "typedData": { "type": "object", "properties": { "domain": { "type": "object", "properties": { "name": { "type": "string" }, "version": { "type": "string" }, "chainId": { "type": "number" }, "verifyingContract": { "type": "string", "description": "An EVM address string" }, "salt": { "type": "string" } }, "required": ["name", "version", "chainId", "verifyingContract"] }, "types": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "type": { "type": "string" } }, "required": ["name", "type"] } } }, "primaryType": { "type": "string" }, "message": { "type": "object", "additionalProperties": {} } }, "required": ["domain", "types", "primaryType", "message"] }, "chain": { "type": "string", "enum": [ "arbitrum-sepolia", "avalanche-fuji", "curtis", "barret-testnet", "base-goerli", "base-sepolia", "bsc-testnet", "chiliz-spicy-testnet", "coti-testnet", "ethereum-goerli", "ethereum-sepolia", "hedera-testnet", "hypersonic-testnet", "lightlink-pegasus", "mantle-sepolia", "optimism-goerli", "optimism-sepolia", "polygon-amoy", "polygon-mumbai", "crossmint-private-testnet-ethereum", "crossmint-private-testnet-polygon", "rari-testnet", "scroll-sepolia", "sei-atlantic-2-testnet", "shape-sepolia", "skale-nebula-testnet", "soneium-minato-testnet", "space-testnet", "story-testnet", "verify-testnet", "viction-testnet", "xai-sepolia-testnet", "zkatana", "zkyoto", "zora-goerli", "zora-sepolia", "mode-sepolia", "u2u-nebulas", "zenchain-testnet", "abstract-testnet", "world-chain-sepolia", "flow-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "apex", "boss", "hedera", "coti", "lightlink", "mantle", "skale-nebula", "sei-pacific-1", "chiliz", "avalanche", "xai", "shape", "rari", "scroll", "viction", "mode", "space", "soneium", "story", "u2u-solaris", "abstract", "world-chain", "flow" ], "description": "The chain on which the signature will be submitted" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object who will approve this signature" }, "isSmartWalletSignature": { "type": "boolean", "description": "Whether the signature corresponds to the smart wallet or to the signer. If true, the signature will be wrapped with ERC6492." } }, "required": ["typedData", "chain"], "description": "Parameters for a typed data signature", "title": "Typed data signature parameters" } ], "description": "Type-specific signature parameters" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object who submitted this signature" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the signature was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "description": "Error message if the signature fails" }, "outputSignature": { "type": "string", "description": "The wallet's output signature of the request" } }, "required": ["id", "type", "chainType", "walletType", "status", "params", "createdAt"], "description": "Complete signature response including status, signing requirements, and wallet type specific data", "example": { "id": "sig-b984491a-5785-43c0-8811-45d46fe6e520", "type": "message", "chainType": "evm", "walletType": "smart", "status": "awaiting-approval", "params": { "message": "Hello, world!", "signer": { "type": "external-wallet", "address": "0xB17Ea8d34078424B9d7D126E444d5F2C3CC5c81E", "locator": "external-wallet:0xB17Ea8d34078424B9d7D126E444d5F2C3CC5c81E" }, "chain": "polygon" }, "approvals": { "pending": [ { "signer": { "type": "external-wallet", "address": "0xB17Ea8d34078424B9d7D126E444d5F2C3CC5c81E", "locator": "external-wallet:0xB17Ea8d34078424B9d7D126E444d5F2C3CC5c81E" }, "message": "Hello world!" } ], "submitted": [] }, "createdAt": "2024-01-01T00:00:00Z" } }, "WalletsTransactionV2025ResponseDTO": { "oneOf": [ { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["evm", "solana", "aptos", "sui", "stellar"], "description": "The blockchain type of the wallet" }, "walletType": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)" }, "params": { "type": "object", "properties": { "calls": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "address": { "type": "string", "description": "The recipient address for this transaction call" }, "functionName": { "type": "string", "description": "The name of the function to call" }, "abi": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["error"] }, "inputs": { "type": "array", "items": {} }, "name": { "type": "string" } }, "required": ["type", "inputs", "name"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["event"] }, "anonymous": { "type": "boolean" }, "inputs": { "type": "array", "items": { "allOf": [ {}, { "type": "object", "properties": { "indexed": { "type": "boolean" } } } ] } }, "name": { "type": "string", "pattern": "[a-zA-Z$_][a-zA-Z0-9$_]*" } }, "required": ["type", "inputs", "name"] }, { "allOf": [ { "type": "object", "properties": { "constant": { "type": "boolean" }, "gas": { "type": "number" }, "payable": { "type": "boolean" } } }, { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["function"] }, "inputs": { "type": "array", "items": {} }, "name": { "type": "string", "pattern": "[a-zA-Z$_][a-zA-Z0-9$_]*" }, "outputs": { "type": "array", "items": {} }, "stateMutability": { "type": "string", "enum": [ "pure", "view", "nonpayable", "payable" ] } }, "required": [ "type", "inputs", "name", "outputs", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["constructor"] }, "inputs": { "type": "array", "items": {} }, "stateMutability": { "type": "string", "enum": [ "payable", "nonpayable" ] } }, "required": [ "type", "inputs", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["fallback"] }, "inputs": {}, "stateMutability": { "type": "string", "enum": [ "payable", "nonpayable" ] } }, "required": [ "type", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["receive"] }, "stateMutability": { "type": "string", "enum": ["payable"] } }, "required": [ "type", "stateMutability" ] } ] } ] } ] }, "description": "The ABI for the function to call" }, "args": { "type": "array", "items": {}, "description": "The arguments to pass to the function" }, "value": { "default": "0", "type": "string", "description": "The amount of native token to send in wei" } }, "required": ["address", "functionName", "abi", "args"], "title": "EVM contract call transaction parameters", "description": "Parameters for a transaction to execute a contract function" }, { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient address for this transaction call" }, "value": { "type": "string", "description": "The amount of native token to send in wei" }, "data": { "description": "The encoded calldata for this transaction" } }, "required": ["to", "value", "data"], "title": "EVM direct calldata transaction parameters", "description": "Parameters for a transaction to send a direct calldata transaction" }, { "type": "object", "properties": { "transaction": { "description": "Serialized EVM transaction" } }, "required": ["transaction"], "title": "EVM serialized transaction parameters", "description": "Parameters for a transaction to send a serialized EVM transaction" } ], "description": "Transaction data to execute" }, "minItems": 1, "description": "Array of transaction calls to execute" }, "chain": { "enum": [ "abstract", "apechain", "arbitrum", "arbitrumnova", "base", "bsc", "mantle", "mode", "optimism", "polygon", "scroll", "sei-pacific-1", "shape", "story", "world-chain", "zora", "abstract-testnet", "arbitrum-sepolia", "base-sepolia", "curtis", "ethereum-sepolia", "mantle-sepolia", "mode-sepolia", "optimism-sepolia", "polygon-amoy", "scroll-sepolia", "sei-atlantic-2-testnet", "story-testnet", "world-chain-sepolia", "zora-sepolia" ], "description": "The chain on which the transaction will be executed" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object who will submit this transaction" } }, "required": ["calls", "chain"] }, "onChain": { "type": "object", "properties": { "userOperation": { "type": "object", "properties": { "sender": { "type": "string" }, "nonce": { "type": "string" }, "callData": { "type": "string" }, "callGasLimit": { "type": "string" }, "verificationGasLimit": { "type": "string" }, "preVerificationGas": { "type": "string" }, "maxFeePerGas": { "type": "string" }, "maxPriorityFeePerGas": { "type": "string" }, "paymaster": { "type": "string" }, "paymasterVerificationGasLimit": { "type": "string" }, "paymasterData": { "type": "string" }, "paymasterPostOpGasLimit": { "type": "string" }, "signature": { "type": "string" }, "factory": { "type": "string" }, "factoryData": { "type": "string" } }, "required": [ "sender", "nonce", "callData", "callGasLimit", "verificationGasLimit", "preVerificationGas", "maxFeePerGas", "maxPriorityFeePerGas", "signature" ] }, "userOperationHash": { "type": "string" }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["userOperation", "userOperationHash"], "title": "EVM smart wallet transaction data", "description": "Transaction data specific to EVM smart wallets" }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object who submitted this signature" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "type": "string" }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": ["chainType", "walletType", "params", "onChain", "id", "status", "createdAt"], "title": "EVM smart wallet transaction response" }, { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["evm", "solana", "aptos", "sui", "stellar"], "description": "The blockchain type of the wallet" }, "walletType": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)" }, "params": { "type": "object", "properties": { "call": { "oneOf": [ { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient address for this transaction call" }, "data": { "description": "The encoded calldata for this transaction" } }, "required": ["to", "data"], "additionalProperties": false }, { "type": "object", "properties": { "address": { "type": "string", "description": "The recipient address for this transaction call" }, "functionName": { "type": "string", "description": "The name of the function to call" }, "abi": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["error"] }, "inputs": { "type": "array", "items": {} }, "name": { "type": "string" } }, "required": ["type", "inputs", "name"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["event"] }, "anonymous": { "type": "boolean" }, "inputs": { "type": "array", "items": { "allOf": [ {}, { "type": "object", "properties": { "indexed": { "type": "boolean" } } } ] } }, "name": { "type": "string", "pattern": "[a-zA-Z$_][a-zA-Z0-9$_]*" } }, "required": ["type", "inputs", "name"] }, { "allOf": [ { "type": "object", "properties": { "constant": { "type": "boolean" }, "gas": { "type": "number" }, "payable": { "type": "boolean" } } }, { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["function"] }, "inputs": { "type": "array", "items": {} }, "name": { "type": "string", "pattern": "[a-zA-Z$_][a-zA-Z0-9$_]*" }, "outputs": { "type": "array", "items": {} }, "stateMutability": { "type": "string", "enum": [ "pure", "view", "nonpayable", "payable" ] } }, "required": [ "type", "inputs", "name", "outputs", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["constructor"] }, "inputs": { "type": "array", "items": {} }, "stateMutability": { "type": "string", "enum": [ "payable", "nonpayable" ] } }, "required": [ "type", "inputs", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["fallback"] }, "inputs": {}, "stateMutability": { "type": "string", "enum": [ "payable", "nonpayable" ] } }, "required": [ "type", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["receive"] }, "stateMutability": { "type": "string", "enum": ["payable"] } }, "required": [ "type", "stateMutability" ] } ] } ] } ] }, "description": "The ABI for the function to call" }, "args": { "type": "array", "items": {}, "description": "The arguments to pass to the function" } }, "required": ["address", "functionName", "abi", "args"], "additionalProperties": false } ], "description": "The transaction call to execute" }, "chain": { "type": "string", "enum": [ "arbitrum-sepolia", "avalanche-fuji", "curtis", "barret-testnet", "base-goerli", "base-sepolia", "bsc-testnet", "chiliz-spicy-testnet", "coti-testnet", "ethereum-goerli", "ethereum-sepolia", "hedera-testnet", "hypersonic-testnet", "lightlink-pegasus", "mantle-sepolia", "optimism-goerli", "optimism-sepolia", "polygon-amoy", "polygon-mumbai", "crossmint-private-testnet-ethereum", "crossmint-private-testnet-polygon", "rari-testnet", "scroll-sepolia", "sei-atlantic-2-testnet", "shape-sepolia", "skale-nebula-testnet", "soneium-minato-testnet", "space-testnet", "story-testnet", "verify-testnet", "viction-testnet", "xai-sepolia-testnet", "zkatana", "zkyoto", "zora-goerli", "zora-sepolia", "mode-sepolia", "u2u-nebulas", "zenchain-testnet", "abstract-testnet", "world-chain-sepolia", "flow-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "apex", "boss", "hedera", "coti", "lightlink", "mantle", "skale-nebula", "sei-pacific-1", "chiliz", "avalanche", "xai", "shape", "rari", "scroll", "viction", "mode", "space", "soneium", "story", "u2u-solaris", "abstract", "world-chain", "flow" ], "description": "The chain on which the transaction will be executed" } }, "required": ["call", "chain"] }, "onChain": { "type": "object", "properties": { "call": { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient address for this transaction call" }, "data": { "description": "The encoded calldata for this transaction" } }, "required": ["to", "data"] }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["call"], "title": "EVM MPC wallet transaction data", "description": "Transaction data specific to EVM MPC wallets" }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object who submitted this signature" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "type": "string" }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": ["chainType", "walletType", "params", "onChain", "id", "status", "createdAt"], "title": "EVM MPC wallet transaction response" }, { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["evm", "solana", "aptos", "sui", "stellar"], "description": "The blockchain type of the wallet" }, "walletType": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)" }, "params": { "type": "object", "properties": { "transaction": { "type": "string", "description": "Base58 encoded serialized Solana transaction" }, "requiredSigners": { "type": "array", "items": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "Transformed signer object from locator string" }, "description": "Optional array of additional full signer objects required for the transaction" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object who will submit this transaction. Defaults to the admin signer." }, "feeConfig": { "oneOf": [ { "type": "object", "properties": { "feePayer": { "type": "string", "description": "The address that will pay for the transaction" }, "token": { "type": "string", "enum": ["sol", "usdc", "usdt"], "description": "The token to use for the fee" }, "amount": { "type": "string", "description": "The amount of the fee" } }, "required": ["feePayer", "token", "amount"] }, { "type": "object", "properties": { "feePayer": { "type": "string", "enum": ["crossmint"] }, "amount": { "type": "string", "description": "The amount of the fee" } }, "required": ["feePayer", "amount"] } ] } }, "required": ["transaction", "feeConfig"] }, "onChain": { "type": "object", "properties": { "transaction": { "type": "string" }, "lastValidBlockHeight": { "type": "number" }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["transaction"] }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object who submitted this signature" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "type": "string" }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": ["chainType", "walletType", "params", "onChain", "id", "status", "createdAt"], "title": "Solana smart wallet transaction response" }, { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["evm", "solana", "aptos", "sui", "stellar"], "description": "The blockchain type of the wallet" }, "walletType": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)" }, "params": { "type": "object", "properties": { "transaction": { "type": "string", "description": "Base58 encoded serialized Solana transaction" }, "requiredSigners": { "type": "array", "items": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "Transformed signer object from locator string" }, "description": "Optional array of additional full signer objects required for the transaction" } }, "required": ["transaction"] }, "onChain": { "type": "object", "properties": { "transaction": { "type": "string" }, "lastValidBlockHeight": { "type": "number" }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["transaction"] }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object who submitted this signature" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "type": "string" }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": ["chainType", "walletType", "params", "onChain", "id", "status", "createdAt"], "title": "Solana MPC wallet transaction response" }, { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["evm", "solana", "aptos", "sui", "stellar"], "description": "The blockchain type of the wallet" }, "walletType": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)" }, "params": { "type": "object", "properties": { "transaction": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["contract-call"], "description": "The type of transaction to execute" }, "contractId": { "type": "string", "description": "The recipient address for this transaction call", "example": "GB3KQJ6N2YIE62YVO67X7W5TQK6Q5ZZ4P2LUVK2U6AU26CJQ626J" }, "method": { "type": "string", "description": "The name of the function to call" }, "memo": { "type": "string", "description": "The memo for the transaction" }, "args": { "type": "object", "additionalProperties": {}, "description": "The arguments to pass to the function" } }, "required": ["type", "contractId", "method", "args"], "title": "Stellar contract call transaction parameters", "description": "Parameters for a transaction to execute a smart contract function", "example": { "type": "contract-call", "contractId": "GB3KQJ6N2YIE62YVO67X7W5TQK6Q5ZZ4P2LUVK2U6AU26CJQ626J", "method": "transfer", "args": { "to": "GB3KQJ6N2YIE62YVO67X7W5TQK6Q5ZZ4P2LUVK2U6AU26CJQ626J", "from": "GB3KQJ6N2YIE62YVO67X7W5TQK6Q5ZZ4P2LUVK2U6AU26CJQ626J", "amount": "1000000000000000000" } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["serialized-transaction"], "description": "The type of transaction to execute" }, "serializedTransaction": { "type": "string", "description": "The XDR base64-encoded serialized transaction to execute" }, "contractId": { "type": "string", "description": "The recipient address for this transaction call", "example": "GB3KQJ6N2YIE62YVO67X7W5TQK6Q5ZZ4P2LUVK2U6AU26CJQ626J" } }, "required": ["type", "serializedTransaction", "contractId"], "title": "Stellar serialized transaction parameters", "description": "Parameters for a transaction to execute a serialized transaction", "example": { "type": "serialized-transaction", "serializedTransaction": "AQAAAAB2YWx1ZQ==", "contractId": "GB3KQJ6N2YIE62YVO67X7W5TQK6Q5ZZ4P2LUVK2U6AU26CJQ626J" } } ], "description": "Stellar transaction to execute" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer who will submit this transaction. Defaults to the admin signer.", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] } }, "required": ["transaction"] }, "onChain": { "type": "object", "properties": { "transaction": { "type": "string", "description": "The Stellar Transaction Envelope in XDR format" }, "txId": { "type": "string", "description": "The transaction hash" }, "ledger": { "type": "number", "description": "The ledger number where the transaction was included" }, "simulation": { "type": "object", "properties": { "success": { "type": "boolean", "description": "Whether the transaction was successful" }, "result": { "description": "The Transaction Result in XDR format" } }, "required": ["success"], "description": "The simulation result" }, "result": { "description": "The Transaction Result in XDR format" }, "explorerLink": { "type": "string", "description": "Optional link to view the transaction in an explorer" } }, "required": ["transaction", "simulation"], "title": "Stellar on-chain data" }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "id", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "email", "locator"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "phone", "locator"] } ], "description": "The full signer object who submitted this signature" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "type": "string" }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": ["chainType", "walletType", "params", "onChain", "id", "status", "createdAt"], "title": "Stellar smart wallet transaction response" } ], "description": "Complete transaction response including status, signing requirements, and wallet type specific data" }, "WalletsV1Alpha2ActivityResponseDTO": { "type": "object", "properties": { "events": { "type": "array", "items": { "type": "object", "properties": { "token_symbol": { "type": "string", "description": "The symbol of the token involved in the activity" }, "mint_hash": { "type": "string", "description": "The hash of the token" }, "transaction_hash": { "type": "string", "description": "The hash of the transaction" }, "to_address": { "type": "string", "description": "The destination address of the transaction" }, "from_address": { "type": "string", "description": "The source address of the transaction" }, "timestamp": { "type": "number", "description": "The timestamp when the activity occurred" }, "amount": { "type": "string", "description": "The amount of the token involved in the activity" }, "type": { "type": "string", "description": "The type of activity (e.g., TRANSFER)" } }, "required": [ "transaction_hash", "to_address", "from_address", "timestamp", "amount", "type" ], "title": "Wallet Activity Event", "description": "A single activity event for a wallet" } } }, "required": ["events"], "title": "Wallet Activity Response", "description": "List of activities associated with a wallet including transactions and other events", "example": { "events": [ { "token_symbol": "ETH", "transaction_hash": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef", "to_address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", "from_address": "0x1234567890123456789012345678901234567890", "amount": "1000000000000000000", "timestamp": 1715222400, "type": "TRANSFER" } ] } }, "WalletsV1Alpha2MultipleSignatureResponseDTO": { "type": "object", "properties": { "signatures": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the signature" }, "type": { "type": "string", "enum": [ "evm-message", "solana-message", "evm-typed-data", "aptos-message", "sui-message" ], "description": "The type of signature" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the signature" }, "params": { "oneOf": [ { "type": "object", "properties": { "message": { "type": "string", "description": "The message in plain text to sign" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer who will submit this signature. Defaults to the wallet's admin signer.", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "chain": { "type": "string", "enum": [ "arbitrum-sepolia", "avalanche-fuji", "curtis", "barret-testnet", "base-goerli", "base-sepolia", "bsc-testnet", "chiliz-spicy-testnet", "coti-testnet", "ethereum-goerli", "ethereum-sepolia", "hedera-testnet", "hypersonic-testnet", "lightlink-pegasus", "mantle-sepolia", "optimism-goerli", "optimism-sepolia", "polygon-amoy", "polygon-mumbai", "crossmint-private-testnet-ethereum", "crossmint-private-testnet-polygon", "rari-testnet", "scroll-sepolia", "sei-atlantic-2-testnet", "shape-sepolia", "skale-nebula-testnet", "soneium-minato-testnet", "space-testnet", "story-testnet", "verify-testnet", "viction-testnet", "xai-sepolia-testnet", "zkatana", "zkyoto", "zora-goerli", "zora-sepolia", "mode-sepolia", "u2u-nebulas", "zenchain-testnet", "abstract-testnet", "world-chain-sepolia", "flow-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "apex", "boss", "hedera", "coti", "lightlink", "mantle", "skale-nebula", "sei-pacific-1", "chiliz", "avalanche", "xai", "shape", "rari", "scroll", "viction", "mode", "space", "soneium", "story", "u2u-solaris", "abstract", "world-chain", "flow" ], "description": "The chain on which the signature will be submitted" } }, "required": ["message", "chain"], "description": "Parameters for an EVM message signature", "title": "EVM message signature parameters" }, { "type": "object", "properties": { "message": { "type": "string", "description": "The message in plain text to sign" } }, "required": ["message"], "description": "Parameters for a Solana message signature", "title": "Solana message signature parameters" }, { "type": "object", "properties": { "typedData": { "type": "object", "properties": { "domain": { "type": "object", "properties": { "name": { "type": "string" }, "version": { "type": "string" }, "chainId": { "type": "number" }, "verifyingContract": { "type": "string", "description": "An EVM address string" }, "salt": { "type": "string" } }, "required": [ "name", "version", "chainId", "verifyingContract" ] }, "types": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "type": { "type": "string" } }, "required": ["name", "type"] } } }, "primaryType": { "type": "string" }, "message": { "type": "object", "additionalProperties": {} } }, "required": ["domain", "types", "primaryType", "message"] }, "chain": { "type": "string", "enum": [ "arbitrum-sepolia", "avalanche-fuji", "curtis", "barret-testnet", "base-goerli", "base-sepolia", "bsc-testnet", "chiliz-spicy-testnet", "coti-testnet", "ethereum-goerli", "ethereum-sepolia", "hedera-testnet", "hypersonic-testnet", "lightlink-pegasus", "mantle-sepolia", "optimism-goerli", "optimism-sepolia", "polygon-amoy", "polygon-mumbai", "crossmint-private-testnet-ethereum", "crossmint-private-testnet-polygon", "rari-testnet", "scroll-sepolia", "sei-atlantic-2-testnet", "shape-sepolia", "skale-nebula-testnet", "soneium-minato-testnet", "space-testnet", "story-testnet", "verify-testnet", "viction-testnet", "xai-sepolia-testnet", "zkatana", "zkyoto", "zora-goerli", "zora-sepolia", "mode-sepolia", "u2u-nebulas", "zenchain-testnet", "abstract-testnet", "world-chain-sepolia", "flow-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "apex", "boss", "hedera", "coti", "lightlink", "mantle", "skale-nebula", "sei-pacific-1", "chiliz", "avalanche", "xai", "shape", "rari", "scroll", "viction", "mode", "space", "soneium", "story", "u2u-solaris", "abstract", "world-chain", "flow" ], "description": "The chain on which the signature will be submitted" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer who will approve this signature", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "isSmartWalletSignature": { "type": "boolean", "description": "Whether the signature corresponds to the smart wallet or to the signer. If true, the signature will be wrapped with ERC6492." } }, "required": ["typedData", "chain"], "description": "Parameters for an EVM typed data signature", "title": "EVM typed data signature parameters" } ], "description": "Type-specific signature parameters" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator of the signer that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "type": "number", "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator of the signer who submitted this signature", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "type": "number", "description": "ISO timestamp when the signature was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "type": "number", "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "description": "Error message if the signature fails" }, "outputSignature": { "type": "string", "description": "The wallet's output signature of the request" } }, "required": ["id", "type", "status", "params", "createdAt"], "description": "Complete signature response including status, signing requirements, and wallet type specific data", "example": { "id": "tx-b984491a-5785-43c0-8811-45d46fe6e520", "walletType": "evm-smart-wallet", "type": "evm-message", "status": "awaiting-approval", "params": { "message": "Hello, world!", "signer": "evm-keypair:0xB17Ea8d34078424B9d7D126E444d5F2C3CC5c81E", "chain": "polygon" }, "approvals": { "pending": [ { "signer": "evm-keypair:0xB17Ea8d34078424B9d7D126E444d5F2C3CC5c81E", "message": "Hello world!" } ], "submitted": [] }, "createdAt": "2024-01-01T00:00:00Z" } } } }, "required": ["signatures"], "description": "List of signatures with their status, signing requirements, and wallet type specific data", "example": { "signatures": [ { "id": "tx-b984491a-5785-43c0-8811-45d46fe6e520", "walletType": "evm-smart-wallet", "type": "evm-message", "status": "awaiting-approval", "params": { "message": "Hello, world!", "signer": "evm-keypair:0xB17Ea8d34078424B9d7D126E444d5F2C3CC5c81E", "chain": "polygon" }, "approvals": { "pending": [ { "signer": "evm-keypair:0xB17Ea8d34078424B9d7D126E444d5F2C3CC5c81E", "message": "Hello world!" } ], "submitted": [] }, "createdAt": "2024-01-01T00:00:00Z" } ] } }, "WalletsV1Alpha2SignatureResponseDTO": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the signature" }, "type": { "type": "string", "enum": ["evm-message", "solana-message", "evm-typed-data", "aptos-message", "sui-message"], "description": "The type of signature" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the signature" }, "params": { "oneOf": [ { "type": "object", "properties": { "message": { "type": "string", "description": "The message in plain text to sign" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer who will submit this signature. Defaults to the wallet's admin signer.", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "chain": { "type": "string", "enum": [ "arbitrum-sepolia", "avalanche-fuji", "curtis", "barret-testnet", "base-goerli", "base-sepolia", "bsc-testnet", "chiliz-spicy-testnet", "coti-testnet", "ethereum-goerli", "ethereum-sepolia", "hedera-testnet", "hypersonic-testnet", "lightlink-pegasus", "mantle-sepolia", "optimism-goerli", "optimism-sepolia", "polygon-amoy", "polygon-mumbai", "crossmint-private-testnet-ethereum", "crossmint-private-testnet-polygon", "rari-testnet", "scroll-sepolia", "sei-atlantic-2-testnet", "shape-sepolia", "skale-nebula-testnet", "soneium-minato-testnet", "space-testnet", "story-testnet", "verify-testnet", "viction-testnet", "xai-sepolia-testnet", "zkatana", "zkyoto", "zora-goerli", "zora-sepolia", "mode-sepolia", "u2u-nebulas", "zenchain-testnet", "abstract-testnet", "world-chain-sepolia", "flow-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "apex", "boss", "hedera", "coti", "lightlink", "mantle", "skale-nebula", "sei-pacific-1", "chiliz", "avalanche", "xai", "shape", "rari", "scroll", "viction", "mode", "space", "soneium", "story", "u2u-solaris", "abstract", "world-chain", "flow" ], "description": "The chain on which the signature will be submitted" } }, "required": ["message", "chain"], "description": "Parameters for an EVM message signature", "title": "EVM message signature parameters" }, { "type": "object", "properties": { "message": { "type": "string", "description": "The message in plain text to sign" } }, "required": ["message"], "description": "Parameters for a Solana message signature", "title": "Solana message signature parameters" }, { "type": "object", "properties": { "typedData": { "type": "object", "properties": { "domain": { "type": "object", "properties": { "name": { "type": "string" }, "version": { "type": "string" }, "chainId": { "type": "number" }, "verifyingContract": { "type": "string", "description": "An EVM address string" }, "salt": { "type": "string" } }, "required": ["name", "version", "chainId", "verifyingContract"] }, "types": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "type": { "type": "string" } }, "required": ["name", "type"] } } }, "primaryType": { "type": "string" }, "message": { "type": "object", "additionalProperties": {} } }, "required": ["domain", "types", "primaryType", "message"] }, "chain": { "type": "string", "enum": [ "arbitrum-sepolia", "avalanche-fuji", "curtis", "barret-testnet", "base-goerli", "base-sepolia", "bsc-testnet", "chiliz-spicy-testnet", "coti-testnet", "ethereum-goerli", "ethereum-sepolia", "hedera-testnet", "hypersonic-testnet", "lightlink-pegasus", "mantle-sepolia", "optimism-goerli", "optimism-sepolia", "polygon-amoy", "polygon-mumbai", "crossmint-private-testnet-ethereum", "crossmint-private-testnet-polygon", "rari-testnet", "scroll-sepolia", "sei-atlantic-2-testnet", "shape-sepolia", "skale-nebula-testnet", "soneium-minato-testnet", "space-testnet", "story-testnet", "verify-testnet", "viction-testnet", "xai-sepolia-testnet", "zkatana", "zkyoto", "zora-goerli", "zora-sepolia", "mode-sepolia", "u2u-nebulas", "zenchain-testnet", "abstract-testnet", "world-chain-sepolia", "flow-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "apex", "boss", "hedera", "coti", "lightlink", "mantle", "skale-nebula", "sei-pacific-1", "chiliz", "avalanche", "xai", "shape", "rari", "scroll", "viction", "mode", "space", "soneium", "story", "u2u-solaris", "abstract", "world-chain", "flow" ], "description": "The chain on which the signature will be submitted" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer who will approve this signature", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "isSmartWalletSignature": { "type": "boolean", "description": "Whether the signature corresponds to the smart wallet or to the signer. If true, the signature will be wrapped with ERC6492." } }, "required": ["typedData", "chain"], "description": "Parameters for an EVM typed data signature", "title": "EVM typed data signature parameters" } ], "description": "Type-specific signature parameters" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator of the signer that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "type": "number", "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator of the signer who submitted this signature", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "type": "number", "description": "ISO timestamp when the signature was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "type": "number", "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "description": "Error message if the signature fails" }, "outputSignature": { "type": "string", "description": "The wallet's output signature of the request" } }, "required": ["id", "type", "status", "params", "createdAt"], "description": "Complete signature response including status, signing requirements, and wallet type specific data", "example": { "id": "tx-b984491a-5785-43c0-8811-45d46fe6e520", "walletType": "evm-smart-wallet", "type": "evm-message", "status": "awaiting-approval", "params": { "message": "Hello, world!", "signer": "evm-keypair:0xB17Ea8d34078424B9d7D126E444d5F2C3CC5c81E", "chain": "polygon" }, "approvals": { "pending": [ { "signer": "evm-keypair:0xB17Ea8d34078424B9d7D126E444d5F2C3CC5c81E", "message": "Hello world!" } ], "submitted": [] }, "createdAt": "2024-01-01T00:00:00Z" } }, "WalletsV1Alpha2TransactionResponseDTO": { "discriminator": { "propertyName": "walletType" }, "oneOf": [ { "type": "object", "properties": { "walletType": { "type": "string", "enum": ["evm-smart-wallet"], "description": "The type of wallet that created this transaction" }, "params": { "type": "object", "properties": { "calls": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "address": { "type": "string", "description": "The recipient address for this transaction call" }, "functionName": { "type": "string", "description": "The name of the function to call" }, "abi": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["error"] }, "inputs": { "type": "array", "items": {} }, "name": { "type": "string" } }, "required": ["type", "inputs", "name"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["event"] }, "anonymous": { "type": "boolean" }, "inputs": { "type": "array", "items": { "allOf": [ {}, { "type": "object", "properties": { "indexed": { "type": "boolean" } } } ] } }, "name": { "type": "string", "pattern": "[a-zA-Z$_][a-zA-Z0-9$_]*" } }, "required": ["type", "inputs", "name"] }, { "allOf": [ { "type": "object", "properties": { "constant": { "type": "boolean" }, "gas": { "type": "number" }, "payable": { "type": "boolean" } } }, { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["function"] }, "inputs": { "type": "array", "items": {} }, "name": { "type": "string", "pattern": "[a-zA-Z$_][a-zA-Z0-9$_]*" }, "outputs": { "type": "array", "items": {} }, "stateMutability": { "type": "string", "enum": [ "pure", "view", "nonpayable", "payable" ] } }, "required": [ "type", "inputs", "name", "outputs", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["constructor"] }, "inputs": { "type": "array", "items": {} }, "stateMutability": { "type": "string", "enum": [ "payable", "nonpayable" ] } }, "required": [ "type", "inputs", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["fallback"] }, "inputs": {}, "stateMutability": { "type": "string", "enum": [ "payable", "nonpayable" ] } }, "required": [ "type", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["receive"] }, "stateMutability": { "type": "string", "enum": ["payable"] } }, "required": [ "type", "stateMutability" ] } ] } ] } ] }, "description": "The ABI for the function to call" }, "args": { "type": "array", "items": {}, "description": "The arguments to pass to the function" }, "value": { "default": "0", "type": "string", "description": "The amount of native token to send in wei" } }, "required": ["address", "functionName", "abi", "args"], "title": "EVM contract call transaction parameters", "description": "Parameters for a transaction to execute a contract function" }, { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient address for this transaction call" }, "value": { "type": "string", "description": "The amount of native token to send in wei" }, "data": { "description": "The encoded calldata for this transaction" } }, "required": ["to", "value", "data"], "title": "EVM direct calldata transaction parameters", "description": "Parameters for a transaction to send a direct calldata transaction" }, { "type": "object", "properties": { "transaction": { "description": "Serialized EVM transaction" } }, "required": ["transaction"], "title": "EVM serialized transaction parameters", "description": "Parameters for a transaction to send a serialized EVM transaction" } ], "description": "Transaction data to execute" }, "minItems": 1, "description": "Array of transaction calls to execute" }, "chain": { "enum": [ "abstract", "apechain", "arbitrum", "arbitrumnova", "base", "bsc", "mantle", "mode", "optimism", "polygon", "scroll", "sei-pacific-1", "shape", "story", "world-chain", "zora", "abstract-testnet", "arbitrum-sepolia", "base-sepolia", "curtis", "ethereum-sepolia", "mantle-sepolia", "mode-sepolia", "optimism-sepolia", "polygon-amoy", "scroll-sepolia", "sei-atlantic-2-testnet", "story-testnet", "world-chain-sepolia", "zora-sepolia" ], "description": "The chain on which the transaction will be executed" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer who will submit this transaction", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] } }, "required": ["calls", "chain"], "description": "EVM smart wallet transaction parameters" }, "onChain": { "type": "object", "properties": { "userOperation": { "type": "object", "properties": { "sender": { "type": "string" }, "nonce": { "type": "string" }, "callData": { "type": "string" }, "callGasLimit": { "type": "string" }, "verificationGasLimit": { "type": "string" }, "preVerificationGas": { "type": "string" }, "maxFeePerGas": { "type": "string" }, "maxPriorityFeePerGas": { "type": "string" }, "paymaster": { "type": "string" }, "paymasterVerificationGasLimit": { "type": "string" }, "paymasterData": { "type": "string" }, "paymasterPostOpGasLimit": { "type": "string" }, "signature": { "type": "string" }, "factory": { "type": "string" }, "factoryData": { "type": "string" } }, "required": [ "sender", "nonce", "callData", "callGasLimit", "verificationGasLimit", "preVerificationGas", "maxFeePerGas", "maxPriorityFeePerGas", "signature" ] }, "userOperationHash": { "type": "string" }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["userOperation", "userOperationHash"], "title": "EVM smart wallet transaction data", "description": "EVM smart wallet transaction data including input parameters and chain specific details" }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator of the signer that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "type": "number", "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator of the signer who submitted this signature", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "type": "number", "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "type": "number", "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "type": "string" }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": ["walletType", "params", "onChain", "id", "status", "createdAt"], "title": "EVM transaction response" }, { "type": "object", "properties": { "walletType": { "type": "string", "enum": ["solana-mpc-wallet"], "description": "The type of wallet that created this transaction" }, "params": { "type": "object", "properties": { "transaction": { "type": "string", "description": "Base58 encoded serialized Solana transaction", "example": "4hXTCkRzt9WyecNzV1XPgCDfGAZzQKNxLXgynz5QDuWWPSAZBZSHptvWRL3BjCvzUXRdKvHL2b7yGrRQcWyaqsaBCncVG7BFggS8w9snUts67BSh3EqKpXLUm5UMHfD7ZBe9GhARjbNQMLJ1QD3Spr6oMTBU6EhdB4RD8CP2xUxr2u3d6fos36PD98XS6oX8TQjLpsMwncs5DAMiD4nNnR8NBfyghGCWvCVifVwvA8B8TJxE1aiyiv2L429BCWfyzAme5sZW8rDb14NeCQHhZbtNqfXhcp2tAnaAT" }, "requiredSigners": { "type": "array", "items": { "type": "string", "title": "Signer Locator", "description": "A signer locator that can be either a of format '' for keypair type signers or ':'", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "description": "Optional array of additional signers required for the transaction" } }, "required": ["transaction"], "description": "Solana custodial wallet transaction parameters" }, "onChain": { "type": "object", "properties": { "transaction": { "type": "string" }, "lastValidBlockHeight": { "type": "number" }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["transaction"], "description": "Solana custodial wallet transaction data including input parameters and chain specific details" }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator of the signer that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "type": "number", "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator of the signer who submitted this signature", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "type": "number", "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "type": "number", "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "type": "string" }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": ["walletType", "params", "onChain", "id", "status", "createdAt"], "title": "Solana transaction response" }, { "type": "object", "properties": { "walletType": { "type": "string", "enum": ["evm-mpc-wallet"], "description": "The type of wallet that created this transaction" }, "params": { "type": "object", "properties": { "call": { "oneOf": [ { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient address for this transaction call" }, "data": { "description": "The encoded calldata for this transaction" } }, "required": ["to", "data"], "additionalProperties": false }, { "type": "object", "properties": { "address": { "type": "string", "description": "The recipient address for this transaction call" }, "functionName": { "type": "string", "description": "The name of the function to call" }, "abi": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["error"] }, "inputs": { "type": "array", "items": {} }, "name": { "type": "string" } }, "required": ["type", "inputs", "name"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["event"] }, "anonymous": { "type": "boolean" }, "inputs": { "type": "array", "items": { "allOf": [ {}, { "type": "object", "properties": { "indexed": { "type": "boolean" } } } ] } }, "name": { "type": "string", "pattern": "[a-zA-Z$_][a-zA-Z0-9$_]*" } }, "required": ["type", "inputs", "name"] }, { "allOf": [ { "type": "object", "properties": { "constant": { "type": "boolean" }, "gas": { "type": "number" }, "payable": { "type": "boolean" } } }, { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["function"] }, "inputs": { "type": "array", "items": {} }, "name": { "type": "string", "pattern": "[a-zA-Z$_][a-zA-Z0-9$_]*" }, "outputs": { "type": "array", "items": {} }, "stateMutability": { "type": "string", "enum": [ "pure", "view", "nonpayable", "payable" ] } }, "required": [ "type", "inputs", "name", "outputs", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["constructor"] }, "inputs": { "type": "array", "items": {} }, "stateMutability": { "type": "string", "enum": [ "payable", "nonpayable" ] } }, "required": [ "type", "inputs", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["fallback"] }, "inputs": {}, "stateMutability": { "type": "string", "enum": [ "payable", "nonpayable" ] } }, "required": [ "type", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["receive"] }, "stateMutability": { "type": "string", "enum": ["payable"] } }, "required": [ "type", "stateMutability" ] } ] } ] } ] }, "description": "The ABI for the function to call" }, "args": { "type": "array", "items": {}, "description": "The arguments to pass to the function" } }, "required": ["address", "functionName", "abi", "args"], "additionalProperties": false } ], "description": "The transaction call to execute" }, "chain": { "type": "string", "enum": [ "arbitrum-sepolia", "avalanche-fuji", "curtis", "barret-testnet", "base-goerli", "base-sepolia", "bsc-testnet", "chiliz-spicy-testnet", "coti-testnet", "ethereum-goerli", "ethereum-sepolia", "hedera-testnet", "hypersonic-testnet", "lightlink-pegasus", "mantle-sepolia", "optimism-goerli", "optimism-sepolia", "polygon-amoy", "polygon-mumbai", "crossmint-private-testnet-ethereum", "crossmint-private-testnet-polygon", "rari-testnet", "scroll-sepolia", "sei-atlantic-2-testnet", "shape-sepolia", "skale-nebula-testnet", "soneium-minato-testnet", "space-testnet", "story-testnet", "verify-testnet", "viction-testnet", "xai-sepolia-testnet", "zkatana", "zkyoto", "zora-goerli", "zora-sepolia", "mode-sepolia", "u2u-nebulas", "zenchain-testnet", "abstract-testnet", "world-chain-sepolia", "flow-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "apex", "boss", "hedera", "coti", "lightlink", "mantle", "skale-nebula", "sei-pacific-1", "chiliz", "avalanche", "xai", "shape", "rari", "scroll", "viction", "mode", "space", "soneium", "story", "u2u-solaris", "abstract", "world-chain", "flow" ], "description": "The chain on which the transaction will be executed" } }, "required": ["call", "chain"], "description": "EVM MPC wallet transaction parameters" }, "onChain": { "type": "object", "properties": { "call": { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient address for this transaction call" }, "data": { "description": "The encoded calldata for this transaction" } }, "required": ["to", "data"] }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["call"], "title": "EVM MPC wallet transaction data", "description": "EVM MPC wallet transaction data including input parameters and chain specific details" }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator of the signer that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "type": "number", "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator of the signer who submitted this signature", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "type": "number", "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "type": "number", "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "type": "string" }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": ["walletType", "params", "onChain", "id", "status", "createdAt"], "title": "EVM MPC transaction response" }, { "type": "object", "properties": { "walletType": { "type": "string", "enum": ["solana-smart-wallet"], "description": "The type of wallet that created this transaction" }, "params": { "type": "object", "properties": { "transaction": { "type": "string", "description": "Base58 encoded serialized Solana transaction", "example": "4hXTCkRzt9WyecNzV1XPgCDfGAZzQKNxLXgynz5QDuWWPSAZBZSHptvWRL3BjCvzUXRdKvHL2b7yGrRQcWyaqsaBCncVG7BFggS8w9snUts67BSh3EqKpXLUm5UMHfD7ZBe9GhARjbNQMLJ1QD3Spr6oMTBU6EhdB4RD8CP2xUxr2u3d6fos36PD98XS6oX8TQjLpsMwncs5DAMiD4nNnR8NBfyghGCWvCVifVwvA8B8TJxE1aiyiv2L429BCWfyzAme5sZW8rDb14NeCQHhZbtNqfXhcp2tAnaAT" }, "requiredSigners": { "type": "array", "items": { "type": "string", "title": "Signer Locator", "description": "A signer locator that can be either a of format '' for keypair type signers or ':'", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "description": "Optional array of additional signers required for the transaction" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer who will submit this transaction. Defaults to the admin signer.", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "feeConfig": { "oneOf": [ { "type": "object", "properties": { "feePayer": { "type": "string", "description": "The address that will pay for the transaction" }, "token": { "type": "string", "enum": ["sol", "usdc", "usdt"], "description": "The token to use for the fee" }, "amount": { "type": "string", "description": "The amount of the fee" } }, "required": ["feePayer", "token", "amount"] }, { "type": "object", "properties": { "feePayer": { "type": "string", "enum": ["crossmint"] }, "amount": { "type": "string", "description": "The amount of the fee" } }, "required": ["feePayer", "amount"] } ] } }, "required": ["transaction", "feeConfig"], "description": "Solana smart wallet transaction parameters" }, "onChain": { "type": "object", "properties": { "transaction": { "type": "string" }, "lastValidBlockHeight": { "type": "number" }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["transaction"], "description": "Solana smart wallet transaction data including input parameters and chain specific details" }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator of the signer that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "type": "number", "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator of the signer who submitted this signature", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "type": "number", "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "type": "number", "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "type": "string" }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": ["walletType", "params", "onChain", "id", "status", "createdAt"], "title": "Solana smart wallet transaction response" } ], "description": "Complete transaction response including status, signing requirements, and wallet type specific data", "example": { "id": "tx-b984491a-5785-43c0-8811-45d46fe6e520", "walletType": "evm-smart-wallet", "status": "awaiting-approval", "approvals": { "pending": [ { "signer": "evm-keypair:0xdeadbeef", "message": "Please sign this transaction" } ], "submitted": [] }, "params": { "calls": [ { "to": "0x1234567890123456789012345678901234567890", "value": "1000000000000000000", "data": "0x" } ], "chain": "base", "signer": "evm-keypair:0xdeadbeef" }, "onChain": { "userOperation": "... full user operation object", "userOperationHash": "0xf719f9570671c6eb016f1f4a95ada4278b8e91f55bc384d70c69fd756919a41c" }, "createdAt": "2024-01-01T00:00:00Z" } }, "WalletsV1Alpha2TransactionResponseWithSendParamsDTO": { "discriminator": { "propertyName": "walletType" }, "oneOf": [ { "type": "object", "properties": { "walletType": { "type": "string", "enum": ["evm-smart-wallet"], "description": "The type of wallet that created this transaction" }, "params": { "type": "object", "properties": { "calls": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "address": { "type": "string", "description": "The recipient address for this transaction call" }, "functionName": { "type": "string", "description": "The name of the function to call" }, "abi": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["error"] }, "inputs": { "type": "array", "items": {} }, "name": { "type": "string" } }, "required": ["type", "inputs", "name"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["event"] }, "anonymous": { "type": "boolean" }, "inputs": { "type": "array", "items": { "allOf": [ {}, { "type": "object", "properties": { "indexed": { "type": "boolean" } } } ] } }, "name": { "type": "string", "pattern": "[a-zA-Z$_][a-zA-Z0-9$_]*" } }, "required": ["type", "inputs", "name"] }, { "allOf": [ { "type": "object", "properties": { "constant": { "type": "boolean" }, "gas": { "type": "number" }, "payable": { "type": "boolean" } } }, { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["function"] }, "inputs": { "type": "array", "items": {} }, "name": { "type": "string", "pattern": "[a-zA-Z$_][a-zA-Z0-9$_]*" }, "outputs": { "type": "array", "items": {} }, "stateMutability": { "type": "string", "enum": [ "pure", "view", "nonpayable", "payable" ] } }, "required": [ "type", "inputs", "name", "outputs", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["constructor"] }, "inputs": { "type": "array", "items": {} }, "stateMutability": { "type": "string", "enum": [ "payable", "nonpayable" ] } }, "required": [ "type", "inputs", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["fallback"] }, "inputs": {}, "stateMutability": { "type": "string", "enum": [ "payable", "nonpayable" ] } }, "required": [ "type", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["receive"] }, "stateMutability": { "type": "string", "enum": ["payable"] } }, "required": [ "type", "stateMutability" ] } ] } ] } ] }, "description": "The ABI for the function to call" }, "args": { "type": "array", "items": {}, "description": "The arguments to pass to the function" }, "value": { "default": "0", "type": "string", "description": "The amount of native token to send in wei" } }, "required": ["address", "functionName", "abi", "args"], "title": "EVM contract call transaction parameters", "description": "Parameters for a transaction to execute a contract function" }, { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient address for this transaction call" }, "value": { "type": "string", "description": "The amount of native token to send in wei" }, "data": { "description": "The encoded calldata for this transaction" } }, "required": ["to", "value", "data"], "title": "EVM direct calldata transaction parameters", "description": "Parameters for a transaction to send a direct calldata transaction" }, { "type": "object", "properties": { "transaction": { "description": "Serialized EVM transaction" } }, "required": ["transaction"], "title": "EVM serialized transaction parameters", "description": "Parameters for a transaction to send a serialized EVM transaction" } ], "description": "Transaction data to execute" }, "minItems": 1, "description": "Array of transaction calls to execute" }, "chain": { "enum": [ "abstract", "apechain", "arbitrum", "arbitrumnova", "base", "bsc", "mantle", "mode", "optimism", "polygon", "scroll", "sei-pacific-1", "shape", "story", "world-chain", "zora", "abstract-testnet", "arbitrum-sepolia", "base-sepolia", "curtis", "ethereum-sepolia", "mantle-sepolia", "mode-sepolia", "optimism-sepolia", "polygon-amoy", "scroll-sepolia", "sei-atlantic-2-testnet", "story-testnet", "world-chain-sepolia", "zora-sepolia" ], "description": "The chain on which the transaction will be executed" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer who will submit this transaction", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] } }, "required": ["calls", "chain"], "description": "EVM smart wallet transaction parameters" }, "onChain": { "type": "object", "properties": { "userOperation": { "type": "object", "properties": { "sender": { "type": "string" }, "nonce": { "type": "string" }, "callData": { "type": "string" }, "callGasLimit": { "type": "string" }, "verificationGasLimit": { "type": "string" }, "preVerificationGas": { "type": "string" }, "maxFeePerGas": { "type": "string" }, "maxPriorityFeePerGas": { "type": "string" }, "paymaster": { "type": "string" }, "paymasterVerificationGasLimit": { "type": "string" }, "paymasterData": { "type": "string" }, "paymasterPostOpGasLimit": { "type": "string" }, "signature": { "type": "string" }, "factory": { "type": "string" }, "factoryData": { "type": "string" } }, "required": [ "sender", "nonce", "callData", "callGasLimit", "verificationGasLimit", "preVerificationGas", "maxFeePerGas", "maxPriorityFeePerGas", "signature" ] }, "userOperationHash": { "type": "string" }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["userOperation", "userOperationHash"], "title": "EVM smart wallet transaction data", "description": "EVM smart wallet transaction data including input parameters and chain specific details" }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator of the signer that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "type": "number", "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator of the signer who submitted this signature", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "type": "number", "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "type": "number", "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "type": "string" }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": ["walletType", "params", "onChain", "id", "status", "createdAt"], "title": "EVM transaction response" }, { "type": "object", "properties": { "walletType": { "type": "string", "enum": ["solana-mpc-wallet"], "description": "The type of wallet that created this transaction" }, "params": { "type": "object", "properties": { "transaction": { "type": "string", "description": "Base58 encoded serialized Solana transaction", "example": "4hXTCkRzt9WyecNzV1XPgCDfGAZzQKNxLXgynz5QDuWWPSAZBZSHptvWRL3BjCvzUXRdKvHL2b7yGrRQcWyaqsaBCncVG7BFggS8w9snUts67BSh3EqKpXLUm5UMHfD7ZBe9GhARjbNQMLJ1QD3Spr6oMTBU6EhdB4RD8CP2xUxr2u3d6fos36PD98XS6oX8TQjLpsMwncs5DAMiD4nNnR8NBfyghGCWvCVifVwvA8B8TJxE1aiyiv2L429BCWfyzAme5sZW8rDb14NeCQHhZbtNqfXhcp2tAnaAT" }, "requiredSigners": { "type": "array", "items": { "type": "string", "title": "Signer Locator", "description": "A signer locator that can be either a of format '' for keypair type signers or ':'", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "description": "Optional array of additional signers required for the transaction" } }, "required": ["transaction"], "description": "Solana custodial wallet transaction parameters" }, "onChain": { "type": "object", "properties": { "transaction": { "type": "string" }, "lastValidBlockHeight": { "type": "number" }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["transaction"], "description": "Solana custodial wallet transaction data including input parameters and chain specific details" }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator of the signer that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "type": "number", "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator of the signer who submitted this signature", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "type": "number", "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "type": "number", "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "type": "string" }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": ["walletType", "params", "onChain", "id", "status", "createdAt"], "title": "Solana transaction response" }, { "type": "object", "properties": { "walletType": { "type": "string", "enum": ["evm-mpc-wallet"], "description": "The type of wallet that created this transaction" }, "params": { "type": "object", "properties": { "call": { "oneOf": [ { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient address for this transaction call" }, "data": { "description": "The encoded calldata for this transaction" } }, "required": ["to", "data"], "additionalProperties": false }, { "type": "object", "properties": { "address": { "type": "string", "description": "The recipient address for this transaction call" }, "functionName": { "type": "string", "description": "The name of the function to call" }, "abi": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["error"] }, "inputs": { "type": "array", "items": {} }, "name": { "type": "string" } }, "required": ["type", "inputs", "name"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["event"] }, "anonymous": { "type": "boolean" }, "inputs": { "type": "array", "items": { "allOf": [ {}, { "type": "object", "properties": { "indexed": { "type": "boolean" } } } ] } }, "name": { "type": "string", "pattern": "[a-zA-Z$_][a-zA-Z0-9$_]*" } }, "required": ["type", "inputs", "name"] }, { "allOf": [ { "type": "object", "properties": { "constant": { "type": "boolean" }, "gas": { "type": "number" }, "payable": { "type": "boolean" } } }, { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["function"] }, "inputs": { "type": "array", "items": {} }, "name": { "type": "string", "pattern": "[a-zA-Z$_][a-zA-Z0-9$_]*" }, "outputs": { "type": "array", "items": {} }, "stateMutability": { "type": "string", "enum": [ "pure", "view", "nonpayable", "payable" ] } }, "required": [ "type", "inputs", "name", "outputs", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["constructor"] }, "inputs": { "type": "array", "items": {} }, "stateMutability": { "type": "string", "enum": [ "payable", "nonpayable" ] } }, "required": [ "type", "inputs", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["fallback"] }, "inputs": {}, "stateMutability": { "type": "string", "enum": [ "payable", "nonpayable" ] } }, "required": [ "type", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["receive"] }, "stateMutability": { "type": "string", "enum": ["payable"] } }, "required": [ "type", "stateMutability" ] } ] } ] } ] }, "description": "The ABI for the function to call" }, "args": { "type": "array", "items": {}, "description": "The arguments to pass to the function" } }, "required": ["address", "functionName", "abi", "args"], "additionalProperties": false } ], "description": "The transaction call to execute" }, "chain": { "type": "string", "enum": [ "arbitrum-sepolia", "avalanche-fuji", "curtis", "barret-testnet", "base-goerli", "base-sepolia", "bsc-testnet", "chiliz-spicy-testnet", "coti-testnet", "ethereum-goerli", "ethereum-sepolia", "hedera-testnet", "hypersonic-testnet", "lightlink-pegasus", "mantle-sepolia", "optimism-goerli", "optimism-sepolia", "polygon-amoy", "polygon-mumbai", "crossmint-private-testnet-ethereum", "crossmint-private-testnet-polygon", "rari-testnet", "scroll-sepolia", "sei-atlantic-2-testnet", "shape-sepolia", "skale-nebula-testnet", "soneium-minato-testnet", "space-testnet", "story-testnet", "verify-testnet", "viction-testnet", "xai-sepolia-testnet", "zkatana", "zkyoto", "zora-goerli", "zora-sepolia", "mode-sepolia", "u2u-nebulas", "zenchain-testnet", "abstract-testnet", "world-chain-sepolia", "flow-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "apex", "boss", "hedera", "coti", "lightlink", "mantle", "skale-nebula", "sei-pacific-1", "chiliz", "avalanche", "xai", "shape", "rari", "scroll", "viction", "mode", "space", "soneium", "story", "u2u-solaris", "abstract", "world-chain", "flow" ], "description": "The chain on which the transaction will be executed" } }, "required": ["call", "chain"], "description": "EVM MPC wallet transaction parameters" }, "onChain": { "type": "object", "properties": { "call": { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient address for this transaction call" }, "data": { "description": "The encoded calldata for this transaction" } }, "required": ["to", "data"] }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["call"], "title": "EVM MPC wallet transaction data", "description": "EVM MPC wallet transaction data including input parameters and chain specific details" }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator of the signer that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "type": "number", "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator of the signer who submitted this signature", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "type": "number", "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "type": "number", "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "type": "string" }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": ["walletType", "params", "onChain", "id", "status", "createdAt"], "title": "EVM MPC transaction response" }, { "type": "object", "properties": { "walletType": { "type": "string", "enum": ["solana-smart-wallet"], "description": "The type of wallet that created this transaction" }, "params": { "type": "object", "properties": { "transaction": { "type": "string", "description": "Base58 encoded serialized Solana transaction", "example": "4hXTCkRzt9WyecNzV1XPgCDfGAZzQKNxLXgynz5QDuWWPSAZBZSHptvWRL3BjCvzUXRdKvHL2b7yGrRQcWyaqsaBCncVG7BFggS8w9snUts67BSh3EqKpXLUm5UMHfD7ZBe9GhARjbNQMLJ1QD3Spr6oMTBU6EhdB4RD8CP2xUxr2u3d6fos36PD98XS6oX8TQjLpsMwncs5DAMiD4nNnR8NBfyghGCWvCVifVwvA8B8TJxE1aiyiv2L429BCWfyzAme5sZW8rDb14NeCQHhZbtNqfXhcp2tAnaAT" }, "requiredSigners": { "type": "array", "items": { "type": "string", "title": "Signer Locator", "description": "A signer locator that can be either a of format '' for keypair type signers or ':'", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "description": "Optional array of additional signers required for the transaction" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer who will submit this transaction. Defaults to the admin signer.", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "feeConfig": { "oneOf": [ { "type": "object", "properties": { "feePayer": { "type": "string", "description": "The address that will pay for the transaction" }, "token": { "type": "string", "enum": ["sol", "usdc", "usdt"], "description": "The token to use for the fee" }, "amount": { "type": "string", "description": "The amount of the fee" } }, "required": ["feePayer", "token", "amount"] }, { "type": "object", "properties": { "feePayer": { "type": "string", "enum": ["crossmint"] }, "amount": { "type": "string", "description": "The amount of the fee" } }, "required": ["feePayer", "amount"] } ] } }, "required": ["transaction", "feeConfig"], "description": "Solana smart wallet transaction parameters" }, "onChain": { "type": "object", "properties": { "transaction": { "type": "string" }, "lastValidBlockHeight": { "type": "number" }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["transaction"], "description": "Solana smart wallet transaction data including input parameters and chain specific details" }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator of the signer that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "type": "number", "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator of the signer who submitted this signature", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "type": "number", "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "type": "number", "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "type": "string" }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": ["walletType", "params", "onChain", "id", "status", "createdAt"], "title": "Solana smart wallet transaction response" } ], "description": "Complete transaction response including status, signing requirements, and wallet type specific data", "example": { "id": "tx-b984491a-5785-43c0-8811-45d46fe6e520", "walletType": "evm-smart-wallet", "status": "awaiting-approval", "approvals": { "pending": [ { "signer": "evm-keypair:0xdeadbeef", "message": "Please sign this transaction" } ], "submitted": [] }, "params": { "calls": [ { "to": "0x1234567890123456789012345678901234567890", "value": "1000000000000000000", "data": "0x" } ], "chain": "base", "signer": "evm-keypair:0xdeadbeef" }, "onChain": { "userOperation": "... full user operation object", "userOperationHash": "0xf719f9570671c6eb016f1f4a95ada4278b8e91f55bc384d70c69fd756919a41c" }, "createdAt": "2024-01-01T00:00:00Z", "sendParams": { "params": { "recipient": "0x1234567890123456789012345678901234567890", "recipientAddress": "0x1234567890123456789012345678901234567890", "amount": "42.42" }, "token": "base-sepolia:usdc" } } }, "WalletsV1Alpha2TransactionsResponseDTO": { "type": "object", "properties": { "transactions": { "type": "array", "items": { "discriminator": { "propertyName": "walletType" }, "oneOf": [ { "type": "object", "properties": { "walletType": { "type": "string", "enum": ["evm-smart-wallet"], "description": "The type of wallet that created this transaction" }, "params": { "type": "object", "properties": { "calls": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "address": { "type": "string", "description": "The recipient address for this transaction call" }, "functionName": { "type": "string", "description": "The name of the function to call" }, "abi": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["error"] }, "inputs": { "type": "array", "items": {} }, "name": { "type": "string" } }, "required": [ "type", "inputs", "name" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["event"] }, "anonymous": { "type": "boolean" }, "inputs": { "type": "array", "items": { "allOf": [ {}, { "type": "object", "properties": { "indexed": { "type": "boolean" } } } ] } }, "name": { "type": "string", "pattern": "[a-zA-Z$_][a-zA-Z0-9$_]*" } }, "required": [ "type", "inputs", "name" ] }, { "allOf": [ { "type": "object", "properties": { "constant": { "type": "boolean" }, "gas": { "type": "number" }, "payable": { "type": "boolean" } } }, { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": [ "function" ] }, "inputs": { "type": "array", "items": {} }, "name": { "type": "string", "pattern": "[a-zA-Z$_][a-zA-Z0-9$_]*" }, "outputs": { "type": "array", "items": {} }, "stateMutability": { "type": "string", "enum": [ "pure", "view", "nonpayable", "payable" ] } }, "required": [ "type", "inputs", "name", "outputs", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "constructor" ] }, "inputs": { "type": "array", "items": {} }, "stateMutability": { "type": "string", "enum": [ "payable", "nonpayable" ] } }, "required": [ "type", "inputs", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "fallback" ] }, "inputs": {}, "stateMutability": { "type": "string", "enum": [ "payable", "nonpayable" ] } }, "required": [ "type", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "receive" ] }, "stateMutability": { "type": "string", "enum": [ "payable" ] } }, "required": [ "type", "stateMutability" ] } ] } ] } ] }, "description": "The ABI for the function to call" }, "args": { "type": "array", "items": {}, "description": "The arguments to pass to the function" }, "value": { "default": "0", "type": "string", "description": "The amount of native token to send in wei" } }, "required": ["address", "functionName", "abi", "args"], "title": "EVM contract call transaction parameters", "description": "Parameters for a transaction to execute a contract function" }, { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient address for this transaction call" }, "value": { "type": "string", "description": "The amount of native token to send in wei" }, "data": { "description": "The encoded calldata for this transaction" } }, "required": ["to", "value", "data"], "title": "EVM direct calldata transaction parameters", "description": "Parameters for a transaction to send a direct calldata transaction" }, { "type": "object", "properties": { "transaction": { "description": "Serialized EVM transaction" } }, "required": ["transaction"], "title": "EVM serialized transaction parameters", "description": "Parameters for a transaction to send a serialized EVM transaction" } ], "description": "Transaction data to execute" }, "minItems": 1, "description": "Array of transaction calls to execute" }, "chain": { "enum": [ "abstract", "apechain", "arbitrum", "arbitrumnova", "base", "bsc", "mantle", "mode", "optimism", "polygon", "scroll", "sei-pacific-1", "shape", "story", "world-chain", "zora", "abstract-testnet", "arbitrum-sepolia", "base-sepolia", "curtis", "ethereum-sepolia", "mantle-sepolia", "mode-sepolia", "optimism-sepolia", "polygon-amoy", "scroll-sepolia", "sei-atlantic-2-testnet", "story-testnet", "world-chain-sepolia", "zora-sepolia" ], "description": "The chain on which the transaction will be executed" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer who will submit this transaction", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] } }, "required": ["calls", "chain"], "description": "EVM smart wallet transaction parameters" }, "onChain": { "type": "object", "properties": { "userOperation": { "type": "object", "properties": { "sender": { "type": "string" }, "nonce": { "type": "string" }, "callData": { "type": "string" }, "callGasLimit": { "type": "string" }, "verificationGasLimit": { "type": "string" }, "preVerificationGas": { "type": "string" }, "maxFeePerGas": { "type": "string" }, "maxPriorityFeePerGas": { "type": "string" }, "paymaster": { "type": "string" }, "paymasterVerificationGasLimit": { "type": "string" }, "paymasterData": { "type": "string" }, "paymasterPostOpGasLimit": { "type": "string" }, "signature": { "type": "string" }, "factory": { "type": "string" }, "factoryData": { "type": "string" } }, "required": [ "sender", "nonce", "callData", "callGasLimit", "verificationGasLimit", "preVerificationGas", "maxFeePerGas", "maxPriorityFeePerGas", "signature" ] }, "userOperationHash": { "type": "string" }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["userOperation", "userOperationHash"], "title": "EVM smart wallet transaction data", "description": "EVM smart wallet transaction data including input parameters and chain specific details" }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator of the signer that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "type": "number", "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator of the signer who submitted this signature", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "type": "number", "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "type": "number", "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "type": "string" }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": ["walletType", "params", "onChain", "id", "status", "createdAt"], "title": "EVM transaction response" }, { "type": "object", "properties": { "walletType": { "type": "string", "enum": ["solana-mpc-wallet"], "description": "The type of wallet that created this transaction" }, "params": { "type": "object", "properties": { "transaction": { "type": "string", "description": "Base58 encoded serialized Solana transaction", "example": "4hXTCkRzt9WyecNzV1XPgCDfGAZzQKNxLXgynz5QDuWWPSAZBZSHptvWRL3BjCvzUXRdKvHL2b7yGrRQcWyaqsaBCncVG7BFggS8w9snUts67BSh3EqKpXLUm5UMHfD7ZBe9GhARjbNQMLJ1QD3Spr6oMTBU6EhdB4RD8CP2xUxr2u3d6fos36PD98XS6oX8TQjLpsMwncs5DAMiD4nNnR8NBfyghGCWvCVifVwvA8B8TJxE1aiyiv2L429BCWfyzAme5sZW8rDb14NeCQHhZbtNqfXhcp2tAnaAT" }, "requiredSigners": { "type": "array", "items": { "type": "string", "title": "Signer Locator", "description": "A signer locator that can be either a of format '' for keypair type signers or ':'", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "description": "Optional array of additional signers required for the transaction" } }, "required": ["transaction"], "description": "Solana custodial wallet transaction parameters" }, "onChain": { "type": "object", "properties": { "transaction": { "type": "string" }, "lastValidBlockHeight": { "type": "number" }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["transaction"], "description": "Solana custodial wallet transaction data including input parameters and chain specific details" }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator of the signer that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "type": "number", "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator of the signer who submitted this signature", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "type": "number", "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "type": "number", "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "type": "string" }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": ["walletType", "params", "onChain", "id", "status", "createdAt"], "title": "Solana transaction response" }, { "type": "object", "properties": { "walletType": { "type": "string", "enum": ["evm-mpc-wallet"], "description": "The type of wallet that created this transaction" }, "params": { "type": "object", "properties": { "call": { "oneOf": [ { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient address for this transaction call" }, "data": { "description": "The encoded calldata for this transaction" } }, "required": ["to", "data"], "additionalProperties": false }, { "type": "object", "properties": { "address": { "type": "string", "description": "The recipient address for this transaction call" }, "functionName": { "type": "string", "description": "The name of the function to call" }, "abi": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["error"] }, "inputs": { "type": "array", "items": {} }, "name": { "type": "string" } }, "required": ["type", "inputs", "name"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["event"] }, "anonymous": { "type": "boolean" }, "inputs": { "type": "array", "items": { "allOf": [ {}, { "type": "object", "properties": { "indexed": { "type": "boolean" } } } ] } }, "name": { "type": "string", "pattern": "[a-zA-Z$_][a-zA-Z0-9$_]*" } }, "required": ["type", "inputs", "name"] }, { "allOf": [ { "type": "object", "properties": { "constant": { "type": "boolean" }, "gas": { "type": "number" }, "payable": { "type": "boolean" } } }, { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": [ "function" ] }, "inputs": { "type": "array", "items": {} }, "name": { "type": "string", "pattern": "[a-zA-Z$_][a-zA-Z0-9$_]*" }, "outputs": { "type": "array", "items": {} }, "stateMutability": { "type": "string", "enum": [ "pure", "view", "nonpayable", "payable" ] } }, "required": [ "type", "inputs", "name", "outputs", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "constructor" ] }, "inputs": { "type": "array", "items": {} }, "stateMutability": { "type": "string", "enum": [ "payable", "nonpayable" ] } }, "required": [ "type", "inputs", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "fallback" ] }, "inputs": {}, "stateMutability": { "type": "string", "enum": [ "payable", "nonpayable" ] } }, "required": [ "type", "stateMutability" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "receive" ] }, "stateMutability": { "type": "string", "enum": [ "payable" ] } }, "required": [ "type", "stateMutability" ] } ] } ] } ] }, "description": "The ABI for the function to call" }, "args": { "type": "array", "items": {}, "description": "The arguments to pass to the function" } }, "required": ["address", "functionName", "abi", "args"], "additionalProperties": false } ], "description": "The transaction call to execute" }, "chain": { "type": "string", "enum": [ "arbitrum-sepolia", "avalanche-fuji", "curtis", "barret-testnet", "base-goerli", "base-sepolia", "bsc-testnet", "chiliz-spicy-testnet", "coti-testnet", "ethereum-goerli", "ethereum-sepolia", "hedera-testnet", "hypersonic-testnet", "lightlink-pegasus", "mantle-sepolia", "optimism-goerli", "optimism-sepolia", "polygon-amoy", "polygon-mumbai", "crossmint-private-testnet-ethereum", "crossmint-private-testnet-polygon", "rari-testnet", "scroll-sepolia", "sei-atlantic-2-testnet", "shape-sepolia", "skale-nebula-testnet", "soneium-minato-testnet", "space-testnet", "story-testnet", "verify-testnet", "viction-testnet", "xai-sepolia-testnet", "zkatana", "zkyoto", "zora-goerli", "zora-sepolia", "mode-sepolia", "u2u-nebulas", "zenchain-testnet", "abstract-testnet", "world-chain-sepolia", "flow-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "apex", "boss", "hedera", "coti", "lightlink", "mantle", "skale-nebula", "sei-pacific-1", "chiliz", "avalanche", "xai", "shape", "rari", "scroll", "viction", "mode", "space", "soneium", "story", "u2u-solaris", "abstract", "world-chain", "flow" ], "description": "The chain on which the transaction will be executed" } }, "required": ["call", "chain"], "description": "EVM MPC wallet transaction parameters" }, "onChain": { "type": "object", "properties": { "call": { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient address for this transaction call" }, "data": { "description": "The encoded calldata for this transaction" } }, "required": ["to", "data"] }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["call"], "title": "EVM MPC wallet transaction data", "description": "EVM MPC wallet transaction data including input parameters and chain specific details" }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator of the signer that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "type": "number", "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator of the signer who submitted this signature", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "type": "number", "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "type": "number", "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "type": "string" }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": ["walletType", "params", "onChain", "id", "status", "createdAt"], "title": "EVM MPC transaction response" }, { "type": "object", "properties": { "walletType": { "type": "string", "enum": ["solana-smart-wallet"], "description": "The type of wallet that created this transaction" }, "params": { "type": "object", "properties": { "transaction": { "type": "string", "description": "Base58 encoded serialized Solana transaction", "example": "4hXTCkRzt9WyecNzV1XPgCDfGAZzQKNxLXgynz5QDuWWPSAZBZSHptvWRL3BjCvzUXRdKvHL2b7yGrRQcWyaqsaBCncVG7BFggS8w9snUts67BSh3EqKpXLUm5UMHfD7ZBe9GhARjbNQMLJ1QD3Spr6oMTBU6EhdB4RD8CP2xUxr2u3d6fos36PD98XS6oX8TQjLpsMwncs5DAMiD4nNnR8NBfyghGCWvCVifVwvA8B8TJxE1aiyiv2L429BCWfyzAme5sZW8rDb14NeCQHhZbtNqfXhcp2tAnaAT" }, "requiredSigners": { "type": "array", "items": { "type": "string", "title": "Signer Locator", "description": "A signer locator that can be either a of format '' for keypair type signers or ':'", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "description": "Optional array of additional signers required for the transaction" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer who will submit this transaction. Defaults to the admin signer.", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "feeConfig": { "oneOf": [ { "type": "object", "properties": { "feePayer": { "type": "string", "description": "The address that will pay for the transaction" }, "token": { "type": "string", "enum": ["sol", "usdc", "usdt"], "description": "The token to use for the fee" }, "amount": { "type": "string", "description": "The amount of the fee" } }, "required": ["feePayer", "token", "amount"] }, { "type": "object", "properties": { "feePayer": { "type": "string", "enum": ["crossmint"] }, "amount": { "type": "string", "description": "The amount of the fee" } }, "required": ["feePayer", "amount"] } ] } }, "required": ["transaction", "feeConfig"], "description": "Solana smart wallet transaction parameters" }, "onChain": { "type": "object", "properties": { "transaction": { "type": "string" }, "lastValidBlockHeight": { "type": "number" }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["transaction"], "description": "Solana smart wallet transaction data including input parameters and chain specific details" }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator of the signer that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "type": "number", "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator of the signer who submitted this signature", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "type": "number", "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "type": "number", "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "type": "string" }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": ["walletType", "params", "onChain", "id", "status", "createdAt"], "title": "Solana smart wallet transaction response" } ], "description": "Complete transaction response including status, signing requirements, and wallet type specific data", "example": { "id": "tx-b984491a-5785-43c0-8811-45d46fe6e520", "walletType": "evm-smart-wallet", "status": "awaiting-approval", "approvals": { "pending": [ { "signer": "evm-keypair:0xdeadbeef", "message": "Please sign this transaction" } ], "submitted": [] }, "params": { "calls": [ { "to": "0x1234567890123456789012345678901234567890", "value": "1000000000000000000", "data": "0x" } ], "chain": "base", "signer": "evm-keypair:0xdeadbeef" }, "onChain": { "userOperation": "... full user operation object", "userOperationHash": "0xf719f9570671c6eb016f1f4a95ada4278b8e91f55bc384d70c69fd756919a41c" }, "createdAt": "2024-01-01T00:00:00Z" } } } }, "required": ["transactions"], "title": "Transactions Response", "description": "List of transactions with their status, signing requirements, and wallet type specific data", "example": { "transactions": [ { "id": "tx-b984491a-5785-43c0-8811-45d46fe6e520", "walletType": "evm-smart-wallet", "status": "awaiting-approval", "approvals": { "pending": [ { "signer": "evm-keypair:0xdeadbeef", "message": "Please sign this transaction" } ], "submitted": [] }, "params": { "calls": [ { "to": "0x1234567890123456789012345678901234567890", "value": "1000000000000000000", "data": "0x" } ], "chain": "base", "signer": "evm-keypair:0xdeadbeef" }, "onChain": { "userOperation": "... full user operation object", "userOperationHash": "0xf719f9570671c6eb016f1f4a95ada4278b8e91f55bc384d70c69fd756919a41c" }, "createdAt": "2024-01-01T00:00:00Z" } ] } }, "WalletV1Alpha2ErrorDTO": { "type": "object", "properties": { "error": { "type": "boolean", "enum": [true] }, "message": { "type": "string", "description": "Error message", "example": "" } }, "required": ["error", "message"], "description": "Wallet error" }, "WalletV1Alpha2ResponseDTO": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["evm-smart-wallet"], "description": "The type of wallet configuration" }, "config": { "type": "object", "properties": { "adminSigner": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["evm-keypair"], "description": "Identifier for EVM keypair signer type" }, "address": { "type": "string", "description": "The Ethereum address of the external signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "EVM Keypair Signer", "description": "Configuration for an EVM keypair signer", "example": { "type": "evm-keypair", "address": "0x1234567890123456789012345678901234567890", "locator": "evm-keypair:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["evm-fireblocks-custodial"], "description": "Identifier for EVM Fireblocks custodial signer type" }, "address": { "type": "string", "description": "The Ethereum address of the custodial signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "EVM Custodial Signer", "description": "Configuration for an EVM custodial signer", "example": { "type": "evm-fireblocks-custodial", "address": "0x1234567890123456789012345678901234567890", "locator": "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["evm-passkey"], "description": "Identifier for the Passkey signer type" }, "id": { "type": "string", "description": "Credential ID from the WebAuthn registration response" }, "name": { "type": "string", "description": "Human-readable name for the passkey" }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "X coordinate of the public key as a string representation of a bigint" }, "y": { "type": "string", "description": "Y coordinate of the public key as a string representation of a bigint" } }, "required": ["x", "y"], "description": "The public key coordinates from the WebAuthn credential" }, "validatorContractVersion": { "type": "string", "description": "ERC-7579 webAuthn validator contract version" }, "locator": { "type": "string", "description": "Unique identifier for locating this passkey signer" } }, "required": [ "type", "id", "name", "publicKey", "validatorContractVersion", "locator" ], "description": "Response schema for a registered Passkey signer including validator contract details", "example": { "type": "evm-passkey", "id": "cWtP7gmZbd98HbKUuGXx5Q", "name": "hgranger", "publicKey": { "x": "38035223810536273945556366218149112558607829411547667975304293530457502824247", "y": "91117823763706733837104303008228095481082989039135234750508288790583476078729" }, "validatorContractVersion": "0.2.0", "locator": "evm-passkey:cWtP7gmZbd98HbKUuGXx5Q" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"], "description": "Identifier for email signer type" }, "email": { "type": "string", "description": "The email address for the signer" }, "locator": { "type": "string", "description": "The locator of the signer" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "email", "locator", "address"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"], "description": "Identifier for phone signer type" }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" }, "locator": { "type": "string", "description": "The locator of the signer" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "phone", "locator", "address"] } ] }, "delegatedSigners": { "type": "array", "items": { "oneOf": [ { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["evm-keypair"], "description": "Identifier for EVM keypair signer type" }, "address": { "type": "string", "description": "The Ethereum address of the external signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "EVM Keypair Signer", "description": "Configuration for an EVM keypair signer", "example": { "type": "evm-keypair", "address": "0x1234567890123456789012345678901234567890", "locator": "evm-keypair:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["evm-fireblocks-custodial"], "description": "Identifier for EVM Fireblocks custodial signer type" }, "address": { "type": "string", "description": "The Ethereum address of the custodial signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "EVM Custodial Signer", "description": "Configuration for an EVM custodial signer", "example": { "type": "evm-fireblocks-custodial", "address": "0x1234567890123456789012345678901234567890", "locator": "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["evm-passkey"], "description": "Identifier for the Passkey signer type" }, "id": { "type": "string", "description": "Credential ID from the WebAuthn registration response" }, "name": { "type": "string", "description": "Human-readable name for the passkey" }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "X coordinate of the public key as a string representation of a bigint" }, "y": { "type": "string", "description": "Y coordinate of the public key as a string representation of a bigint" } }, "required": ["x", "y"], "description": "The public key coordinates from the WebAuthn credential" }, "validatorContractVersion": { "type": "string", "description": "ERC-7579 webAuthn validator contract version" }, "locator": { "type": "string", "description": "Unique identifier for locating this passkey signer" } }, "required": [ "type", "id", "name", "publicKey", "validatorContractVersion", "locator" ], "description": "Response schema for a registered Passkey signer including validator contract details", "example": { "type": "evm-passkey", "id": "cWtP7gmZbd98HbKUuGXx5Q", "name": "hgranger", "publicKey": { "x": "38035223810536273945556366218149112558607829411547667975304293530457502824247", "y": "91117823763706733837104303008228095481082989039135234750508288790583476078729" }, "validatorContractVersion": "0.2.0", "locator": "evm-passkey:cWtP7gmZbd98HbKUuGXx5Q" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"], "description": "Identifier for email signer type" }, "email": { "type": "string", "description": "The email address for the signer" }, "locator": { "type": "string", "description": "The locator of the signer" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "email", "locator", "address"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"], "description": "Identifier for phone signer type" }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" }, "locator": { "type": "string", "description": "The locator of the signer" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "phone", "locator", "address"] } ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "evm-keypair", "evm-fireblocks-custodial", "evm-passkey" ], "description": "Specifies the type of EVM signer being used, describing the method of key management and transaction signing. `evm-keypair` indicates a signer using a locally managed keypair, suitable for non-custodial wallets. `evm-fireblocks-custodial` refers to a signer managed by Fireblocks, a custodial service provider." }, "locator": { "type": "string", "title": "Signer Locator", "description": "The locator of the signer", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "expiresAt": { "type": "number", "description": "The expiry date of the signer in ISO 8601 format", "example": "2024-01-01T00:00:00.000Z" }, "permissions": { "type": "array", "items": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["native-token-transfer"] }, "data": { "type": "object", "properties": { "allowance": { "oneOf": [ { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, { "type": "string", "pattern": "^\\d+$", "title": "Decimal String", "description": "The allowance for the permission. e.g. '1'" } ] } }, "required": ["allowance"] } }, "required": ["type", "data"], "title": "Native Token Transfer", "description": "Permission to transfer native tokens (e.g. ETH)", "example": { "type": "native-token-transfer", "data": { "allowance": "0x1234" } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["erc20-token-transfer"] }, "data": { "type": "object", "properties": { "address": { "type": "string", "description": "The address of the smart contract that can be interacted with" }, "allowance": { "oneOf": [ { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, { "type": "string", "pattern": "^\\d+$", "title": "Decimal String", "description": "The allowance for the permission. e.g. '1'" } ] } }, "required": ["address", "allowance"] } }, "required": ["type", "data"], "title": "ERC20 Transfer", "description": "Permission to transfer specific ERC20 tokens", "example": { "type": "erc20-token-transfer", "data": { "address": "0x1234567890123456789012345678901234567890", "allowance": "100" } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["erc721-token-transfer"] }, "data": { "type": "object", "properties": { "address": { "type": "string", "description": "The address of the smart contract that can be interacted with" }, "tokenIds": { "type": "array", "items": { "type": "string" }, "description": "The token IDs that can be transferred" } }, "required": ["address", "tokenIds"] } }, "required": ["type", "data"], "title": "ERC721 Transfer", "description": "Permission to transfer specific ERC721 tokens (NFTs)", "example": { "type": "erc721-token-transfer", "data": { "address": "0x1234567890123456789012345678901234567890", "tokenIds": ["0x1", "0x2"] } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["erc1155-token-transfer"] }, "data": { "type": "object", "properties": { "address": { "type": "string", "description": "The address of the smart contract that can be interacted with" }, "allowances": { "type": "object", "additionalProperties": { "oneOf": [ { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, { "type": "string", "pattern": "^\\d+$", "title": "Decimal String", "description": "The allowance for the permission. e.g. '1'" } ] }, "description": "The token IDs and allowances that can be transferred" } }, "required": ["address", "allowances"] } }, "required": ["type", "data"], "title": "ERC1155 Transfer", "description": "Permission to transfer specific ERC1155 tokens (Multi-tokens)", "example": { "type": "erc1155-token-transfer", "data": { "address": "0x1234567890123456789012345678901234567890", "allowances": { "1": "0x5", "2": "0xa" } } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["gas-limit"] }, "data": { "type": "object", "properties": { "limit": { "type": "string" }, "enforcePaymaster": { "type": "boolean" }, "allowedPaymaster": { "type": "string" } }, "required": ["limit"] } }, "required": ["type", "data"], "title": "Gas Limit", "description": "Permission to use a limited amount of gas across all operations", "example": { "type": "gas-limit", "data": { "limit": "0x1234", "enforcePaymaster": true, "allowedPaymaster": "0x1234567890123456789012345678901234567890" } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["call-limit"] }, "data": { "type": "object", "properties": { "count": { "type": "integer", "minimum": 1 } }, "required": ["count"] } }, "required": ["type", "data"], "title": "Transaction Count Limit", "description": "Permission to make a limited number of transaction calls in total", "example": { "type": "call-limit", "data": { "count": 5 } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["rate-limit"] }, "data": { "type": "object", "properties": { "count": { "type": "integer", "minimum": 1 }, "interval": { "type": "integer", "minimum": 1, "description": "Time window in seconds" } }, "required": ["count", "interval"] } }, "required": ["type", "data"], "title": "Rate Limit", "description": "Permission to make calls at a limited rate within time intervals", "example": { "type": "rate-limit", "data": { "count": 5, "interval": 3600 } } } ] }, "description": "The permissions of the signer following ERC-7715" } }, "required": ["type", "locator"] } ] }, "description": "Optional array of additional signers for the wallet" } }, "required": ["adminSigner"], "description": "EVM smart wallet type specific configuration settings" }, "address": { "type": "string", "description": "The onchain address of the wallet", "example": "0x1234567890123456789012345678901234567890" }, "linkedUser": { "type": "string", "description": "The user that is linked to this wallet in format :", "example": "email:test@test.com" }, "createdAt": { "type": "number", "description": "ISO timestamp of when the wallet was created", "example": "2024-01-01T00:00:00.000Z" } }, "required": ["type", "config", "address"], "title": "EVM smart wallet output" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["solana-smart-wallet"], "description": "The type of wallet configuration" }, "config": { "type": "object", "properties": { "adminSigner": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["solana-keypair"], "description": "Type identifier for Solana keypair signers" }, "address": { "type": "string", "description": "The Solana address of the signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "Solana Keypair Signer", "description": "Configuration for an Solana keypair signer", "example": { "type": "solana-keypair", "address": "5vV8Vw7A2Eiu3mAi4T6Nurqqst1Zr3UYue8R2N1H8CFh", "locator": "solana-keypair:5vV8Vw7A2Eiu3mAi4T6Nurqqst1Zr3UYue8R2N1H8CFh" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["solana-fireblocks-custodial"], "description": "Type identifier for Solana custodial signers" }, "address": { "type": "string", "description": "The Solana address of the custodial signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "Solana Custodial Signer", "description": "Configuration for an Solana custodial signer", "example": { "type": "solana-fireblocks-custodial", "address": "5vV8Vw7A2Eiu3mAi4T6Nurqqst1Zr3UYue8R2N1H8CFh", "locator": "solana-fireblocks-custodial:5vV8Vw7A2Eiu3mAi4T6Nurqqst1Zr3UYue8R2N1H8CFh" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"], "description": "Identifier for email signer type" }, "email": { "type": "string", "description": "The email address for the signer" }, "locator": { "type": "string", "description": "The locator of the signer" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "email", "locator", "address"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"], "description": "Identifier for phone signer type" }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" }, "locator": { "type": "string", "description": "The locator of the signer" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "phone", "locator", "address"] } ] }, "delegatedSigners": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "enum": ["solana-keypair", "solana-fireblocks-custodial"], "description": "Specifies the type of Solana signer being used, describing the method of key management and transaction signing." }, "address": { "type": "string", "description": "The address of the signer" }, "locator": { "type": "string", "title": "Signer Locator", "description": "The locator of the signer", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "transaction": { "type": "object", "properties": { "onChain": { "type": "object", "properties": { "transaction": { "type": "string" }, "lastValidBlockHeight": { "type": "number" }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["transaction"], "description": "Solana smart wallet transaction data including input parameters and chain specific details" }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": [ "awaiting-approval", "pending", "failed", "success" ], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator of the signer that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "type": "number", "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator of the signer who submitted this signature", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "email:user@example.com", "phone:+1234567890" ] }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": [ "signature", "submittedAt", "signer", "message" ] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "type": "number", "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "type": "number", "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "type": "string" }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": ["onChain", "id", "status", "createdAt"], "description": "The transaction for the signer" } }, "required": ["type", "address", "locator", "transaction"], "title": "Delegated Signer Response", "description": "Complete delegated signer response including the signer and authorization transaction", "example": { "type": "solana-keypair", "address": "DzaYNi6XtWt9DNwFV61bzWEiaSxfTgWbFDgFmurJzwdo", "locator": "solana-keypair:DzaYNi6XtWt9DNwFV61bzWEiaSxfTgWbFDgFmurJzwdo", "transaction": { "onChain": { "transaction": "4B9yzZoEV45cngasy9dP2MVxhZ2iro72eqdKitTj62pqFYHk4wVoR4NCc3xkEamWbFGXLjVotyPrDqEn11WUYHoq98b5aKCSDUrLWaQDZgb3xLxF1EvaY82Vui7Ntbv682tYnu5Ngnv4Eun1wrDJ6r4aRsUSQ3XF3jvNq8bRMn4HavBjPyErQSgXX9ytCDKntCEQcY3wfMHYbRFg5zgFU1QCqhuoLa5oBpZLCUYT8DCYu3Ado7W4xzP5aCAAwVd2tj8iAnwJEujQvBnr7wWkf2mCS1cNoCTbCFAvNVaVaau6vXBWKZqS7sDNmUD3KLQVqLwxhLLNeRuvUTkD5VQ5D21VcDiYWQWQTuYYAcQ3RUhn4Vt4ymijgRGbUXZHoeN26UHoGSBFJJ7gjqCruAtFXQZxHRDKSWN9jhYXugPYVVXSpGFA5BYWBuztUtEMF4u96tk6YTgPGdkTgrQybkNxRwbVCbpsKRG1kAbjQgBxDLAX89eMCZVbzWXnAgGA6aDBQPLAyQru8awZBDasrirnxCSQq9cWwMLePQGhY5gJZykswFKtyYF4CHeto", "lastValidBlockHeight": 343486121 }, "id": "30ef7527-eb5a-4862-92de-aa96947ee705", "status": "pending", "approvals": { "required": 1, "pending": [ { "signer": "solana-keypair:GsMTPi8utYnuWakS8uvPah3UKd13dWcAshirnNmXDr3d", "message": "2kwN1iuY6Y6Br2i5D1QphaS28H7vDdAiwtABgtRdYqjx7s85rRwqF9y6iVBdv9dDZ8F1JAZo8iQdFBAx2Eg9tL3P4sbAznPZgkZcGrbUSCe5jTZ7ULZrcSd377SGEjsZcwx7h7ozrUKB6FnjHB7wGaCqEeeUXE2CfCjC1SjEc8ZzZeyNmeEv5hJSkGsK62syoAE4V5ScZs7idhxXWzpeJiRt3wfWJRevr1pJY7BBd8HaEYurXtXqwCox1uzQnnuZTiUNu7cUWUajYXBWUae4NJGJxmtFJvqnPAa5HXB4nZWXMDdcBis4tQkLCfFT6GXMauQTFCaKmcMgLRh218n51nTNopR7gTaY66ysRH536wmxt9dLqkS9okG3HF5GEXufXPLX6iT7e7" } ], "submitted": [] }, "createdAt": "2025-01-20T13:49:08.910Z" } } }, "description": "Optional array of additional signers for the wallet" } }, "required": ["adminSigner"], "description": "Solana Smart wallet type specific configuration settings" }, "address": { "type": "string", "description": "The onchain address of the wallet", "example": "0x1234567890123456789012345678901234567890" }, "linkedUser": { "type": "string", "description": "The user that is linked to this wallet in format :", "example": "email:test@test.com" }, "createdAt": { "type": "number", "description": "ISO timestamp of when the wallet was created", "example": "2024-01-01T00:00:00.000Z" } }, "required": ["type", "config", "address"], "title": "Solana Smart wallet output" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["solana-mpc-wallet"], "description": "The type of wallet configuration" }, "config": { "description": "Solana MPC wallet type specific configuration settings" }, "address": { "type": "string", "description": "The onchain address of the wallet", "example": "0x1234567890123456789012345678901234567890" }, "linkedUser": { "type": "string", "description": "The user that is linked to this wallet in format :", "example": "email:test@test.com" }, "createdAt": { "type": "number", "description": "ISO timestamp of when the wallet was created", "example": "2024-01-01T00:00:00.000Z" } }, "required": ["type", "address"], "title": "Solana MPC wallet output" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["aptos-mpc-wallet"], "description": "The type of wallet configuration" }, "config": { "description": "Aptos MPC wallet type specific configuration settings" }, "address": { "type": "string", "description": "The onchain address of the wallet", "example": "0x1234567890123456789012345678901234567890" }, "linkedUser": { "type": "string", "description": "The user that is linked to this wallet in format :", "example": "email:test@test.com" }, "createdAt": { "type": "number", "description": "ISO timestamp of when the wallet was created", "example": "2024-01-01T00:00:00.000Z" } }, "required": ["type", "address"], "title": "Aptos MPC wallet output" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["sui-mpc-wallet"], "description": "The type of wallet configuration" }, "config": { "description": "Sui MPC wallet type specific configuration settings" }, "address": { "type": "string", "description": "The onchain address of the wallet", "example": "0x1234567890123456789012345678901234567890" }, "linkedUser": { "type": "string", "description": "The user that is linked to this wallet in format :", "example": "email:test@test.com" }, "createdAt": { "type": "number", "description": "ISO timestamp of when the wallet was created", "example": "2024-01-01T00:00:00.000Z" } }, "required": ["type", "address"], "title": "Sui MPC wallet output" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["evm-mpc-wallet"], "description": "The type of wallet configuration" }, "address": { "type": "string", "description": "The onchain address of the wallet", "example": "0x1234567890123456789012345678901234567890" }, "linkedUser": { "type": "string", "description": "The user that is linked to this wallet in format :", "example": "email:test@test.com" }, "createdAt": { "type": "number", "description": "ISO timestamp of when the wallet was created", "example": "2024-01-01T00:00:00.000Z" } }, "required": ["type", "address"], "title": "EVM MPC wallet output" } ], "description": "Complete wallet configuration including type-specific settings", "example": { "type": "evm-smart-wallet", "linkedUser": "email:user@example.com", "address": "0x1234567890123456789012345678901234567890", "config": { "adminSigner": { "type": "evm-keypair", "address": "0x1234567890123456789012345678901234567890", "locator": "evm-keypair:0x1234567890123456789012345678901234567890" } } } }, "WalletV1Alpha2TransactionErrorDTO": { "type": "object", "properties": { "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": ["contract_call", "wallet_authorization", "wallet_deployment"] }, "reason": { "type": "string" }, "reasonData": { "type": "string" }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error" }, "message": { "type": "string", "description": "Error message" } }, "required": ["error", "message"], "description": "Wallet transaction error", "example": { "error": { "reason": "execution_reverted", "message": "Execution reverted, see 'revert' for details", "revert": { "type": "contract_call", "reason": "ERC20: transfer amount exceeds balance", "reasonData": "0x08c379a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002645524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63650000000000000000000000000000000000000000000000000000", "simulationLink": "https://www.tdly.co/shared/simulation/185311d1-d174-4805-babe-771da4e5b40f" } }, "message": "Transaction reverted during execution. Please check 'error' for more information." } }, "WalletV2025ResponseDTO": { "discriminator": { "propertyName": "chainType" }, "oneOf": [ { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["evm"], "description": "The blockchain type of the wallet" }, "type": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)", "example": "smart" }, "config": { "type": "object", "properties": { "adminSigner": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"], "description": "Identifier for external wallet signer type" }, "address": { "type": "string", "description": "The blockchain address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Configuration for an external wallet signer", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890", "locator": "external-wallet:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"], "description": "Identifier for API key signer type" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string", "description": "A base58-encoded Solana public key address" } ], "description": "The blockchain address of the custodial signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Configuration for a custodial signer managed by Crossmint", "example": { "type": "api-key", "address": "0x1234567890123456789012345678901234567890", "locator": "api-key:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"], "description": "Identifier for the Passkey signer type" }, "id": { "type": "string", "description": "Credential ID from the WebAuthn registration response" }, "name": { "type": "string", "description": "Human-readable name for the passkey" }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "X coordinate of the public key as a decimal string" }, "y": { "type": "string", "description": "Y coordinate of the public key as a decimal string" } }, "required": ["x", "y"], "description": "The public key coordinates from the WebAuthn credential" }, "validatorContractVersion": { "type": "string", "description": "ERC-7579 webAuthn validator contract version" }, "locator": { "type": "string", "description": "Unique identifier for locating this passkey signer" } }, "required": [ "type", "id", "name", "publicKey", "validatorContractVersion", "locator" ], "description": "Response schema for a registered Passkey signer including validator contract details", "example": { "type": "passkey", "id": "cWtP7gmZbd98HbKUuGXx5Q", "name": "hgranger", "publicKey": { "x": "38035223810536273945556366218149112558607829411547667975304293530457502824247", "y": "91117823763706733837104303008228095481082989039135234750508288790583476078729" }, "validatorContractVersion": "0.2.0", "locator": "passkey:cWtP7gmZbd98HbKUuGXx5Q" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"], "description": "Identifier for email signer type" }, "email": { "type": "string", "description": "The email address for the signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "email", "locator"], "title": "Email Signer", "description": "Configuration for an email signer", "example": { "type": "email", "email": "user@example.com", "locator": "email:user@example.com" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"], "description": "Identifier for phone signer type" }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "phone", "locator"], "title": "Phone Signer", "description": "Configuration for a phone signer", "example": { "type": "phone", "phone": "+1234567890", "locator": "phone:+1234567890" } } ] }, "delegatedSigners": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"], "description": "Identifier for external wallet signer type" }, "address": { "type": "string", "description": "The blockchain address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Configuration for an external wallet signer", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890", "locator": "external-wallet:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"], "description": "Identifier for API key signer type" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string", "description": "A base58-encoded Solana public key address" } ], "description": "The blockchain address of the custodial signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Configuration for a custodial signer managed by Crossmint", "example": { "type": "api-key", "address": "0x1234567890123456789012345678901234567890", "locator": "api-key:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"], "description": "Identifier for the Passkey signer type" }, "id": { "type": "string", "description": "Credential ID from the WebAuthn registration response" }, "name": { "type": "string", "description": "Human-readable name for the passkey" }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "X coordinate of the public key as a decimal string" }, "y": { "type": "string", "description": "Y coordinate of the public key as a decimal string" } }, "required": ["x", "y"], "description": "The public key coordinates from the WebAuthn credential" }, "validatorContractVersion": { "type": "string", "description": "ERC-7579 webAuthn validator contract version" }, "locator": { "type": "string", "description": "Unique identifier for locating this passkey signer" } }, "required": [ "type", "id", "name", "publicKey", "validatorContractVersion", "locator" ], "description": "Response schema for a registered Passkey signer including validator contract details", "example": { "type": "passkey", "id": "cWtP7gmZbd98HbKUuGXx5Q", "name": "hgranger", "publicKey": { "x": "38035223810536273945556366218149112558607829411547667975304293530457502824247", "y": "91117823763706733837104303008228095481082989039135234750508288790583476078729" }, "validatorContractVersion": "0.2.0", "locator": "passkey:cWtP7gmZbd98HbKUuGXx5Q" } } ] }, "description": "Optional array of additional signers for the wallet" } }, "required": ["adminSigner"], "description": "EVM wallet type specific configuration settings" }, "address": { "type": "string", "description": "The onchain address of the wallet", "example": "0x1234567890123456789012345678901234567890" }, "owner": { "type": "string", "description": "The user that owns this wallet in format :", "example": "email:test@example.com" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp of when the wallet was created", "example": "2024-01-01T00:00:00.000Z" } }, "required": ["chainType", "type", "address"], "title": "EVM wallet output" }, { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["solana"], "description": "The blockchain type of the wallet" }, "type": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)", "example": "smart" }, "config": { "type": "object", "properties": { "adminSigner": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"], "description": "Identifier for external wallet signer type" }, "address": { "type": "string", "description": "The blockchain address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Configuration for an external wallet signer", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890", "locator": "external-wallet:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"], "description": "Identifier for API key signer type" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string", "description": "A base58-encoded Solana public key address" } ], "description": "The blockchain address of the custodial signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Configuration for a custodial signer managed by Crossmint", "example": { "type": "api-key", "address": "0x1234567890123456789012345678901234567890", "locator": "api-key:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"], "description": "Identifier for email signer type" }, "email": { "type": "string", "description": "The email address for the signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "email", "locator"], "title": "Email Signer", "description": "Configuration for an email signer", "example": { "type": "email", "email": "user@example.com", "locator": "email:user@example.com" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"], "description": "Identifier for phone signer type" }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "phone", "locator"], "title": "Phone Signer", "description": "Configuration for a phone signer", "example": { "type": "phone", "phone": "+1234567890", "locator": "phone:+1234567890" } } ] }, "delegatedSigners": { "type": "array", "items": { "allOf": [ { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"], "description": "Identifier for the Passkey signer type" }, "id": { "type": "string", "description": "Credential ID from the WebAuthn registration response" }, "name": { "type": "string", "description": "Human-readable name for the passkey" }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "X coordinate of the public key as a decimal string" }, "y": { "type": "string", "description": "Y coordinate of the public key as a decimal string" } }, "required": ["x", "y"], "description": "The public key coordinates from the WebAuthn credential" }, "validatorContractVersion": { "type": "string", "description": "ERC-7579 webAuthn validator contract version" }, "locator": { "type": "string", "description": "Unique identifier for locating this passkey signer" } }, "required": [ "type", "id", "name", "publicKey", "validatorContractVersion", "locator" ], "description": "Response schema for a registered Passkey signer including validator contract details", "example": { "type": "passkey", "id": "cWtP7gmZbd98HbKUuGXx5Q", "name": "hgranger", "publicKey": { "x": "38035223810536273945556366218149112558607829411547667975304293530457502824247", "y": "91117823763706733837104303008228095481082989039135234750508288790583476078729" }, "validatorContractVersion": "0.2.0", "locator": "passkey:cWtP7gmZbd98HbKUuGXx5Q" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"], "description": "Identifier for API key signer type" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string", "description": "A base58-encoded Solana public key address" } ], "description": "The blockchain address of the custodial signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Configuration for a custodial signer managed by Crossmint", "example": { "type": "api-key", "address": "0x1234567890123456789012345678901234567890", "locator": "api-key:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"], "description": "Identifier for external wallet signer type" }, "address": { "type": "string", "description": "The blockchain address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Configuration for an external wallet signer", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890", "locator": "external-wallet:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"], "description": "Identifier for email signer type" }, "email": { "type": "string", "description": "The email address for the signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "email", "locator"], "title": "Email Signer", "description": "Configuration for an email signer", "example": { "type": "email", "email": "user@example.com", "locator": "email:user@example.com" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"], "description": "Identifier for phone signer type" }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "phone", "locator"], "title": "Phone Signer", "description": "Configuration for a phone signer", "example": { "type": "phone", "phone": "+1234567890", "locator": "phone:+1234567890" } } ], "description": "Response schema for a registered signer" }, { "type": "object", "properties": { "transaction": { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["solana"] }, "onChain": { "type": "object", "properties": { "transaction": { "type": "string" }, "lastValidBlockHeight": { "type": "number" }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["transaction"] }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": [ "awaiting-approval", "pending", "failed", "success" ], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": [ "external-wallet" ] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": [ "type", "address", "locator" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "passkey" ] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": [ "type", "id", "locator" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "api-key" ] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": [ "type", "address", "locator" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "email" ] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": [ "type", "email", "locator" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "phone" ] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": [ "type", "phone", "locator" ] } ], "description": "The full signer object that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": [ "external-wallet" ] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": [ "type", "address", "locator" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "passkey" ] }, "id": { "type": "string" }, "locator": { "type": "string" } }, "required": [ "type", "id", "locator" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "api-key" ] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": [ "type", "address", "locator" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "email" ] }, "email": { "type": "string" }, "locator": { "type": "string" } }, "required": [ "type", "email", "locator" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "phone" ] }, "phone": { "type": "string" }, "locator": { "type": "string" } }, "required": [ "type", "phone", "locator" ] } ], "description": "The full signer object who submitted this signature" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": [ "signature", "submittedAt", "signer", "message" ] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "type": "string" }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": [ "recipient", "recipientAddress" ], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] }, "walletType": { "type": "string", "enum": ["smart"] } }, "required": [ "chainType", "onChain", "id", "status", "createdAt", "walletType" ], "description": "The transaction for the signer" } }, "required": ["transaction"] } ], "title": "Delegated Signer Response", "description": "Complete delegated signer response including the signer and authorization transaction", "example": { "type": "external-wallet", "address": "DzaYNi6XtWt9DNwFV61bzWEiaSxfTgWbFDgFmurJzwdo", "locator": "external-wallet:DzaYNi6XtWt9DNwFV61bzWEiaSxfTgWbFDgFmurJzwdo", "transaction": { "chainType": "solana", "walletType": "smart", "onChain": { "transaction": "4B9yzZoEV45cngasy9dP2MVxhZ2iro72eqdKitTj62pqFYHk4wVoR4NCc3xkEamWbFGXLjVotyPrDqEn11WUYHoq98b5aKCSDUrLWaQDZgb3xLxF1EvaY82Vui7Ntbv682tYnu5Ngnv4Eun1wrDJ6r4aRsUSQ3XF3jvNq8bRMn4HavBjPyErQSgXX9ytCDKntCEQcY3wfMHYbRFg5zgFU1QCqhuoLa5oBpZLCUYT8DCYu3Ado7W4xzP5aCAAwVd2tj8iAnwJEujQvBnr7wWkf2mCS1cNoCTbCFAvNVaVaau6vXBWKZqS7sDNmUD3KLQVqLwxhLLNeRuvUTkD5VQ5D21VcDiYWQWQTuYYAcQ3RUhn4Vt4ymijgRGbUXZHoeN26UHoGSBFJJ7gjqCruAtFXQZxHRDKSWN9jhYXugPYVVXSpGFA5BYWBuztUtEMF4u96tk6YTgPGdkTgrQybkNxRwbVCbpsKRG1kAbjQgBxDLAX89eMCZVbzWXnAgGA6aDBQPLAyQru8awZBDasrirnxCSQq9cWwMLePQGhY5gJZykswFKtyYF4CHeto", "lastValidBlockHeight": 343486121 }, "id": "30ef7527-eb5a-4862-92de-aa96947ee705", "status": "pending", "approvals": { "required": 1, "pending": [ { "signer": { "type": "external-wallet", "address": "GsMTPi8utYnuWakS8uvPah3UKd13dWcAshirnNmXDr3d", "locator": "external-wallet:GsMTPi8utYnuWakS8uvPah3UKd13dWcAshirnNmXDr3d" }, "message": "2kwN1iuY6Y6Br2i5D1QphaS28H7vDdAiwtABgtRdYqjx7s85rRwqF9y6iVBdv9dDZ8F1JAZo8iQdFBAx2Eg9tL3P4sbAznPZgkZcGrbUSCe5jTZ7ULZrcSd377SGEjsZcwx7h7ozrUKB6FnjHB7wGaCqEeeUXE2CfCjC1SjEc8ZzZeyNmeEv5hJSkGsK62syoAE4V5ScZs7idhxXWzpeJiRt3wfWJRevr1pJY7BBd8HaEYurXtXqwCox1uzQnnuZTiUNu7cUWUajYXBWUae4NJGJxmtFJvqnPAa5HXB4nZWXMDdcBis4tQkLCfFT6GXMauQTFCaKmcMgLRh218n51nTNopR7gTaY66ysRH536wmxt9dLqkS9okG3HF5GEXufXPLX6iT7e7" } ], "submitted": [] }, "createdAt": "2025-01-20T13:49:08.910Z" } } }, "description": "Optional array of additional signers for the wallet" } }, "required": ["adminSigner"], "description": "Solana wallet type specific configuration settings" }, "address": { "type": "string", "description": "The onchain address of the wallet", "example": "0x1234567890123456789012345678901234567890" }, "owner": { "type": "string", "description": "The user that owns this wallet in format :", "example": "email:test@example.com" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp of when the wallet was created", "example": "2024-01-01T00:00:00.000Z" } }, "required": ["chainType", "type", "address"], "title": "Solana wallet output" }, { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["aptos"], "description": "The blockchain type of the wallet" }, "type": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)", "example": "smart" }, "config": { "description": "Aptos wallet type specific configuration settings" }, "address": { "type": "string", "description": "The onchain address of the wallet", "example": "0x1234567890123456789012345678901234567890" }, "owner": { "type": "string", "description": "The user that owns this wallet in format :", "example": "email:test@example.com" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp of when the wallet was created", "example": "2024-01-01T00:00:00.000Z" } }, "required": ["chainType", "type", "address"], "title": "Aptos wallet output" }, { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["sui"], "description": "The blockchain type of the wallet" }, "type": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)", "example": "smart" }, "config": { "description": "Sui wallet type specific configuration settings" }, "address": { "type": "string", "description": "The onchain address of the wallet", "example": "0x1234567890123456789012345678901234567890" }, "owner": { "type": "string", "description": "The user that owns this wallet in format :", "example": "email:test@example.com" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp of when the wallet was created", "example": "2024-01-01T00:00:00.000Z" } }, "required": ["chainType", "type", "address"], "title": "Sui wallet output" }, { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["stellar"], "description": "The blockchain type of the wallet" }, "type": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)", "example": "smart" }, "config": { "type": "object", "properties": { "adminSigner": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"], "description": "Identifier for external wallet signer type" }, "address": { "type": "string", "description": "The blockchain address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Configuration for an external wallet signer", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890", "locator": "external-wallet:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"], "description": "Identifier for email signer type" }, "email": { "type": "string", "description": "The email address for the signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "email", "locator"], "title": "Email Signer", "description": "Configuration for an email signer", "example": { "type": "email", "email": "user@example.com", "locator": "email:user@example.com" } } ] }, "delegatedSigners": { "readOnly": true } }, "required": ["adminSigner"], "description": "Stellar wallet type specific configuration settings" }, "address": { "type": "string", "description": "The onchain address of the wallet", "example": "0x1234567890123456789012345678901234567890" }, "owner": { "type": "string", "description": "The user that owns this wallet in format :", "example": "email:test@example.com" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp of when the wallet was created", "example": "2024-01-01T00:00:00.000Z" } }, "required": ["chainType", "type", "address"], "title": "Stellar wallet output" } ], "description": "Complete wallet configuration including type-specific settings", "example": { "chainType": "evm", "type": "smart", "owner": "email:user@example.com", "address": "0x1234567890123456789012345678901234567890", "config": { "adminSigner": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890", "locator": "external-wallet:0x1234567890123456789012345678901234567890" } } } } } } }