{ "openapi": "3.0.0", "paths": { "/v1-alpha2/wallets/{walletLocator}/balances": { "get": { "operationId": "BalanceController-getBalanceForLocator-4", "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)", "schema": { "type": "string" } }, { "name": "chains", "required": false, "in": "query", "description": "The blockchain(s) to query. Comma-separated list of chains", "schema": { "type": "string" } }, { "name": "tokens", "required": true, "in": "query", "description": "The tokens to query. Comma-separated list", "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-4", "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)", "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" } } } } } } }, "/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`", "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/WalletsV1Alpha2TransactionResponseDTOClass" } } } } } } }, "/unstable/wallets/me{walletLocator}/transfers": { "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": "cursor", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "limit", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "sort", "required": false, "in": "query", "schema": { "default": "desc", "enum": ["asc", "desc"], "type": "string" } }, { "name": "chain", "required": true, "in": "query", "description": "The blockchain network to query. Either an EVM chain, Solana, or Stellar.", "schema": { "enum": [ "arbitrum-sepolia", "arc-testnet", "avalanche-fuji", "curtis", "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", "plume-testnet", "flow-testnet", "tempo-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "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", "plume", "flow", "tempo", "solana", "stellar" ], "type": "string" }, "example": "ethereum" }, { "name": "tokens", "required": true, "in": "query", "description": "The tokens to query. Comma-separated list of either tokens or token locator strings", "schema": { "type": "string" } }, { "name": "status", "required": true, "in": "query", "description": "The status of the transfers to query", "schema": { "enum": ["successful", "failed"], "type": "string" }, "example": "successful" }, { "name": "fromDate", "required": false, "in": "query", "description": "Filter transfers from this date (inclusive). ISO 8601 format. Supported for EVM and Stellar chains.", "schema": { "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$", "type": "string" }, "example": "2024-01-01T00:00:00Z" }, { "name": "toDate", "required": false, "in": "query", "description": "Filter transfers until this date (inclusive). ISO 8601 format. Supported for EVM and Stellar chains.", "schema": { "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$", "type": "string" }, "example": "2024-12-31T23:59:59Z" } ], "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}/transfers": { "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::[:][:alias:]` (walletType defaults to 'smart')\n- `userId::[:][:alias:]` (white label user example)\n- `phoneNumber::[:][:alias:]`\n- `twitter::[:][:alias:]`\n- `x::[:][:alias:]`\n- `me:[:][:alias:]` (Use when calling from the client side with a client API key)\n- `chainType[:]:alias:`", "schema": { "type": "string" } }, { "name": "cursor", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "limit", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "sort", "required": false, "in": "query", "schema": { "default": "desc", "enum": ["asc", "desc"], "type": "string" } }, { "name": "chain", "required": true, "in": "query", "description": "The blockchain network to query. Either an EVM chain, Solana, or Stellar.", "schema": { "enum": [ "arbitrum-sepolia", "arc-testnet", "avalanche-fuji", "curtis", "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", "plume-testnet", "flow-testnet", "tempo-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "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", "plume", "flow", "tempo", "solana", "stellar" ], "type": "string" }, "example": "ethereum" }, { "name": "tokens", "required": true, "in": "query", "description": "The tokens to query. Comma-separated list of either tokens or token locator strings", "schema": { "type": "string" } }, { "name": "status", "required": true, "in": "query", "description": "The status of the transfers to query", "schema": { "enum": ["successful", "failed"], "type": "string" }, "example": "successful" }, { "name": "fromDate", "required": false, "in": "query", "description": "Filter transfers from this date (inclusive). ISO 8601 format. Supported for EVM and Stellar chains.", "schema": { "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$", "type": "string" }, "example": "2024-01-01T00:00:00Z" }, { "name": "toDate", "required": false, "in": "query", "description": "Filter transfers until this date (inclusive). ISO 8601 format. Supported for EVM and Stellar chains.", "schema": { "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$", "type": "string" }, "example": "2024-12-31T23:59:59Z" } ], "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" } } } } } } }, "/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)", "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`", "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/WalletsV1Alpha2TransactionResponseWithSendParamsDTOClass" } } } } } } }, "/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::[:][:alias:]` (walletType defaults to 'smart')\n- `userId::[:][:alias:]` (white label user example)\n- `phoneNumber::[:][:alias:]`\n- `twitter::[:][:alias:]`\n- `x::[:][:alias:]`\n- `me:[:][:alias:]` (Use when calling from the client side with a client API key)\n- `chainType[:]:alias:`", "schema": { "type": "string" } }, { "name": "chains", "required": false, "in": "query", "description": "The blockchain(s) to query. Comma-separated list of chains", "schema": { "type": "string" } }, { "name": "tokens", "required": true, "in": "query", "description": "The tokens to query. Comma-separated list of either tokens or token locator strings", "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" } } } } } } }, "/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/WalletsTransactionV2025ResponseDTOClass" } } } }, "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/WalletsTransactionV2025ResponseDTOClass" } } } }, "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/CreateTransactionV2025DTOClass" } } } }, "responses": { "201": { "description": "The transaction has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsTransactionV2025ResponseDTOClass" } } } }, "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. Optionally filter by date range using ISO 8601 format (e.g., 2025-10-27T00:00:00Z).\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": { "default": "1", "type": "string", "allOf": [ { "pattern": "^\\d+$" }, { "pattern": "^[1-9]\\d*$" } ] } }, { "name": "perPage", "required": false, "in": "query", "schema": { "default": "10", "type": "string", "allOf": [ { "pattern": "^\\d+$" }, { "pattern": "^[1-9]\\d*$" } ] } }, { "name": "dateFrom", "required": false, "in": "query", "schema": { "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$", "type": "string" } }, { "name": "dateTo", "required": false, "in": "query", "schema": { "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$", "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`", "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/WalletsTransactionV2025ResponseDTOClass" } } } } } } }, "/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": "The locator for the signer", "schema": { "title": "Signer Locator", "type": "string" }, "example": "external-wallet:0x1234567890123456789012345678901234567890" } ], "responses": { "200": { "description": "The delegated signer has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DelegatedSignerV2025DtoClass" } } } }, "404": { "description": "Returns an error if the wallet or signer not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } }, "delete": { "operationId": "WalletsV2025Controller-removeMeDelegatedSigner-2", "summary": "Remove Delegated Signer For Authenticated User", "description": "Remove an operational signer from a smart wallet.\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" } }, { "name": "signer", "required": true, "in": "path", "description": "The locator for the signer", "schema": { "title": "Signer Locator", "type": "string" }, "example": "external-wallet:0x1234567890123456789012345678901234567890" }, { "name": "chain", "required": false, "in": "query", "description": "The chain to remove the signer from. Required for EVM wallets.", "schema": {} } ], "responses": { "200": { "description": "The delegated signer removal has been initiated.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsTransactionV2025ResponseDTOClass" } } } }, "400": { "description": "Returns an error if the signer cannot be removed (e.g. admin signer or unsupported wallet type)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "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/CreateSignerV2025InputDtoClass" } } } }, "responses": { "201": { "description": "The delegated signer has been successfully added to the wallet.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DelegatedSignerV2025DtoClass" } } } }, "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": { "type": "string", "allOf": [ { "pattern": "^\\d+$" }, { "pattern": "^[1-9]\\d*$" } ] } }, { "name": "perPage", "required": false, "in": "query", "schema": { "type": "string", "allOf": [ { "pattern": "^\\d+$" }, { "pattern": "^[1-9]\\d*$" } ] } } ], "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/WalletV2025ResponseDTOClass" } } } } } } }, "/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/CreateWalletV2025DTOClass" } } } }, "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/WalletV2025ResponseDTOClass" } } } } } } }, "/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::[:][:alias:]` (walletType defaults to 'smart')\n- `userId::[:][:alias:]` (white label user example)\n- `phoneNumber::[:][:alias:]`\n- `twitter::[:][:alias:]`\n- `x::[:][:alias:]`\n- `me:[:][:alias:]` (Use when calling from the client side with a client API key)\n- `chainType[:]:alias:`", "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/WalletsTransactionV2025ResponseDTOClass" } } } }, "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::[:][:alias:]` (walletType defaults to 'smart')\n- `userId::[:][:alias:]` (white label user example)\n- `phoneNumber::[:][:alias:]`\n- `twitter::[:][:alias:]`\n- `x::[:][:alias:]`\n- `me:[:][:alias:]` (Use when calling from the client side with a client API key)\n- `chainType[:]:alias:`", "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/WalletsTransactionV2025ResponseDTOClass" } } } }, "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::[:][:alias:]` (walletType defaults to 'smart')\n- `userId::[:][:alias:]` (white label user example)\n- `phoneNumber::[:][:alias:]`\n- `twitter::[:][:alias:]`\n- `x::[:][:alias:]`\n- `me:[:][:alias:]` (Use when calling from the client side with a client API key)\n- `chainType[:]:alias:`", "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/CreateTransactionV2025DTOClass" } } } }, "responses": { "201": { "description": "The transaction has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsTransactionV2025ResponseDTOClass" } } } }, "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. Optionally filter by date range using ISO 8601 format (e.g., 2025-10-27T00:00:00Z).\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::[:][:alias:]` (walletType defaults to 'smart')\n- `userId::[:][:alias:]` (white label user example)\n- `phoneNumber::[:][:alias:]`\n- `twitter::[:][:alias:]`\n- `x::[:][:alias:]`\n- `me:[:][:alias:]` (Use when calling from the client side with a client API key)\n- `chainType[:]:alias:`", "schema": { "type": "string" } }, { "name": "page", "required": false, "in": "query", "schema": { "default": "1", "type": "string", "allOf": [ { "pattern": "^\\d+$" }, { "pattern": "^[1-9]\\d*$" } ] } }, { "name": "perPage", "required": false, "in": "query", "schema": { "default": "10", "type": "string", "allOf": [ { "pattern": "^\\d+$" }, { "pattern": "^[1-9]\\d*$" } ] } }, { "name": "dateFrom", "required": false, "in": "query", "schema": { "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$", "type": "string" } }, { "name": "dateTo", "required": false, "in": "query", "schema": { "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$", "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/{transactionId}": { "get": { "operationId": "WalletsSendTokenV2025Controller-getTransferTransaction-2", "summary": "Get Transfer Transaction", "description": "Retrieves the current status and details of a specific transfer 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::[:][:alias:]` (walletType defaults to 'smart')\n- `userId::[:][:alias:]` (white label user example)\n- `phoneNumber::[:][:alias:]`\n- `twitter::[:][:alias:]`\n- `x::[:][:alias:]`\n- `me:[:][:alias:]` (Use when calling from the client side with a client API key)\n- `chainType[:]:alias:`", "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`", "schema": { "type": "string" } }, { "name": "transactionId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The transfer transaction has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsTransactionV2025ResponseDTOClass" } } } }, "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}/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::[:][:alias:]` (walletType defaults to 'smart')\n- `userId::[:][:alias:]` (white label user example)\n- `phoneNumber::[:][:alias:]`\n- `twitter::[:][:alias:]`\n- `x::[:][:alias:]`\n- `me:[:][:alias:]` (Use when calling from the client side with a client API key)\n- `chainType[:]:alias:`", "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`", "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/SendOrDepositTokenV2025DTOClass" } } } }, "responses": { "201": { "description": "The transaction has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsTransactionV2025ResponseDTOClass" } } } } } } }, "/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::[:][:alias:]` (walletType defaults to 'smart')\n- `userId::[:][:alias:]` (white label user example)\n- `phoneNumber::[:][:alias:]`\n- `twitter::[:][:alias:]`\n- `x::[:][:alias:]`\n- `me:[:][:alias:]` (Use when calling from the client side with a client API key)\n- `chainType[:]:alias:`", "schema": { "type": "string" } }, { "name": "signer", "required": true, "in": "path", "description": "The locator for the signer", "schema": { "title": "Signer Locator", "type": "string" }, "example": "external-wallet:0x1234567890123456789012345678901234567890" } ], "responses": { "200": { "description": "The delegated signer has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DelegatedSignerV2025DtoClass" } } } }, "404": { "description": "Returns an error if the wallet or signer not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } }, "delete": { "operationId": "WalletsV2025Controller-removeDelegatedSigner-2", "summary": "Remove Delegated Signer", "description": "Remove an operational signer from a smart wallet.\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::[:][:alias:]` (walletType defaults to 'smart')\n- `userId::[:][:alias:]` (white label user example)\n- `phoneNumber::[:][:alias:]`\n- `twitter::[:][:alias:]`\n- `x::[:][:alias:]`\n- `me:[:][:alias:]` (Use when calling from the client side with a client API key)\n- `chainType[:]:alias:`", "schema": { "type": "string" } }, { "name": "signer", "required": true, "in": "path", "description": "The locator for the signer", "schema": { "title": "Signer Locator", "type": "string" }, "example": "external-wallet:0x1234567890123456789012345678901234567890" }, { "name": "chain", "required": false, "in": "query", "description": "The chain to remove the signer from. Required for EVM wallets.", "schema": {} } ], "responses": { "200": { "description": "The delegated signer removal has been initiated.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsTransactionV2025ResponseDTOClass" } } } }, "400": { "description": "Returns an error if the signer cannot be removed (e.g. admin signer or unsupported wallet type)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "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::[:][:alias:]` (walletType defaults to 'smart')\n- `userId::[:][:alias:]` (white label user example)\n- `phoneNumber::[:][:alias:]`\n- `twitter::[:][:alias:]`\n- `x::[:][:alias:]`\n- `me:[:][:alias:]` (Use when calling from the client side with a client API key)\n- `chainType[:]:alias:`", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSignerV2025InputDtoClass" } } } }, "responses": { "201": { "description": "The delegated signer has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DelegatedSignerV2025DtoClass" } } } }, "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::[:][:alias:]` (walletType defaults to 'smart')\n- `userId::[:][:alias:]` (white label user example)\n- `phoneNumber::[:][:alias:]`\n- `twitter::[:][:alias:]`\n- `x::[:][:alias:]`\n- `me:[:][:alias:]` (Use when calling from the client side with a client API key)\n- `chainType[:]:alias:`", "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::[:][:alias:]` (walletType defaults to 'smart')\n- `userId::[:][:alias:]` (white label user example)\n- `phoneNumber::[:][:alias:]`\n- `twitter::[:][:alias:]`\n- `x::[:][:alias:]`\n- `me:[:][:alias:]` (Use when calling from the client side with a client API key)\n- `chainType[:]:alias:`", "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::[:][:alias:]` (walletType defaults to 'smart')\n- `userId::[:][:alias:]` (white label user example)\n- `phoneNumber::[:][:alias:]`\n- `twitter::[:][:alias:]`\n- `x::[:][:alias:]`\n- `me:[:][:alias:]` (Use when calling from the client side with a client API key)\n- `chainType[:]:alias:`", "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::[:][:alias:]` (walletType defaults to 'smart')\n- `userId::[:][:alias:]` (white label user example)\n- `phoneNumber::[:][:alias:]`\n- `twitter::[:][:alias:]`\n- `x::[:][:alias:]`\n- `me:[:][:alias:]` (Use when calling from the client side with a client API key)\n- `chainType[:]:alias:`", "schema": { "type": "string" } }, { "name": "page", "required": false, "in": "query", "schema": { "type": "string", "allOf": [ { "pattern": "^\\d+$" }, { "pattern": "^[1-9]\\d*$" } ] } }, { "name": "perPage", "required": false, "in": "query", "schema": { "type": "string", "allOf": [ { "pattern": "^\\d+$" }, { "pattern": "^[1-9]\\d*$" } ] } } ], "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::[:][:alias:]` (walletType defaults to 'smart')\n- `userId::[:][:alias:]` (white label user example)\n- `phoneNumber::[:][:alias:]`\n- `twitter::[:][:alias:]`\n- `x::[:][:alias:]`\n- `me:[:][:alias:]` (Use when calling from the client side with a client API key)\n- `chainType[:]:alias:`", "schema": { "type": "string" } }, { "name": "chains", "required": false, "in": "query", "description": "The blockchain(s) to query. Comma-separated list of chains", "schema": { "type": "string" } }, { "name": "tokens", "required": true, "in": "query", "description": "The tokens to query. Comma-separated list of either tokens or token locator strings", "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::[:][:alias:]` (walletType defaults to 'smart')\n- `userId::[:][:alias:]` (white label user example)\n- `phoneNumber::[:][:alias:]`\n- `twitter::[:][:alias:]`\n- `x::[:][:alias:]`\n- `me:[:][:alias:]` (Use when calling from the client side with a client API key)\n- `chainType[:]:alias:`", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The record has been successfully retreived.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV2025ResponseDTOClass" } } } }, "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/CreateWalletV2025DTOClass" } } } }, "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/WalletV2025ResponseDTOClass" } } } }, "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" } } } } } } }, "/2024-09-26/wallets/{walletLocator}/balances": { "get": { "operationId": "BalanceController-getBalanceForLocator-5", "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)", "schema": { "type": "string" } }, { "name": "chains", "required": false, "in": "query", "description": "The blockchain(s) to query. Comma-separated list of chains", "schema": { "type": "string" } }, { "name": "tokens", "required": true, "in": "query", "description": "The tokens to query. Comma-separated list", "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-5", "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)", "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" } } } } } } } }, "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": { "CreateOrderInputDTO": { "anyOf": [ { "type": "object", "properties": { "recipient": { "anyOf": [ { "type": "object", "properties": { "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "physicalAddress": { "description": "International mailing address using ISO 3166-1 alpha-2 country codes", "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 100 }, "line1": { "type": "string", "minLength": 1, "maxLength": 200 }, "line2": { "default": "", "type": "string", "maxLength": 60 }, "city": { "type": "string", "minLength": 1, "maxLength": 50 }, "state": { "description": "Deprecated, use stateOrRegion instead", "type": "string", "maxLength": 50 }, "stateOrRegion": { "type": "string", "maxLength": 50 }, "postalCode": { "type": "string", "minLength": 1, "maxLength": 20 }, "country": { "type": "string", "minLength": 2, "maxLength": 2 } }, "required": ["name", "line1", "city", "postalCode", "country"] } }, "required": ["email"], "additionalProperties": false }, { "type": "object", "properties": { "walletAddress": { "type": "string" }, "physicalAddress": { "description": "International mailing address using ISO 3166-1 alpha-2 country codes", "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 100 }, "line1": { "type": "string", "minLength": 1, "maxLength": 200 }, "line2": { "default": "", "type": "string", "maxLength": 60 }, "city": { "type": "string", "minLength": 1, "maxLength": 50 }, "state": { "description": "Deprecated, use stateOrRegion instead", "type": "string", "maxLength": 50 }, "stateOrRegion": { "type": "string", "maxLength": 50 }, "postalCode": { "type": "string", "minLength": 1, "maxLength": 20 }, "country": { "type": "string", "minLength": 2, "maxLength": 2 } }, "required": ["name", "line1", "city", "postalCode", "country"] } }, "required": ["walletAddress"], "additionalProperties": false }, { "type": "object", "properties": { "bankAccountId": { "type": "string" } }, "required": ["bankAccountId"], "additionalProperties": false } ], "description": "Recipient of the items being purchased. You can specify a wallet address, email, or bank account id, either explicitly or using a 'locator'. If you pass an email, Crossmint will create a custodial wallet address for the user on the fly, that they can later log in to. If no recipient is passed, an order will be created with the status 'missing-recipient', until you pass one." }, "locale": { "default": "en-US", "type": "string", "enum": [ "en-US", "es-ES", "fr-FR", "it-IT", "ko-KR", "pt-PT", "ja-JP", "zh-CN", "zh-TW", "de-DE", "ru-RU", "tr-TR", "uk-UA", "th-TH", "vi-VN", "Klingon" ], "description": "Locale for the checkout, in IETF BCP 47. It impacts the email receipt language. Ensure your UI is set to the same language as specified here. Throws an error if passed an invalid language." }, "payment": { "oneOf": [ { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["solana"] }, "currency": { "type": "string" }, "payerAddress": { "description": "A Solana public key.", "type": "string", "pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["arbitrum-sepolia"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["arc-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["avalanche-fuji"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["curtis"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["base-goerli"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["base-sepolia"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["bsc-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["chiliz-spicy-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["coti-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["ethereum-goerli"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["ethereum-sepolia"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["hedera-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["hypersonic-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["lightlink-pegasus"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["mantle-sepolia"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["optimism-goerli"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["optimism-sepolia"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["polygon-amoy"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["polygon-mumbai"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["rari-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["scroll-sepolia"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["sei-atlantic-2-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["shape-sepolia"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["skale-nebula-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["soneium-minato-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["space-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["story-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["verify-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["viction-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["xai-sepolia-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["zkatana"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["zkyoto"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["zora-goerli"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["zora-sepolia"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["mode-sepolia"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["u2u-nebulas"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["zenchain-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["abstract-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["world-chain-sepolia"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["plume-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["flow-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["tempo-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["ethereum"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["polygon"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["bsc"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["optimism"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["arbitrum"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["base"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["zora"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["arbitrumnova"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["astar-zkevm"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["apechain"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["hedera"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["coti"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["lightlink"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["mantle"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["skale-nebula"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["sei-pacific-1"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["chiliz"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["avalanche"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["xai"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["shape"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["rari"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["scroll"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["viction"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["mode"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["space"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["soneium"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["story"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["u2u-solaris"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["abstract"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["world-chain"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["plume"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["flow"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["tempo"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["sui"] }, "currency": { "type": "string" }, "payerAddress": { "description": "A Sui wallet address.", "type": "string", "pattern": "^0x[a-fA-F0-9]{64}$" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["stripe-payment-element"] }, "currency": { "type": "string", "enum": [ "usd", "eur", "aud", "gbp", "jpy", "sgd", "hkd", "krw", "inr", "vnd" ] } }, "required": ["method"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["checkoutcom-flow"] }, "currency": { "type": "string", "enum": [ "usd", "eur", "aud", "gbp", "jpy", "sgd", "hkd", "krw", "inr", "vnd" ] } }, "required": ["method"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["card-token"] }, "currency": { "type": "string", "enum": [ "usd", "eur", "aud", "gbp", "jpy", "sgd", "hkd", "krw", "inr", "vnd" ] } }, "required": ["method"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["basis-theory"] }, "currency": { "type": "string", "enum": [ "usd", "eur", "aud", "gbp", "jpy", "sgd", "hkd", "krw", "inr", "vnd" ] } }, "required": ["method"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["card"] }, "currency": { "type": "string", "enum": [ "usd", "eur", "aud", "gbp", "jpy", "sgd", "hkd", "krw", "inr", "vnd" ] } }, "required": ["method"] } ] }, "metadata": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/CreateOrderInputDTO__schema0" } }, "lineItems": {} }, "required": ["payment", "lineItems"] }, { "type": "object", "properties": { "recipient": { "anyOf": [ { "type": "object", "properties": { "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "physicalAddress": { "description": "International mailing address using ISO 3166-1 alpha-2 country codes", "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 100 }, "line1": { "type": "string", "minLength": 1, "maxLength": 200 }, "line2": { "default": "", "type": "string", "maxLength": 60 }, "city": { "type": "string", "minLength": 1, "maxLength": 50 }, "state": { "description": "Deprecated, use stateOrRegion instead", "type": "string", "maxLength": 50 }, "stateOrRegion": { "type": "string", "maxLength": 50 }, "postalCode": { "type": "string", "minLength": 1, "maxLength": 20 }, "country": { "type": "string", "minLength": 2, "maxLength": 2 } }, "required": ["name", "line1", "city", "postalCode", "country"] } }, "required": ["email"], "additionalProperties": false }, { "type": "object", "properties": { "walletAddress": { "type": "string" }, "physicalAddress": { "description": "International mailing address using ISO 3166-1 alpha-2 country codes", "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 100 }, "line1": { "type": "string", "minLength": 1, "maxLength": 200 }, "line2": { "default": "", "type": "string", "maxLength": 60 }, "city": { "type": "string", "minLength": 1, "maxLength": 50 }, "state": { "description": "Deprecated, use stateOrRegion instead", "type": "string", "maxLength": 50 }, "stateOrRegion": { "type": "string", "maxLength": 50 }, "postalCode": { "type": "string", "minLength": 1, "maxLength": 20 }, "country": { "type": "string", "minLength": 2, "maxLength": 2 } }, "required": ["name", "line1", "city", "postalCode", "country"] } }, "required": ["walletAddress"], "additionalProperties": false }, { "type": "object", "properties": { "bankAccountId": { "type": "string" } }, "required": ["bankAccountId"], "additionalProperties": false } ], "description": "Recipient of the items being purchased. You can specify a wallet address, email, or bank account id, either explicitly or using a 'locator'. If you pass an email, Crossmint will create a custodial wallet address for the user on the fly, that they can later log in to. If no recipient is passed, an order will be created with the status 'missing-recipient', until you pass one." }, "locale": { "default": "en-US", "type": "string", "enum": [ "en-US", "es-ES", "fr-FR", "it-IT", "ko-KR", "pt-PT", "ja-JP", "zh-CN", "zh-TW", "de-DE", "ru-RU", "tr-TR", "uk-UA", "th-TH", "vi-VN", "Klingon" ], "description": "Locale for the checkout, in IETF BCP 47. It impacts the email receipt language. Ensure your UI is set to the same language as specified here. Throws an error if passed an invalid language." }, "payment": { "oneOf": [ { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["solana"] }, "currency": { "type": "string" }, "payerAddress": { "description": "A Solana public key.", "type": "string", "pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["arbitrum-sepolia"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["arc-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["avalanche-fuji"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["curtis"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["base-goerli"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["base-sepolia"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["bsc-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["chiliz-spicy-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["coti-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["ethereum-goerli"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["ethereum-sepolia"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["hedera-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["hypersonic-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["lightlink-pegasus"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["mantle-sepolia"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["optimism-goerli"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["optimism-sepolia"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["polygon-amoy"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["polygon-mumbai"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["rari-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["scroll-sepolia"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["sei-atlantic-2-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["shape-sepolia"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["skale-nebula-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["soneium-minato-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["space-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["story-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["verify-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["viction-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["xai-sepolia-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["zkatana"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["zkyoto"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["zora-goerli"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["zora-sepolia"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["mode-sepolia"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["u2u-nebulas"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["zenchain-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["abstract-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["world-chain-sepolia"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["plume-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["flow-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["tempo-testnet"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["ethereum"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["polygon"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["bsc"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["optimism"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["arbitrum"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["base"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["zora"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["arbitrumnova"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["astar-zkevm"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["apechain"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["hedera"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["coti"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["lightlink"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["mantle"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["skale-nebula"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["sei-pacific-1"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["chiliz"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["avalanche"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["xai"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["shape"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["rari"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["scroll"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["viction"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["mode"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["space"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["soneium"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["story"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["u2u-solaris"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["abstract"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["world-chain"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["plume"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["flow"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["tempo"] }, "currency": { "type": "string" }, "payerAddress": { "description": "An EVM wallet address.", "type": "string" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["sui"] }, "currency": { "type": "string" }, "payerAddress": { "description": "A Sui wallet address.", "type": "string", "pattern": "^0x[a-fA-F0-9]{64}$" } }, "required": ["method", "currency"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["stripe-payment-element"] }, "currency": { "type": "string", "enum": [ "usd", "eur", "aud", "gbp", "jpy", "sgd", "hkd", "krw", "inr", "vnd" ] } }, "required": ["method"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["checkoutcom-flow"] }, "currency": { "type": "string", "enum": [ "usd", "eur", "aud", "gbp", "jpy", "sgd", "hkd", "krw", "inr", "vnd" ] } }, "required": ["method"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["card-token"] }, "currency": { "type": "string", "enum": [ "usd", "eur", "aud", "gbp", "jpy", "sgd", "hkd", "krw", "inr", "vnd" ] } }, "required": ["method"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["basis-theory"] }, "currency": { "type": "string", "enum": [ "usd", "eur", "aud", "gbp", "jpy", "sgd", "hkd", "krw", "inr", "vnd" ] } }, "required": ["method"] }, { "type": "object", "properties": { "receiptEmail": { "description": "Email that the receipt will be sent to.", "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "method": { "type": "string", "enum": ["card"] }, "currency": { "type": "string", "enum": [ "usd", "eur", "aud", "gbp", "jpy", "sgd", "hkd", "krw", "inr", "vnd" ] } }, "required": ["method"] } ] }, "metadata": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/CreateOrderInputDTO__schema0" } }, "externalOrder": {} }, "required": ["payment", "externalOrder"] } ] }, "CreateOrderInputDTO__schema0": { "anyOf": [ { "anyOf": [ { "type": "string", "nullable": true }, { "type": "number", "nullable": true }, { "type": "boolean", "nullable": true } ] }, { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/CreateOrderInputDTO__schema0" } }, { "type": "array", "items": { "$ref": "#/components/schemas/CreateOrderInputDTO__schema0" } } ] }, "CreateSignatureV2025DTO": { "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": { "description": "The locator for the signer who will submit this signature. Defaults to the wallet's admin signer.", "type": "string", "title": "Signer Locator", "example": "external-wallet:0x1234567890123456789012345678901234567890" }, "chain": { "description": "The chain on which the signature will be submitted. Required for EVM wallets, optional for others.", "type": "string", "enum": [ "arbitrum-sepolia", "arc-testnet", "avalanche-fuji", "curtis", "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", "plume-testnet", "flow-testnet", "tempo-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "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", "plume", "flow", "tempo" ] } }, "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": "The recipient address for this transaction call" }, "salt": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" } }, "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": true } }, "required": ["domain", "types", "primaryType", "message"] }, "chain": { "type": "string", "enum": [ "arbitrum-sepolia", "arc-testnet", "avalanche-fuji", "curtis", "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", "plume-testnet", "flow-testnet", "tempo-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "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", "plume", "flow", "tempo" ], "description": "The chain on which the signature will be submitted" }, "signer": { "description": "The locator for the signer who will approve this signature", "type": "string", "title": "Signer Locator", "example": "external-wallet:0x1234567890123456789012345678901234567890" }, "isSmartWalletSignature": { "description": "Whether the signature corresponds to the smart wallet or to the signer. If true, the signature will be wrapped with ERC6492.", "type": "boolean" } }, "required": ["typedData", "chain"], "description": "Parameters for a typed data signature" } }, "required": ["type", "params"], "title": "Typed Data Signature", "description": "Parameters for a typed data signature" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["auth-entries"] }, "params": { "type": "object", "properties": { "authorizationEntries": { "type": "string", "description": "Base64-encoded XDR array of all authorization entries from the SEP-45 challenge (4-byte BE count prefix + concatenated entry XDR)" }, "signer": { "description": "The locator for the signer who will approve this entry. Defaults to the wallet's admin signer.", "type": "string", "title": "Signer Locator", "example": "external-wallet:0x1234567890123456789012345678901234567890" } }, "required": ["authorizationEntries"], "description": "Parameters for signing Stellar authorization entries (SEP-45)" } }, "required": ["type", "params"], "title": "Auth Entries Signature", "description": "Parameters for signing Stellar authorization entries (SEP-45)" } ], "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" } } }, "CreateSignerV2025InputDtoClass": { "anyOf": [ { "type": "object", "properties": { "signer": { "anyOf": [ { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for the Passkey signer type", "enum": ["passkey"] }, "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": "S component of the signature as a stringified bigint" }, "y": { "type": "string", "description": "S component of the signature as a stringified 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 Signer", "example": { "type": "passkey", "id": "cWtP7gmZbd98HbKUuGXx5Q", "name": "hgranger", "publicKey": { "x": "38035223810536273945556366218149112558607829411547667975304293530457502824247", "y": "91117823763706733837104303008228095481082989039135234750508288790583476078729" } } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for API key signer type", "enum": ["api-key"] } }, "required": ["type"], "description": "A custodial signer provided by Crossmint and backed by our secure infrastructure. Contact sales (https://www.crossmint.com/contact/sales) for access.", "title": "API Key Signer", "example": { "type": "api-key" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for external wallet signer type", "enum": ["external-wallet"] }, "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 Signer", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for server signer type", "enum": ["server"] }, "address": { "type": "string", "description": "The blockchain address of the server signer" } }, "required": ["type", "address"], "description": "A server-managed blockchain signer", "title": "Server Signer", "example": { "type": "server", "address": "0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for email signer type", "enum": ["email"] }, "email": { "description": "The email address for the signer", "type": "string" } }, "required": ["type", "email"], "description": "An email-based signer that can be used to sign transactions", "title": "Email Signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for phone signer type", "enum": ["phone"] }, "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" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for device signer type", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "The y coordinate of the p256 public key" }, "y": { "type": "string", "description": "The y coordinate of the p256 public key" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey"], "description": "A device signer that can be used as a delegated signer", "title": "Device Signer", "example": { "type": "device", "publicKey": { "x": "decimal_string_x", "y": "decimal_string_y" }, "name": "my-device" } } ] }, { "type": "string", "title": "Signer Locator", "description": "The locator for the signer", "example": "external-wallet:0x1234567890123456789012345678901234567890" } ] }, "chain": { "description": "The chain where the signer will be registered" }, "expiresAt": { "description": "The expiry date of the signer in ISO 8601 format", "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" } }, "required": ["signer", "chain"], "description": "Parameters for creating a EVM delegated signer", "title": "EVM" }, { "type": "object", "properties": { "signer": { "anyOf": [ { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for the Passkey signer type", "enum": ["passkey"] }, "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": "S component of the signature as a stringified bigint" }, "y": { "type": "string", "description": "S component of the signature as a stringified 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 Signer", "example": { "type": "passkey", "id": "cWtP7gmZbd98HbKUuGXx5Q", "name": "hgranger", "publicKey": { "x": "38035223810536273945556366218149112558607829411547667975304293530457502824247", "y": "91117823763706733837104303008228095481082989039135234750508288790583476078729" } } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for API key signer type", "enum": ["api-key"] } }, "required": ["type"], "description": "A custodial signer provided by Crossmint and backed by our secure infrastructure. Contact sales (https://www.crossmint.com/contact/sales) for access.", "title": "API Key Signer", "example": { "type": "api-key" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for external wallet signer type", "enum": ["external-wallet"] }, "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 Signer", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for server signer type", "enum": ["server"] }, "address": { "type": "string", "description": "The blockchain address of the server signer" } }, "required": ["type", "address"], "description": "A server-managed blockchain signer", "title": "Server Signer", "example": { "type": "server", "address": "0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for email signer type", "enum": ["email"] }, "email": { "description": "The email address for the signer", "type": "string" } }, "required": ["type", "email"], "description": "An email-based signer that can be used to sign transactions", "title": "Email Signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for phone signer type", "enum": ["phone"] }, "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" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for device signer type", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "The y coordinate of the p256 public key" }, "y": { "type": "string", "description": "The y coordinate of the p256 public key" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey"], "description": "A device signer that can be used as a delegated signer", "title": "Device Signer", "example": { "type": "device", "publicKey": { "x": "decimal_string_x", "y": "decimal_string_y" }, "name": "my-device" } } ] }, { "type": "string", "title": "Signer Locator", "description": "The locator for the signer", "example": "external-wallet:0x1234567890123456789012345678901234567890" } ] }, "scopes": { "description": "Optional array of scopes to restrict the signer's capabilities", "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "enum": ["transfer"] }, "tokenLocator": { "type": "string" }, "recipients": { "type": "array", "items": { "type": "string" } }, "spendingLimit": { "type": "object", "properties": { "amount": { "type": "string" }, "interval": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["amount"] } }, "required": ["type", "tokenLocator"], "title": "Transfer", "description": "Scope to transfer tokens with optional spending limits and recipient restrictions", "example": { "type": "transfer", "tokenLocator": "stellar:usdc", "recipients": ["GDUCX62IF76FFIYRNI25LJDS2V43QEZDY4YNF2DJWVIASN5LKX76Q4TW"], "spendingLimit": { "amount": "100", "interval": 86400 } } }, "example": { "type": "transfer", "tokenLocator": "solana:sol", "spendingLimit": { "amount": "1" } } }, "expiresAt": { "description": "The expiry date of the signer in ISO 8601 format", "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" } }, "required": ["signer"], "description": "Parameters for creating a Solana delegated signer", "title": "Solana" }, { "type": "object", "properties": { "signer": { "anyOf": [ { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for the Passkey signer type", "enum": ["passkey"] }, "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": "S component of the signature as a stringified bigint" }, "y": { "type": "string", "description": "S component of the signature as a stringified 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 Signer", "example": { "type": "passkey", "id": "cWtP7gmZbd98HbKUuGXx5Q", "name": "hgranger", "publicKey": { "x": "38035223810536273945556366218149112558607829411547667975304293530457502824247", "y": "91117823763706733837104303008228095481082989039135234750508288790583476078729" } } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for API key signer type", "enum": ["api-key"] } }, "required": ["type"], "description": "A custodial signer provided by Crossmint and backed by our secure infrastructure. Contact sales (https://www.crossmint.com/contact/sales) for access.", "title": "API Key Signer", "example": { "type": "api-key" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for external wallet signer type", "enum": ["external-wallet"] }, "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 Signer", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for server signer type", "enum": ["server"] }, "address": { "type": "string", "description": "The blockchain address of the server signer" } }, "required": ["type", "address"], "description": "A server-managed blockchain signer", "title": "Server Signer", "example": { "type": "server", "address": "0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for email signer type", "enum": ["email"] }, "email": { "description": "The email address for the signer", "type": "string" } }, "required": ["type", "email"], "description": "An email-based signer that can be used to sign transactions", "title": "Email Signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for phone signer type", "enum": ["phone"] }, "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" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for device signer type", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "The y coordinate of the p256 public key" }, "y": { "type": "string", "description": "The y coordinate of the p256 public key" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey"], "description": "A device signer that can be used as a delegated signer", "title": "Device Signer", "example": { "type": "device", "publicKey": { "x": "decimal_string_x", "y": "decimal_string_y" }, "name": "my-device" } } ] }, { "type": "string", "title": "Signer Locator", "description": "The locator for the signer", "example": "external-wallet:0x1234567890123456789012345678901234567890" } ] }, "scopes": { "description": "Optional array of scopes to restrict the signer's capabilities", "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "enum": ["transfer"] }, "tokenLocator": { "type": "string" }, "recipients": { "type": "array", "items": { "type": "string" } }, "spendingLimit": { "type": "object", "properties": { "amount": { "type": "string" }, "interval": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["amount"] } }, "required": ["type", "tokenLocator"], "title": "Transfer", "description": "Scope to transfer tokens with optional spending limits and recipient restrictions", "example": { "type": "transfer", "tokenLocator": "stellar:usdc", "recipients": ["GDUCX62IF76FFIYRNI25LJDS2V43QEZDY4YNF2DJWVIASN5LKX76Q4TW"], "spendingLimit": { "amount": "100", "interval": 86400 } } }, "example": { "type": "transfer", "tokenLocator": "stellar:usdc", "spendingLimit": { "amount": "100" } } }, "expiresAt": { "description": "The expiry date of the signer in ISO 8601 format", "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" } }, "required": ["signer"], "description": "Parameters for creating a Stellar delegated signer", "title": "Stellar" } ] }, "CreateTransactionV2025DTOClass": { "anyOf": [ { "type": "object", "properties": { "params": { "type": "object", "properties": { "transaction": { "type": "string", "description": "Base58 encoded serialized Solana transaction" }, "requiredSigners": { "description": "Optional array of additional signers required for the transaction", "type": "array", "items": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer", "example": "external-wallet:0x1234567890123456789012345678901234567890" } }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer", "example": "external-wallet:0x1234567890123456789012345678901234567890" } }, "required": ["transaction"] } }, "required": ["params"], "title": "Solana Smart Wallet", "description": "Parameters for a transaction from a Solana Smart Wallet" }, { "type": "object", "properties": { "params": { "type": "object", "properties": { "transaction": { "type": "string", "description": "Base58 encoded serialized Solana transaction" }, "requiredSigners": { "description": "Optional array of additional signers required for the transaction", "type": "array", "items": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer", "example": "external-wallet:0x1234567890123456789012345678901234567890" } } }, "required": ["transaction"] } }, "required": ["params"], "title": "Solana MPC Wallet", "description": "Parameters for a transaction from a Solana MPC Wallet" }, { "type": "object", "properties": { "params": { "type": "object", "properties": { "calls": { "minItems": 1, "type": "array", "items": { "anyOf": [ { "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": { "description": "The ABI for the function to call", "type": "array", "items": {} }, "args": { "type": "array", "items": {}, "description": "The arguments to pass to the function" }, "value": { "default": "0", "description": "The amount of native token to send in wei", "type": "string" } }, "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" }, "description": "Array of transaction calls to execute" }, "chain": { "description": "The chain where the signer will be registered" }, "signer": { "description": "The locator for the signer who will submit this transaction", "type": "string", "title": "Signer Locator", "example": "external-wallet:0x1234567890123456789012345678901234567890" } }, "required": ["calls", "chain"] } }, "required": ["params"], "title": "EVM Smart Wallet", "description": "Parameters for a transaction from an EVM Smart Wallet" }, { "type": "object", "properties": { "params": { "type": "object", "properties": { "call": { "anyOf": [ { "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": { "description": "The ABI for the function to call", "type": "array", "items": {} }, "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", "arc-testnet", "avalanche-fuji", "curtis", "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", "plume-testnet", "flow-testnet", "tempo-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "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", "plume", "flow", "tempo" ], "description": "The chain on which the signature will be submitted" } }, "required": ["call", "chain"], "additionalProperties": false, "title": "EVM MPC wallet", "description": "Parameters for a transaction from an EVM MPC Wallet" } }, "required": ["params"], "title": "EVM MPC Wallet", "description": "Parameters for a transaction from an EVM MPC Wallet" }, { "type": "object", "properties": { "params": { "type": "object", "properties": { "transaction": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "description": "The type of transaction to execute", "enum": ["contract-call"] }, "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": { "description": "The memo for the transaction", "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["text"] }, "value": { "type": "string", "maxLength": 28 } }, "required": ["type", "value"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["id"] }, "value": { "type": "string" } }, "required": ["type", "value"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["hash"] }, "value": { "type": "string" } }, "required": ["type", "value"] } ], "example": { "type": "text", "value": "Hello, world!" } }, "args": { "type": "object", "additionalProperties": true, "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", "description": "The type of transaction to execute", "enum": ["upgrade-wallet"] } }, "required": ["type"], "title": "Stellar upgrade wallet transaction", "description": "Upgrades the wallet's on-chain contract to a new version. The wallet will be locked until a migrate-wallet transaction completes the upgrade.", "example": { "type": "upgrade-wallet" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "The type of transaction to execute", "enum": ["migrate-wallet"] } }, "required": ["type"], "title": "Stellar migrate wallet transaction", "description": "Completes a pending wallet upgrade by migrating on-chain signer data to the new contract version. Must be called after upgrade-wallet.", "example": { "type": "migrate-wallet" } } ], "description": "Stellar transaction to execute" }, "signer": { "description": "The locator for the signer who will submit this transaction. Defaults to the admin signer.", "type": "string", "title": "Signer Locator", "example": "external-wallet:0x1234567890123456789012345678901234567890" } }, "required": ["transaction"], "additionalProperties": false, "title": "Stellar smart wallet", "description": "Parameters for a transaction from a Stellar Smart Wallet" } }, "required": ["params"], "title": "Stellar Smart Wallet", "description": "Parameters for a transaction from a Stellar Smart Wallet" } ], "description": "Input schema for creating a new transaction. The parameters vary based on the wallet type (EVM vs Solana vs Stellar)." }, "CreateWalletV2025DTOClass": { "anyOf": [ { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["evm"] }, "type": { "default": "smart", "type": "string", "enum": ["smart"] }, "config": { "type": "object", "properties": { "adminSigner": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for external wallet signer type", "enum": ["external-wallet"] }, "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 Signer", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for server signer type", "enum": ["server"] }, "address": { "type": "string", "description": "The blockchain address of the server signer" } }, "required": ["type", "address"], "description": "A server-managed blockchain signer", "title": "Server Signer", "example": { "type": "server", "address": "0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for API key signer type", "enum": ["api-key"] } }, "required": ["type"], "description": "A custodial signer provided by Crossmint and backed by our secure infrastructure. Contact sales (https://www.crossmint.com/contact/sales) for access.", "title": "API Key Signer", "example": { "type": "api-key" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for the Passkey signer type", "enum": ["passkey"] }, "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": "S component of the signature as a stringified bigint" }, "y": { "type": "string", "description": "S component of the signature as a stringified 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 Signer", "example": { "type": "passkey", "id": "cWtP7gmZbd98HbKUuGXx5Q", "name": "hgranger", "publicKey": { "x": "38035223810536273945556366218149112558607829411547667975304293530457502824247", "y": "91117823763706733837104303008228095481082989039135234750508288790583476078729" } } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for email signer type", "enum": ["email"] }, "email": { "description": "The email address for the signer", "type": "string" } }, "required": ["type", "email"], "description": "An email-based signer that can be used to sign transactions", "title": "Email Signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for phone signer type", "enum": ["phone"] }, "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": { "description": "Optional array of delegated signers to be created for the wallet", "type": "array", "items": { "type": "object", "properties": { "signer": { "anyOf": [ { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for the Passkey signer type", "enum": ["passkey"] }, "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": "S component of the signature as a stringified bigint" }, "y": { "type": "string", "description": "S component of the signature as a stringified 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 Signer", "example": { "type": "passkey", "id": "cWtP7gmZbd98HbKUuGXx5Q", "name": "hgranger", "publicKey": { "x": "38035223810536273945556366218149112558607829411547667975304293530457502824247", "y": "91117823763706733837104303008228095481082989039135234750508288790583476078729" } } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for API key signer type", "enum": ["api-key"] } }, "required": ["type"], "description": "A custodial signer provided by Crossmint and backed by our secure infrastructure. Contact sales (https://www.crossmint.com/contact/sales) for access.", "title": "API Key Signer", "example": { "type": "api-key" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for external wallet signer type", "enum": ["external-wallet"] }, "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 Signer", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for server signer type", "enum": ["server"] }, "address": { "type": "string", "description": "The blockchain address of the server signer" } }, "required": ["type", "address"], "description": "A server-managed blockchain signer", "title": "Server Signer", "example": { "type": "server", "address": "0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for email signer type", "enum": ["email"] }, "email": { "description": "The email address for the signer", "type": "string" } }, "required": ["type", "email"], "description": "An email-based signer that can be used to sign transactions", "title": "Email Signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for phone signer type", "enum": ["phone"] }, "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" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for device signer type", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "The y coordinate of the p256 public key" }, "y": { "type": "string", "description": "The y coordinate of the p256 public key" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey"], "description": "A device signer that can be used as a delegated signer", "title": "Device Signer", "example": { "type": "device", "publicKey": { "x": "decimal_string_x", "y": "decimal_string_y" }, "name": "my-device" } } ] }, { "type": "string", "title": "Signer Locator", "description": "The locator for the signer", "example": "external-wallet:0x1234567890123456789012345678901234567890" } ] }, "expiresAt": { "description": "The expiry date of the signer in ISO 8601 format", "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" } }, "required": ["signer"] } }, "creationSeed": { "description": "The unique wallet seed. By default, the seed is randomly generated.", "type": "string", "example": "0" } }, "required": ["adminSigner"], "additionalProperties": false }, "owner": { "type": "string" }, "alias": { "description": "The wallet alias", "type": "string", "example": "my-usdc-wallet" } }, "required": ["chainType", "config"], "title": "EVM smart wallet creation input", "description": "EVM smart wallet creation input" }, { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["evm"] }, "type": { "type": "string", "enum": ["mpc"] }, "config": {}, "owner": { "description": "A user locator can be of the format:\n- `email:`\n- `userId:`\n- `phoneNumber:`\n- `twitter:`\n- `x:`", "type": "string" } }, "required": ["chainType", "type"], "title": "EVM MPC wallet creation input", "description": "EVM MPC wallet creation input" }, { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["solana"] }, "type": { "default": "smart", "type": "string", "enum": ["smart"] }, "config": { "type": "object", "properties": { "adminSigner": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for external wallet signer type", "enum": ["external-wallet"] }, "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 Signer", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for server signer type", "enum": ["server"] }, "address": { "type": "string", "description": "The blockchain address of the server signer" } }, "required": ["type", "address"], "description": "A server-managed blockchain signer", "title": "Server Signer", "example": { "type": "server", "address": "0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for API key signer type", "enum": ["api-key"] } }, "required": ["type"], "description": "A custodial signer provided by Crossmint and backed by our secure infrastructure. Contact sales (https://www.crossmint.com/contact/sales) for access.", "title": "API Key Signer", "example": { "type": "api-key" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for email signer type", "enum": ["email"] }, "email": { "description": "The email address for the signer", "type": "string" } }, "required": ["type", "email"], "description": "An email-based signer that can be used to sign transactions", "title": "Email Signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for phone signer type", "enum": ["phone"] }, "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": { "description": "Optional array of delegated signers to be created for the wallet", "type": "array", "items": { "type": "object", "properties": { "signer": { "anyOf": [ { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for the Passkey signer type", "enum": ["passkey"] }, "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": "S component of the signature as a stringified bigint" }, "y": { "type": "string", "description": "S component of the signature as a stringified 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 Signer", "example": { "type": "passkey", "id": "cWtP7gmZbd98HbKUuGXx5Q", "name": "hgranger", "publicKey": { "x": "38035223810536273945556366218149112558607829411547667975304293530457502824247", "y": "91117823763706733837104303008228095481082989039135234750508288790583476078729" } } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for API key signer type", "enum": ["api-key"] } }, "required": ["type"], "description": "A custodial signer provided by Crossmint and backed by our secure infrastructure. Contact sales (https://www.crossmint.com/contact/sales) for access.", "title": "API Key Signer", "example": { "type": "api-key" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for external wallet signer type", "enum": ["external-wallet"] }, "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 Signer", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for server signer type", "enum": ["server"] }, "address": { "type": "string", "description": "The blockchain address of the server signer" } }, "required": ["type", "address"], "description": "A server-managed blockchain signer", "title": "Server Signer", "example": { "type": "server", "address": "0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for email signer type", "enum": ["email"] }, "email": { "description": "The email address for the signer", "type": "string" } }, "required": ["type", "email"], "description": "An email-based signer that can be used to sign transactions", "title": "Email Signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for phone signer type", "enum": ["phone"] }, "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" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for device signer type", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "The y coordinate of the p256 public key" }, "y": { "type": "string", "description": "The y coordinate of the p256 public key" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey"], "description": "A device signer that can be used as a delegated signer", "title": "Device Signer", "example": { "type": "device", "publicKey": { "x": "decimal_string_x", "y": "decimal_string_y" }, "name": "my-device" } } ] }, { "type": "string", "title": "Signer Locator", "description": "The locator for the signer", "example": "external-wallet:0x1234567890123456789012345678901234567890" } ] }, "scopes": { "description": "Optional array of scopes to restrict the signer's capabilities", "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "enum": ["transfer"] }, "tokenLocator": { "type": "string" }, "recipients": { "type": "array", "items": { "type": "string" } }, "spendingLimit": { "type": "object", "properties": { "amount": { "type": "string" }, "interval": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["amount"] } }, "required": ["type", "tokenLocator"], "title": "Transfer", "description": "Scope to transfer tokens with optional spending limits and recipient restrictions", "example": { "type": "transfer", "tokenLocator": "stellar:usdc", "recipients": [ "GDUCX62IF76FFIYRNI25LJDS2V43QEZDY4YNF2DJWVIASN5LKX76Q4TW" ], "spendingLimit": { "amount": "100", "interval": 86400 } } }, "example": { "type": "transfer", "tokenLocator": "solana:sol", "spendingLimit": { "amount": "1" } } }, "expiresAt": { "description": "The expiry date of the signer in ISO 8601 format", "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" } }, "required": ["signer"], "description": "Parameters for creating a Solana delegated signer", "title": "Solana" } } }, "required": ["adminSigner"], "additionalProperties": false }, "owner": { "type": "string" }, "alias": { "description": "The wallet alias", "type": "string", "example": "my-usdc-wallet" } }, "required": ["chainType", "config"], "title": "Solana smart wallet creation input", "description": "Solana smart wallet creation input" }, { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["solana"] }, "type": { "type": "string", "enum": ["mpc"] }, "config": {}, "owner": { "description": "A user locator can be of the format:\n- `email:`\n- `userId:`\n- `phoneNumber:`\n- `twitter:`\n- `x:`", "type": "string" } }, "required": ["chainType", "type"], "title": "Solana MPC wallet creation input", "description": "Solana MPC wallet creation input" }, { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["aptos"] }, "type": { "default": "mpc", "type": "string", "enum": ["mpc"] }, "config": {}, "owner": { "description": "A user locator can be of the format:\n- `email:`\n- `userId:`\n- `phoneNumber:`\n- `twitter:`\n- `x:`", "type": "string" } }, "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": { "description": "A user locator can be of the format:\n- `email:`\n- `userId:`\n- `phoneNumber:`\n- `twitter:`\n- `x:`", "type": "string" } }, "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": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for external wallet signer type", "enum": ["external-wallet"] }, "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 Signer", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for server signer type", "enum": ["server"] }, "address": { "type": "string", "description": "The blockchain address of the server signer" } }, "required": ["type", "address"], "description": "A server-managed blockchain signer", "title": "Server Signer", "example": { "type": "server", "address": "0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for email signer type", "enum": ["email"] }, "email": { "description": "The email address for the signer", "type": "string" } }, "required": ["type", "email"], "description": "An email-based signer that can be used to sign transactions", "title": "Email Signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for phone signer type", "enum": ["phone"] }, "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" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for API key signer type", "enum": ["api-key"] } }, "required": ["type"], "description": "A custodial signer provided by Crossmint and backed by our secure infrastructure. Contact sales (https://www.crossmint.com/contact/sales) for access.", "title": "API Key Signer", "example": { "type": "api-key" } } ] }, "delegatedSigners": { "description": "Optional array of delegated signers to be created for the wallet", "type": "array", "items": { "type": "object", "properties": { "signer": { "anyOf": [ { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for the Passkey signer type", "enum": ["passkey"] }, "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": "S component of the signature as a stringified bigint" }, "y": { "type": "string", "description": "S component of the signature as a stringified 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 Signer", "example": { "type": "passkey", "id": "cWtP7gmZbd98HbKUuGXx5Q", "name": "hgranger", "publicKey": { "x": "38035223810536273945556366218149112558607829411547667975304293530457502824247", "y": "91117823763706733837104303008228095481082989039135234750508288790583476078729" } } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for API key signer type", "enum": ["api-key"] } }, "required": ["type"], "description": "A custodial signer provided by Crossmint and backed by our secure infrastructure. Contact sales (https://www.crossmint.com/contact/sales) for access.", "title": "API Key Signer", "example": { "type": "api-key" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for external wallet signer type", "enum": ["external-wallet"] }, "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 Signer", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for server signer type", "enum": ["server"] }, "address": { "type": "string", "description": "The blockchain address of the server signer" } }, "required": ["type", "address"], "description": "A server-managed blockchain signer", "title": "Server Signer", "example": { "type": "server", "address": "0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for email signer type", "enum": ["email"] }, "email": { "description": "The email address for the signer", "type": "string" } }, "required": ["type", "email"], "description": "An email-based signer that can be used to sign transactions", "title": "Email Signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for phone signer type", "enum": ["phone"] }, "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" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for device signer type", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "The y coordinate of the p256 public key" }, "y": { "type": "string", "description": "The y coordinate of the p256 public key" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey"], "description": "A device signer that can be used as a delegated signer", "title": "Device Signer", "example": { "type": "device", "publicKey": { "x": "decimal_string_x", "y": "decimal_string_y" }, "name": "my-device" } } ] }, { "type": "string", "title": "Signer Locator", "description": "The locator for the signer", "example": "external-wallet:0x1234567890123456789012345678901234567890" } ] }, "scopes": { "description": "Optional array of scopes to restrict the signer's capabilities", "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "enum": ["transfer"] }, "tokenLocator": { "type": "string" }, "recipients": { "type": "array", "items": { "type": "string" } }, "spendingLimit": { "type": "object", "properties": { "amount": { "type": "string" }, "interval": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["amount"] } }, "required": ["type", "tokenLocator"], "title": "Transfer", "description": "Scope to transfer tokens with optional spending limits and recipient restrictions", "example": { "type": "transfer", "tokenLocator": "stellar:usdc", "recipients": [ "GDUCX62IF76FFIYRNI25LJDS2V43QEZDY4YNF2DJWVIASN5LKX76Q4TW" ], "spendingLimit": { "amount": "100", "interval": 86400 } } }, "example": { "type": "transfer", "tokenLocator": "stellar:usdc", "spendingLimit": { "amount": "100" } } }, "expiresAt": { "description": "The expiry date of the signer in ISO 8601 format", "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" } }, "required": ["signer"], "description": "Parameters for creating a Stellar delegated signer", "title": "Stellar" } }, "plugins": { "default": [], "description": "Optional array of plugins to be used for the wallet", "type": "array", "items": { "type": "string" }, "example": "CCPJPJGL2GJFOYMZUDBINNUADGK2KMGIB6KQAOQAOI4REWAHLBWUHLXQ" } }, "required": ["adminSigner"], "additionalProperties": false }, "owner": { "type": "string" }, "alias": { "description": "The wallet alias", "type": "string", "example": "my-usdc-wallet" } }, "required": ["chainType", "config"], "title": "Stellar wallet creation input", "description": "Stellar wallet creation input" } ] }, "DelegatedSignerV2025DtoClass": { "anyOf": [ { "allOf": [ { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for the Passkey signer type", "enum": ["passkey"] }, "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": "S component of the signature as a stringified bigint" }, "y": { "type": "string", "description": "S component of the signature as a stringified 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", "title": "Passkey Signer", "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", "description": "Identifier for API key signer type", "enum": ["api-key"] }, "address": { "anyOf": [ { "type": "string", "description": "The recipient address for this transaction call" }, { "type": "string", "description": "The Solana address of the custodial signer" }, { "type": "string" } ], "description": "The blockchain address of the custodial signer" }, "locator": { "description": "The locator of the signer", "type": "string" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Configuration for a custodial signer managed by Crossmint. Contact sales (https://www.crossmint.com/contact/sales) for access." }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for external wallet signer type", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The blockchain address of the external wallet" }, "locator": { "description": "The locator of the signer", "type": "string" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Configuration for an external wallet signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for server signer type", "enum": ["server"] }, "address": { "type": "string", "description": "The blockchain address of the server signer" }, "locator": { "description": "The locator of the signer", "type": "string" } }, "required": ["type", "address", "locator"], "title": "Server Signer", "description": "Configuration for a server signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for email signer type", "enum": ["email"] }, "email": { "description": "The email address for the signer", "type": "string" }, "locator": { "description": "The locator of the signer", "type": "string" }, "address": { "anyOf": [ { "type": "string", "description": "The recipient address for this transaction call" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "email", "locator", "address"], "title": "Email Signer", "description": "Configuration for an email signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for phone signer type", "enum": ["phone"] }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" }, "locator": { "description": "The locator of the signer", "type": "string" }, "address": { "anyOf": [ { "type": "string", "description": "The recipient address for this transaction call" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "phone", "locator", "address"], "title": "Phone Signer", "description": "Configuration for a phone signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for device signer type", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "The x coordinate of the p256 public key" }, "y": { "type": "string", "description": "The y coordinate of the p256 public key" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "description": "The locator of the signer", "type": "string" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Configuration for a device signer" } ], "description": "Response schema for a registered signer" }, { "type": "object", "properties": { "scopes": { "description": "Optional array of scopes restricting the signer's capabilities", "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "enum": ["transfer"] }, "tokenLocator": { "type": "string" }, "recipients": { "type": "array", "items": { "type": "string" } }, "spendingLimit": { "type": "object", "properties": { "amount": { "type": "string" }, "interval": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["amount"] } }, "required": ["type", "tokenLocator"], "title": "Transfer", "description": "Scope to transfer tokens with optional spending limits and recipient restrictions", "example": { "type": "transfer", "tokenLocator": "stellar:usdc", "recipients": [ "GDUCX62IF76FFIYRNI25LJDS2V43QEZDY4YNF2DJWVIASN5LKX76Q4TW" ], "spendingLimit": { "amount": "100", "interval": 86400 } } }, "example": { "type": "transfer", "tokenLocator": "solana:sol", "spendingLimit": { "amount": "1" } } }, "expiresAt": { "description": "The expiry date of the signer in ISO 8601 format", "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ] }, "transaction": { "description": "The transaction for the signer", "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"], "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": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": [ "type", "publicKey", "locator" ], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ], "description": "The full signer object who submitted this signature" }, "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": { "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created" }, "signer": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": [ "type", "publicKey", "locator" ], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ], "description": "The full signer object who submitted this signature" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "description": "Additional metadata about the signature submission", "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } } } }, "required": [ "signature", "submittedAt", "signer", "message" ] }, "description": "Record of all submitted signatures" }, "required": { "description": "Number of required approvals for the transaction", "type": "number" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created" }, "completedAt": { "description": "ISO timestamp when the transaction reached finality", "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ] }, "error": { "description": "Error message if the transaction fails after submission", "anyOf": [ { "type": "object", "properties": { "reason": { "anyOf": [ { "type": "string", "enum": ["build_failed"] }, { "type": "string", "enum": ["failed_to_land_on_chain"] }, { "type": "string", "enum": ["unknown"] }, { "type": "string", "enum": ["sanctioned_wallet_address"] } ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "revert": { "type": "object", "description": "Revert reason from smart contract", "properties": { "type": { "anyOf": [ { "type": "string", "enum": ["contract_call"] }, { "type": "string", "enum": ["wallet_authorization"] }, { "type": "string", "enum": ["wallet_deployment"] } ] }, "reason": { "type": "string" }, "reasonData": { "anyOf": [ { "type": "string" }, { "type": "object", "additionalProperties": true } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"], "example": { "type": "contract_call", "reason": "ERC20: transfer amount exceeds balance" } } }, "required": ["reason", "message"] } ] }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "description": "The amount of the token to send", "type": "string" }, "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"] }, "fees": { "description": "Transaction fee information including actual gas costs, billed amounts, and billing status", "type": "object", "properties": { "mode": { "type": "string", "enum": ["user-native", "user-fungible", "project"] }, "estimate": {}, "actual": {}, "billed": { "type": "object", "properties": { "usd": { "type": "number" } }, "required": ["usd"] }, "billing": { "type": "object", "properties": { "status": { "type": "string", "enum": ["pending", "settled", "failed"] } }, "required": ["status"] } }, "required": ["mode"] }, "walletType": { "type": "string", "enum": ["smart"] } }, "required": ["chainType", "onChain", "id", "status", "createdAt", "walletType"] } } } ], "title": "Solana Delegated Signer Response", "description": "Complete delegated signer response including the signer and authorization transaction" }, { "allOf": [ { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for the Passkey signer type", "enum": ["passkey"] }, "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": "S component of the signature as a stringified bigint" }, "y": { "type": "string", "description": "S component of the signature as a stringified 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", "title": "Passkey Signer", "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", "description": "Identifier for API key signer type", "enum": ["api-key"] }, "address": { "anyOf": [ { "type": "string", "description": "The recipient address for this transaction call" }, { "type": "string", "description": "The Solana address of the custodial signer" }, { "type": "string" } ], "description": "The blockchain address of the custodial signer" }, "locator": { "description": "The locator of the signer", "type": "string" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Configuration for a custodial signer managed by Crossmint. Contact sales (https://www.crossmint.com/contact/sales) for access." }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for external wallet signer type", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The blockchain address of the external wallet" }, "locator": { "description": "The locator of the signer", "type": "string" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Configuration for an external wallet signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for server signer type", "enum": ["server"] }, "address": { "type": "string", "description": "The blockchain address of the server signer" }, "locator": { "description": "The locator of the signer", "type": "string" } }, "required": ["type", "address", "locator"], "title": "Server Signer", "description": "Configuration for a server signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for email signer type", "enum": ["email"] }, "email": { "description": "The email address for the signer", "type": "string" }, "locator": { "description": "The locator of the signer", "type": "string" }, "address": { "anyOf": [ { "type": "string", "description": "The recipient address for this transaction call" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "email", "locator", "address"], "title": "Email Signer", "description": "Configuration for an email signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for phone signer type", "enum": ["phone"] }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" }, "locator": { "description": "The locator of the signer", "type": "string" }, "address": { "anyOf": [ { "type": "string", "description": "The recipient address for this transaction call" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "phone", "locator", "address"], "title": "Phone Signer", "description": "Configuration for a phone signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for device signer type", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "The x coordinate of the p256 public key" }, "y": { "type": "string", "description": "The y coordinate of the p256 public key" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "description": "The locator of the signer", "type": "string" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Configuration for a device signer" } ], "description": "Response schema for a registered signer" }, { "type": "object", "properties": { "expiresAt": { "description": "The expiry date of the signer in ISO 8601 format", "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ] }, "chains": { "description": "Authorization status for each chain where the chain name is the key and the signature request is the value", "type": "object", "additionalProperties": { "anyOf": [ { "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": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": [ "external-wallet" ] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": [ "type", "address", "locator" ], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": [ "type", "id", "locator" ], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": [ "type", "address", "locator" ], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": [ "type", "publicKey", "locator" ], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": [ "type", "address", "locator" ] } ], "description": "The full signer object who submitted this signature" }, "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": { "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created" }, "signer": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": [ "external-wallet" ] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": [ "type", "address", "locator" ], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": [ "type", "id", "locator" ], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": [ "type", "address", "locator" ], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": [ "type", "publicKey", "locator" ], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": [ "type", "address", "locator" ] } ], "description": "The full signer object who submitted this signature" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "description": "Additional metadata about the signature submission", "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } } } }, "required": [ "signature", "submittedAt", "signer", "message" ] }, "description": "Record of all submitted signatures" }, "required": { "description": "Number of required approvals for the transaction", "type": "number" } }, "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" } ] } } } } ], "title": "EVM Delegated Signer Response", "description": "Complete delegated signer response including the signer and authorizations for each chain" }, { "allOf": [ { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for the Passkey signer type", "enum": ["passkey"] }, "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": "S component of the signature as a stringified bigint" }, "y": { "type": "string", "description": "S component of the signature as a stringified 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", "title": "Passkey Signer", "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", "description": "Identifier for API key signer type", "enum": ["api-key"] }, "address": { "anyOf": [ { "type": "string", "description": "The recipient address for this transaction call" }, { "type": "string", "description": "The Solana address of the custodial signer" }, { "type": "string" } ], "description": "The blockchain address of the custodial signer" }, "locator": { "description": "The locator of the signer", "type": "string" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Configuration for a custodial signer managed by Crossmint. Contact sales (https://www.crossmint.com/contact/sales) for access." }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for external wallet signer type", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The blockchain address of the external wallet" }, "locator": { "description": "The locator of the signer", "type": "string" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Configuration for an external wallet signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for server signer type", "enum": ["server"] }, "address": { "type": "string", "description": "The blockchain address of the server signer" }, "locator": { "description": "The locator of the signer", "type": "string" } }, "required": ["type", "address", "locator"], "title": "Server Signer", "description": "Configuration for a server signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for email signer type", "enum": ["email"] }, "email": { "description": "The email address for the signer", "type": "string" }, "locator": { "description": "The locator of the signer", "type": "string" }, "address": { "anyOf": [ { "type": "string", "description": "The recipient address for this transaction call" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "email", "locator", "address"], "title": "Email Signer", "description": "Configuration for an email signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for phone signer type", "enum": ["phone"] }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" }, "locator": { "description": "The locator of the signer", "type": "string" }, "address": { "anyOf": [ { "type": "string", "description": "The recipient address for this transaction call" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "phone", "locator", "address"], "title": "Phone Signer", "description": "Configuration for a phone signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for device signer type", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "The x coordinate of the p256 public key" }, "y": { "type": "string", "description": "The y coordinate of the p256 public key" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "description": "The locator of the signer", "type": "string" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Configuration for a device signer" } ], "description": "Response schema for a registered signer" }, { "type": "object", "properties": { "scopes": { "description": "Optional array of scopes restricting the signer's capabilities", "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "enum": ["transfer"] }, "tokenLocator": { "type": "string" }, "recipients": { "type": "array", "items": { "type": "string" } }, "spendingLimit": { "type": "object", "properties": { "amount": { "type": "string" }, "interval": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["amount"] } }, "required": ["type", "tokenLocator"], "title": "Transfer", "description": "Scope to transfer tokens with optional spending limits and recipient restrictions", "example": { "type": "transfer", "tokenLocator": "stellar:usdc", "recipients": [ "GDUCX62IF76FFIYRNI25LJDS2V43QEZDY4YNF2DJWVIASN5LKX76Q4TW" ], "spendingLimit": { "amount": "100", "interval": 86400 } } }, "example": { "type": "transfer", "tokenLocator": "stellar:usdc", "spendingLimit": { "amount": "100" } } }, "expiresAt": { "description": "The expiry date of the signer in ISO 8601 format", "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ] }, "transaction": { "description": "The transaction for the signer", "type": "object", "properties": { "chainType": { "type": "string", "enum": ["stellar"] }, "onChain": { "type": "object", "properties": { "transaction": { "type": "object", "properties": { "method": { "type": "string" }, "tx": { "type": "string" } }, "required": ["method", "tx"], "title": "Stellar on-chain transaction", "description": "The Stellar Transaction Envelope" }, "txId": { "description": "The transaction hash", "type": "string" }, "ledger": { "description": "The ledger number where the transaction was included", "type": "number" }, "expiration": { "type": "number", "description": "The expiration of the transaction" }, "result": { "description": "The Transaction Result in XDR format" }, "explorerLink": { "description": "Optional link to view the transaction in an explorer", "type": "string" } }, "required": ["transaction", "expiration"], "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": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": [ "type", "publicKey", "locator" ], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ], "description": "The full signer object who submitted this signature" }, "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": { "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created" }, "signer": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": [ "type", "publicKey", "locator" ], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ], "description": "The full signer object who submitted this signature" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "description": "Additional metadata about the signature submission", "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } } } }, "required": [ "signature", "submittedAt", "signer", "message" ] }, "description": "Record of all submitted signatures" }, "required": { "description": "Number of required approvals for the transaction", "type": "number" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created" }, "completedAt": { "description": "ISO timestamp when the transaction reached finality", "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ] }, "error": { "description": "Error message if the transaction fails after submission", "anyOf": [ { "type": "object", "properties": { "reason": { "anyOf": [ { "type": "string", "enum": ["build_failed"] }, { "type": "string", "enum": ["failed_to_land_on_chain"] }, { "type": "string", "enum": ["unknown"] }, { "type": "string", "enum": ["sanctioned_wallet_address"] } ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "revert": { "type": "object", "description": "Revert reason from smart contract", "properties": { "type": { "anyOf": [ { "type": "string", "enum": ["contract_call"] }, { "type": "string", "enum": ["wallet_authorization"] }, { "type": "string", "enum": ["wallet_deployment"] } ] }, "reason": { "type": "string" }, "reasonData": { "anyOf": [ { "type": "string" }, { "type": "object", "additionalProperties": true } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"], "example": { "type": "contract_call", "reason": "ERC20: transfer amount exceeds balance" } } }, "required": ["reason", "message"] } ] }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "description": "The amount of the token to send", "type": "string" }, "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"] }, "fees": { "description": "Transaction fee information including actual gas costs, billed amounts, and billing status", "type": "object", "properties": { "mode": { "type": "string", "enum": ["user-native", "user-fungible", "project"] }, "estimate": {}, "actual": {}, "billed": { "type": "object", "properties": { "usd": { "type": "number" } }, "required": ["usd"] }, "billing": { "type": "object", "properties": { "status": { "type": "string", "enum": ["pending", "settled", "failed"] } }, "required": ["status"] } }, "required": ["mode"] }, "walletType": { "type": "string", "enum": ["smart"] } }, "required": ["chainType", "onChain", "id", "status", "createdAt", "walletType"] } } } ], "title": "Stellar Delegated Signer Response", "description": "Complete delegated signer response including the signer and authorization transaction" } ] }, "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", "description": "The currency to fund the wallet with. Only USDXM is supported.", "enum": ["usdxm"], "example": "usdxm" }, "chain": { "type": "string", "enum": [ "arbitrum-sepolia", "avalanche-fuji", "base-sepolia", "ethereum-sepolia", "optimism-sepolia", "polygon-amoy", "sei-atlantic-2-testnet", "skale-nebula-testnet", "soneium-minato-testnet", "viction-testnet", "solana", "stellar" ], "description": "The chain to fund the wallet with", "example": "base-sepolia" } }, "required": ["amount", "token", "chain"] }, "IPAssetGraphDto": { "type": "object", "properties": { "rootIpId": { "type": "string", "description": "The root IP ID for which the graph was generated", "example": "0xf6546a7e5342b152366E3B3FC773743b6D991aB2" }, "parents": { "type": "array", "items": { "$ref": "#/components/schemas/IPAssetGraphDto__schema0" }, "description": "Array of parent IP asset nodes", "example": { "ipId": "0xAb92d4f9EA97666c40527D54a9aF4D7F82ab8552", "parents": [ { "ipId": "0x9876543210abcdef9876543210abcdef98765432", "parents": [] } ] } }, "children": { "type": "array", "items": { "$ref": "#/components/schemas/IPAssetGraphDto__schema1" }, "description": "Array of child IP asset nodes", "example": { "ipId": "0x123456789abcdef0123456789abcdef012345678", "children": [ { "ipId": "0xabcdef0123456789abcdef0123456789abcdef01", "children": [] } ] } } }, "required": ["rootIpId", "parents", "children"] }, "IPAssetGraphDto__schema0": { "type": "object", "properties": { "ipId": { "type": "string", "description": "The IP ID of the parent asset", "example": "0xf6546a7e5342b152366E3B3FC773743b6D991aB2" }, "parents": { "type": "array", "items": { "$ref": "#/components/schemas/IPAssetGraphDto__schema0" }, "description": "Array of parent IP asset nodes, empty if no parents are available", "example": { "ipId": "0xAb92d4f9EA97666c40527D54a9aF4D7F82ab8552", "parents": [] } } }, "required": ["ipId", "parents"] }, "IPAssetGraphDto__schema1": { "type": "object", "properties": { "ipId": { "type": "string", "description": "The IP ID of the child asset", "example": "0x123456789abcdef0123456789abcdef012345678" }, "children": { "type": "array", "items": { "$ref": "#/components/schemas/IPAssetGraphDto__schema1" }, "description": "Array of child IP asset nodes, empty if no children are available", "example": { "ipId": "0xabcdef0123456789abcdef0123456789abcdef01", "children": [] } } }, "required": ["ipId", "children"] }, "SendOrDepositTokenV2025DTOClass": { "anyOf": [ { "type": "object", "properties": { "recipient": { "type": "string" }, "signer": { "description": "Optional signer locator. Defaults to admin signer", "type": "string", "title": "Signer Locator", "example": "external-wallet:0xdeadbeef" }, "amount": { "description": "Amount of tokens to transfer (in decimal value)", "type": "string", "pattern": "^\\d+(?:\\.\\d*)?$", "example": "42.69" }, "transactionType": { "default": "direct", "description": "Specifies the type of transaction. Choose 'direct' for standard interactions or 'regulated-transfer' for operations requiring compliance checks.", "anyOf": [ { "type": "string", "title": "Direct transaction", "description": "The transaction is executed directly from the wallet. Use this for standard blockchain operations that do not require additional regulatory oversight.", "enum": ["direct"] }, { "type": "string", "title": "Regulated transfer transaction", "description": "The transaction is routed through Crossmint's regulated infrastructure. This enables compliance with regulatory requirements and performs enhanced validation checks.", "enum": ["regulated-transfer"] }, { "type": "string", "title": "Onramp transaction", "description": "The transaction is routed through Crossmint's regulated infrastructure. This enables compliance with regulatory requirements and performs enhanced validation checks.", "enum": ["onramp"] } ] }, "memo": { "description": "Memo for the transaction. Only supported for Stellar", "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["text"] }, "value": { "type": "string", "maxLength": 28 } }, "required": ["type", "value"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["id"] }, "value": { "type": "string" } }, "required": ["type", "value"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["hash"] }, "value": { "type": "string" } }, "required": ["type", "value"] } ], "example": { "type": "text", "value": "Hello, world!" } } }, "required": ["recipient"], "description": "Base fields for all token transfers" }, { "type": "object", "properties": { "signer": { "description": "Optional signer locator. Defaults to admin signer", "type": "string", "title": "Signer Locator", "example": "external-wallet:0xdeadbeef" }, "amount": { "type": "string", "pattern": "^\\d+(?:\\.\\d*)?$", "description": "Amount of tokens to transfer (in decimal format)", "example": "42.69" }, "transactionType": { "default": "direct", "description": "Specifies the type of transaction. Choose 'direct' for standard interactions or 'regulated-transfer' for operations requiring compliance checks.", "anyOf": [ { "type": "string", "title": "Direct transaction", "description": "The transaction is executed directly from the wallet. Use this for standard blockchain operations that do not require additional regulatory oversight.", "enum": ["direct"] }, { "type": "string", "title": "Regulated transfer transaction", "description": "The transaction is routed through Crossmint's regulated infrastructure. This enables compliance with regulatory requirements and performs enhanced validation checks.", "enum": ["regulated-transfer"] }, { "type": "string", "title": "Onramp transaction", "description": "The transaction is routed through Crossmint's regulated infrastructure. This enables compliance with regulatory requirements and performs enhanced validation checks.", "enum": ["onramp"] } ] }, "memo": { "description": "Memo for the transaction. Only supported for Stellar", "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["text"] }, "value": { "type": "string", "maxLength": 28 } }, "required": ["type", "value"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["id"] }, "value": { "type": "string" } }, "required": ["type", "value"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["hash"] }, "value": { "type": "string" } }, "required": ["type", "value"] } ], "example": { "type": "text", "value": "Hello, world!" } }, "recipient": { "type": "string", "example": "CROSSMINT" } }, "required": ["amount", "recipient"], "description": "Base fields for all token deposits" } ] }, "SendTokenDTO": { "type": "object", "properties": { "recipient": { "type": "string" }, "signer": { "description": "Optional signer locator. Defaults to admin signer", "type": "string", "example": "evm-keypair:0xdeadbeef" }, "amount": { "description": "Amount of tokens to transfer (in decimal format)", "type": "string", "pattern": "^\\d+(?:\\.\\d*)?$", "example": "42.69" }, "transactionType": { "default": "direct", "description": "Specifies the type of transaction. Choose 'direct' for standard interactions or 'regulated-transfer' for operations requiring compliance checks.", "anyOf": [ { "type": "string", "title": "Direct transaction", "description": "The transaction is executed directly from the wallet. Use this for standard blockchain operations that do not require additional regulatory oversight.", "enum": ["direct"] }, { "type": "string", "title": "Regulated transfer transaction", "description": "The transaction is routed through Crossmint's regulated infrastructure. This enables compliance with regulatory requirements and performs enhanced validation checks.", "enum": ["regulated-transfer"] }, { "type": "string", "title": "Onramp transaction", "description": "The transaction is routed through Crossmint's regulated infrastructure. This enables compliance with regulatory requirements and performs enhanced validation checks.", "enum": ["onramp"] } ] } }, "required": ["recipient"] }, "SendTokenV2025DTO": { "type": "object", "properties": { "recipient": { "type": "string" }, "signer": { "description": "Optional signer locator. Defaults to admin signer", "type": "string", "title": "Signer Locator", "example": "external-wallet:0xdeadbeef" }, "amount": { "description": "Amount of tokens to transfer (in decimal value)", "type": "string", "pattern": "^\\d+(?:\\.\\d*)?$", "example": "42.69" }, "transactionType": { "default": "direct", "description": "Specifies the type of transaction. Choose 'direct' for standard interactions or 'regulated-transfer' for operations requiring compliance checks.", "anyOf": [ { "type": "string", "title": "Direct transaction", "description": "The transaction is executed directly from the wallet. Use this for standard blockchain operations that do not require additional regulatory oversight.", "enum": ["direct"] }, { "type": "string", "title": "Regulated transfer transaction", "description": "The transaction is routed through Crossmint's regulated infrastructure. This enables compliance with regulatory requirements and performs enhanced validation checks.", "enum": ["regulated-transfer"] }, { "type": "string", "title": "Onramp transaction", "description": "The transaction is routed through Crossmint's regulated infrastructure. This enables compliance with regulatory requirements and performs enhanced validation checks.", "enum": ["onramp"] } ] }, "memo": { "description": "Memo for the transaction. Only supported for Stellar", "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["text"] }, "value": { "type": "string", "maxLength": 28 } }, "required": ["type", "value"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["id"] }, "value": { "type": "string" } }, "required": ["type", "value"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["hash"] }, "value": { "type": "string" } }, "required": ["type", "value"] } ], "example": { "type": "text", "value": "Hello, world!" } } }, "required": ["recipient"] }, "SubmitApprovalV2025DTO": { "type": "object", "properties": { "approvals": { "minItems": 1, "type": "array", "items": { "anyOf": [ { "type": "object", "properties": { "signer": { "description": "The locator for the passkey signer", "type": "string" }, "signature": { "type": "object", "properties": { "r": { "type": "string", "description": "S 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", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "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": { "description": "The locator for the external wallet signer", "type": "string" }, "signature": { "anyOf": [ { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, { "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": { "description": "The locator for the server signer", "type": "string" }, "signature": { "anyOf": [ { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, { "type": "string" } ], "description": "The cryptographic signature", "example": "0x4551567890abcdef..." } }, "required": ["signer", "signature"], "title": "Server signer signature submission payload", "description": "Schema for server signer signature submission" }, { "type": "object", "properties": { "signer": { "description": "The locator for the email signer", "type": "string" }, "signature": { "anyOf": [ { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, { "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": { "description": "The locator for the phone signer", "type": "string" }, "signature": { "anyOf": [ { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, { "type": "string" } ], "description": "The cryptographic signature", "example": "0x4551567890abcdef..." } }, "required": ["signer", "signature"], "title": "Phone signer signature submission payload", "description": "Schema for phone signer signature submission" }, { "type": "object", "properties": { "signer": { "description": "The locator for the device signer", "type": "string" }, "signature": { "type": "object", "properties": { "r": { "type": "string", "description": "The amount of native token to send in wei" }, "s": { "type": "string", "description": "The amount of native token to send in wei" } }, "required": ["r", "s"], "description": "The p256 signature with r and s components", "example": { "r": "0x1234...", "s": "0x5678..." } } }, "required": ["signer", "signature"], "title": "Device signer signature submission payload", "description": "Schema for device signer signature submission" } ] }, "description": "Array of approvals to submit for this transaction" } }, "required": ["approvals"] }, "WalletBalanceResponseDTO": { "type": "array", "items": { "type": "object", "properties": { "token": { "type": "string", "enum": [ "ape", "bnb", "coti", "eth", "pathusd", "matic", "mnt", "pol", "plume", "sei", "chz", "avax", "xai", "fuel", "hbar", "vic", "ip", "zcx", "u2u", "flow", "usdc", "usdce", "busd", "usdxm", "usdt", "credit", "usdf", "pyusd0", "eurc", "weth", "degen", "superverse", "pirate", "wld", "xmeme", "alphausd", "betausd", "thetausd", "bonk", "phantom-cash", "xlm", "usdm0", "usdm1", "sol", "sui", "apt", "sfuel", "xion" ], "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" } } }, "WalletBalanceUnstableResponseDTO": { "type": "array", "items": { "type": "object", "properties": { "symbol": { "type": "string" }, "name": { "type": "string", "description": "The name of the token", "example": "USDC Token" }, "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": { "anyOf": [ { "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"], "additionalProperties": false, "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"], "additionalProperties": false, "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"], "additionalProperties": false, "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", "chains"] }, "description": "Array of wallet balances per token", "example": { "symbol": "ETH", "name": "Ethereum", "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" }, "stellar": { "contractId": "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA", "locator": "stellar:xlm", "amount": "100.5000000", "rawAmount": "1005000000" } } } }, "WalletBalanceV20250609ResponseDTO": { "type": "array", "items": { "type": "object", "properties": { "symbol": { "type": "string" }, "name": { "type": "string", "description": "The name of the token", "example": "USDC Token" }, "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": { "anyOf": [ { "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"], "additionalProperties": false, "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"], "additionalProperties": false, "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') 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" }, "contractId": { "type": "string", "description": "The contract ID of the token on Stellar. Not present for native XLM.", "example": "CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75" } }, "required": ["locator", "amount", "rawAmount"], "additionalProperties": false, "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" } } } }, "required": ["decimals", "amount", "rawAmount", "chains"] }, "description": "Array of wallet balances per token", "example": { "symbol": "ETH", "name": "Ethereum", "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" } } } }, "WalletsActivityResponseUnstableDTO": { "type": "object", "properties": { "nextCursor": { "type": "string" }, "previousCursor": { "type": "string" }, "data": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "sender": { "type": "object", "properties": { "address": { "type": "string", "description": "Wallet address", "example": "0x1234567890123456789012345678901234567890" }, "chain": { "type": "string", "description": "Chain identifier", "enum": [ "solana", "sui", "aptos", "xion", "stellar", "arbitrum-sepolia", "arc-testnet", "avalanche-fuji", "curtis", "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", "plume-testnet", "flow-testnet", "tempo-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "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", "plume", "flow", "tempo" ], "example": "ethereum" }, "locator": { "type": "string", "description": "Wallet locator (e.g., 'email:dev@company.com:optimism' or 'optimism:0x123...456')", "example": "ethereum:0x1234567890123456789012345678901234567890" }, "owner": { "type": "string", "description": "Owner identifier", "example": "user-123" } }, "required": ["address", "locator"], "additionalProperties": false, "description": "Transfer participant (sender or recipient)", "example": { "address": "0x1234567890123456789012345678901234567890", "chain": "ethereum", "locator": "ethereum:0x1234567890123456789012345678901234567890", "owner": "user-123" } }, "recipient": { "type": "object", "properties": { "address": { "type": "string", "description": "Wallet address", "example": "0x1234567890123456789012345678901234567890" }, "chain": { "type": "string", "description": "Chain identifier", "enum": [ "solana", "sui", "aptos", "xion", "stellar", "arbitrum-sepolia", "arc-testnet", "avalanche-fuji", "curtis", "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", "plume-testnet", "flow-testnet", "tempo-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "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", "plume", "flow", "tempo" ], "example": "ethereum" }, "locator": { "type": "string", "description": "Wallet locator (e.g., 'email:dev@company.com:optimism' or 'optimism:0x123...456')", "example": "ethereum:0x1234567890123456789012345678901234567890" }, "owner": { "type": "string", "description": "Owner identifier", "example": "user-123" } }, "required": ["address", "locator"], "additionalProperties": false, "description": "Transfer participant (sender or recipient)", "example": { "address": "0x1234567890123456789012345678901234567890", "chain": "ethereum", "locator": "ethereum:0x1234567890123456789012345678901234567890", "owner": "user-123" } }, "token": { "anyOf": [ { "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" }, "symbol": { "type": "string", "description": "Token symbol", "example": "USDC" }, "decimals": { "type": "number", "description": "The number of decimals of the token", "example": 6 }, "type": { "type": "string", "description": "Token type", "enum": ["fungible"], "example": "fungible" }, "chain": { "type": "string", "enum": [ "arbitrum-sepolia", "arc-testnet", "avalanche-fuji", "curtis", "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", "plume-testnet", "flow-testnet", "tempo-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "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", "plume", "flow", "tempo" ], "description": "EVM chain identifier", "example": "ethereum" } }, "required": [ "locator", "amount", "rawAmount", "decimals", "type", "chain" ], "additionalProperties": false, "description": "EVM fungible token details", "example": { "type": "fungible", "chain": "ethereum", "locator": "ethereum:0x123", "amount": "18.833423432423", "rawAmount": "18834161225104097789", "contractAddress": "0x123", "decimals": 6 } }, { "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" }, "symbol": { "type": "string", "description": "Token symbol", "example": "USDC" }, "decimals": { "type": "number", "description": "The number of decimals of the token", "example": 6 }, "type": { "type": "string", "description": "Token type", "enum": ["fungible"], "example": "fungible" }, "chain": { "type": "string", "description": "Solana chain identifier", "enum": ["solana"], "example": "solana" } }, "required": [ "locator", "amount", "rawAmount", "decimals", "type", "chain" ], "additionalProperties": false, "description": "Solana fungible token details", "example": { "type": "fungible", "chain": "solana", "locator": "solana:31123", "amount": "18.833423432423", "rawAmount": "18834161225104097789", "mintHash": "123123", "decimals": 6 } }, { "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" }, "contractId": { "type": "string", "description": "The contract ID of the token on Stellar. Not present for native XLM.", "example": "CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75" }, "symbol": { "type": "string", "description": "Token symbol", "example": "USDC" }, "decimals": { "type": "number", "description": "The number of decimals of the token", "example": 6 }, "type": { "type": "string", "description": "Token type", "enum": ["fungible"], "example": "fungible" }, "chain": { "type": "string", "description": "Stellar chain identifier", "enum": ["stellar"], "example": "stellar" } }, "required": [ "locator", "amount", "rawAmount", "decimals", "type", "chain" ], "additionalProperties": false, "description": "Stellar fungible token details", "example": { "type": "fungible", "chain": "stellar", "locator": "stellar:xlm", "amount": "100.5000000", "rawAmount": "1005000000", "contractId": "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA", "decimals": 6 } } ], "type": "object", "description": "Fungible token details for any supported chain" }, "status": { "type": "string", "enum": ["succeeded", "failed"], "description": "The status of the transfer", "example": "succeeded" }, "transferId": { "type": "string", "description": "The unique identifier for the transfer. Can be used retrieve the transfer from the Get Transaction API", "example": "93fd7f08-0c63-4d73-808b-6268e665c964" }, "completedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$", "description": "ISO 8601 timestamp when the transfer was completed", "example": "2025-10-21T12:34:56.789Z" }, "onChain": { "type": "object", "properties": { "txId": { "type": "string", "description": "Transaction hash/ID", "example": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef" }, "explorerLink": { "type": "string", "description": "Block explorer URL", "example": "https://etherscan.io/tx/0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef" } }, "required": ["txId", "explorerLink"], "additionalProperties": false, "description": "On-chain transaction details", "example": { "txId": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef", "explorerLink": "https://etherscan.io/tx/0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef" } }, "type": { "type": "string", "description": "Event type for incoming transfers", "enum": ["wallets.transfer.in"], "example": "wallets.transfer.in" } }, "required": [ "sender", "recipient", "token", "status", "completedAt", "onChain", "type" ], "additionalProperties": false, "description": "Incoming wallet transfer event" }, { "type": "object", "properties": { "sender": { "type": "object", "properties": { "address": { "type": "string", "description": "Wallet address", "example": "0x1234567890123456789012345678901234567890" }, "chain": { "type": "string", "description": "Chain identifier", "enum": [ "solana", "sui", "aptos", "xion", "stellar", "arbitrum-sepolia", "arc-testnet", "avalanche-fuji", "curtis", "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", "plume-testnet", "flow-testnet", "tempo-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "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", "plume", "flow", "tempo" ], "example": "ethereum" }, "locator": { "type": "string", "description": "Wallet locator (e.g., 'email:dev@company.com:optimism' or 'optimism:0x123...456')", "example": "ethereum:0x1234567890123456789012345678901234567890" }, "owner": { "type": "string", "description": "Owner identifier", "example": "user-123" } }, "required": ["address", "locator"], "additionalProperties": false, "description": "Transfer participant (sender or recipient)", "example": { "address": "0x1234567890123456789012345678901234567890", "chain": "ethereum", "locator": "ethereum:0x1234567890123456789012345678901234567890", "owner": "user-123" } }, "recipient": { "type": "object", "properties": { "address": { "type": "string", "description": "Wallet address", "example": "0x1234567890123456789012345678901234567890" }, "chain": { "type": "string", "description": "Chain identifier", "enum": [ "solana", "sui", "aptos", "xion", "stellar", "arbitrum-sepolia", "arc-testnet", "avalanche-fuji", "curtis", "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", "plume-testnet", "flow-testnet", "tempo-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "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", "plume", "flow", "tempo" ], "example": "ethereum" }, "locator": { "type": "string", "description": "Wallet locator (e.g., 'email:dev@company.com:optimism' or 'optimism:0x123...456')", "example": "ethereum:0x1234567890123456789012345678901234567890" }, "owner": { "type": "string", "description": "Owner identifier", "example": "user-123" } }, "required": ["address", "locator"], "additionalProperties": false, "description": "Transfer participant (sender or recipient)", "example": { "address": "0x1234567890123456789012345678901234567890", "chain": "ethereum", "locator": "ethereum:0x1234567890123456789012345678901234567890", "owner": "user-123" } }, "token": { "anyOf": [ { "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" }, "symbol": { "type": "string", "description": "Token symbol", "example": "USDC" }, "decimals": { "type": "number", "description": "The number of decimals of the token", "example": 6 }, "type": { "type": "string", "description": "Token type", "enum": ["fungible"], "example": "fungible" }, "chain": { "type": "string", "enum": [ "arbitrum-sepolia", "arc-testnet", "avalanche-fuji", "curtis", "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", "plume-testnet", "flow-testnet", "tempo-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "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", "plume", "flow", "tempo" ], "description": "EVM chain identifier", "example": "ethereum" } }, "required": [ "locator", "amount", "rawAmount", "decimals", "type", "chain" ], "additionalProperties": false, "description": "EVM fungible token details", "example": { "type": "fungible", "chain": "ethereum", "locator": "ethereum:0x123", "amount": "18.833423432423", "rawAmount": "18834161225104097789", "contractAddress": "0x123", "decimals": 6 } }, { "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" }, "symbol": { "type": "string", "description": "Token symbol", "example": "USDC" }, "decimals": { "type": "number", "description": "The number of decimals of the token", "example": 6 }, "type": { "type": "string", "description": "Token type", "enum": ["fungible"], "example": "fungible" }, "chain": { "type": "string", "description": "Solana chain identifier", "enum": ["solana"], "example": "solana" } }, "required": [ "locator", "amount", "rawAmount", "decimals", "type", "chain" ], "additionalProperties": false, "description": "Solana fungible token details", "example": { "type": "fungible", "chain": "solana", "locator": "solana:31123", "amount": "18.833423432423", "rawAmount": "18834161225104097789", "mintHash": "123123", "decimals": 6 } }, { "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" }, "contractId": { "type": "string", "description": "The contract ID of the token on Stellar. Not present for native XLM.", "example": "CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75" }, "symbol": { "type": "string", "description": "Token symbol", "example": "USDC" }, "decimals": { "type": "number", "description": "The number of decimals of the token", "example": 6 }, "type": { "type": "string", "description": "Token type", "enum": ["fungible"], "example": "fungible" }, "chain": { "type": "string", "description": "Stellar chain identifier", "enum": ["stellar"], "example": "stellar" } }, "required": [ "locator", "amount", "rawAmount", "decimals", "type", "chain" ], "additionalProperties": false, "description": "Stellar fungible token details", "example": { "type": "fungible", "chain": "stellar", "locator": "stellar:xlm", "amount": "100.5000000", "rawAmount": "1005000000", "contractId": "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA", "decimals": 6 } } ], "type": "object", "description": "Fungible token details for any supported chain" }, "status": { "type": "string", "enum": ["succeeded", "failed"], "description": "The status of the transfer", "example": "succeeded" }, "transferId": { "type": "string", "description": "The unique identifier for the transfer. Can be used retrieve the transfer from the Get Transaction API", "example": "93fd7f08-0c63-4d73-808b-6268e665c964" }, "completedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$", "description": "ISO 8601 timestamp when the transfer was completed", "example": "2025-10-21T12:34:56.789Z" }, "onChain": { "type": "object", "properties": { "txId": { "type": "string", "description": "Transaction hash/ID", "example": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef" }, "explorerLink": { "type": "string", "description": "Block explorer URL", "example": "https://etherscan.io/tx/0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef" } }, "required": ["txId", "explorerLink"], "additionalProperties": false, "description": "On-chain transaction details", "example": { "txId": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef", "explorerLink": "https://etherscan.io/tx/0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef" } }, "error": { "type": "object", "properties": { "message": { "type": "string", "description": "Error message", "example": "Transaction reverted" }, "reason": { "type": "string", "description": "Error reason", "example": "Insufficient funds" }, "revert": { "type": "object", "description": "Revert reason from smart contract", "properties": { "type": { "anyOf": [ { "type": "string", "enum": ["contract_call"] }, { "type": "string", "enum": ["wallet_authorization"] }, { "type": "string", "enum": ["wallet_deployment"] } ] }, "reason": { "type": "string" }, "reasonData": { "anyOf": [ { "type": "string" }, { "type": "object", "additionalProperties": true } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"], "example": { "type": "contract_call", "reason": "ERC20: transfer amount exceeds balance" } }, "logs": { "type": "object", "description": "Additional error logs", "example": "" } }, "required": ["message", "reason"], "additionalProperties": false, "description": "Error details for failed transfers", "example": { "message": "Transaction reverted", "reason": "Insufficient funds" } }, "type": { "type": "string", "description": "Event type for outgoing transfers", "enum": ["wallets.transfer.out"], "example": "wallets.transfer.out" } }, "required": ["sender", "recipient", "token", "status", "completedAt", "type"], "additionalProperties": false, "description": "Outgoing wallet transfer event" } ], "type": "object", "description": "A single wallet transfer event (incoming or outgoing, unstable version)" } } }, "required": ["data"] }, "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", "auth-entries"], "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": { "anyOf": [ { "type": "object", "properties": { "message": { "type": "string", "description": "The message in plain text to sign" }, "signer": { "description": "The full signer object who will submit this signature. Defaults to the wallet's admin signer.", "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ] }, "chain": { "description": "The chain on which the signature will be submitted", "type": "string", "enum": [ "arbitrum-sepolia", "arc-testnet", "avalanche-fuji", "curtis", "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", "plume-testnet", "flow-testnet", "tempo-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "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", "plume", "flow", "tempo" ] } }, "required": ["message"], "title": "Message signature parameters", "description": "Parameters for a message signature" }, { "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", "description": "WebAuthn authenticator data as hex 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": true } }, "required": ["domain", "types", "primaryType", "message"] }, "chain": { "type": "string", "enum": [ "arbitrum-sepolia", "arc-testnet", "avalanche-fuji", "curtis", "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", "plume-testnet", "flow-testnet", "tempo-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "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", "plume", "flow", "tempo" ], "description": "The chain on which the signature will be submitted" }, "signer": { "description": "The full signer object who will approve this signature", "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ] }, "isSmartWalletSignature": { "description": "Whether the signature corresponds to the smart wallet or to the signer. If true, the signature will be wrapped with ERC6492.", "type": "boolean" } }, "required": ["typedData", "chain"], "title": "Typed data signature parameters", "description": "Parameters for a typed data signature" }, { "type": "object", "properties": { "authorizationEntries": { "type": "string", "description": "Base64-encoded XDR array of the authorization entries" }, "signer": { "description": "The full signer object who will approve this entry", "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ] } }, "required": ["authorizationEntries"], "title": "Auth entries signature parameters", "description": "Parameters for Stellar authorization entries signature (SEP-45)" } ], "description": "Type-specific signature parameters" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ], "description": "The full signer object who submitted this signature" }, "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": { "anyOf": [ { "description": "ISO 8601 formatted timestamp", "type": "number" }, { "type": "string" } ], "description": "ISO timestamp when the signature was created" }, "signer": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ], "description": "The full signer object who submitted this signature" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "description": "Additional metadata about the signature submission", "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } } } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "description": "Number of required approvals for the transaction", "type": "number" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "anyOf": [ { "description": "ISO 8601 formatted timestamp", "type": "number" }, { "type": "string" } ], "description": "ISO timestamp when the signature was created" }, "completedAt": { "description": "ISO timestamp when the transaction reached finality", "anyOf": [ { "description": "ISO 8601 formatted timestamp", "type": "number" }, { "type": "string" } ] }, "error": { "description": "Error message if the signature fails" }, "outputSignature": { "description": "The wallet's output signature of the request", "type": "string" } }, "required": ["id", "type", "chainType", "walletType", "status", "params", "createdAt"], "description": "Complete signature response including status, signing requirements, and wallet type specific data" } } }, "required": ["signatures"] }, "WalletsMultipleTransactionV2025ResponseDTO": { "type": "object", "properties": { "transactions": { "type": "array", "items": { "anyOf": [ { "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": { "minItems": 1, "type": "array", "items": { "anyOf": [ { "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": { "description": "The ABI for the function to call", "type": "array", "items": {} }, "args": { "type": "array", "items": {}, "description": "The arguments to pass to the function" }, "value": { "default": "0", "description": "The amount of native token to send in wei", "type": "string" } }, "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" }, "description": "Array of transaction calls to execute" }, "chain": { "description": "The chain where the signer will be registered" }, "signer": { "description": "The full signer object who will submit this transaction", "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ] } }, "required": ["calls", "chain"] }, "onChain": { "type": "object", "properties": { "userOperation": { "type": "object", "properties": { "sender": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "nonce": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "callData": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "callGasLimit": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "verificationGasLimit": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "preVerificationGas": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "maxFeePerGas": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "maxPriorityFeePerGas": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "paymaster": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "paymasterVerificationGasLimit": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "paymasterData": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "paymasterPostOpGasLimit": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "signature": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "factory": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "factoryData": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" } }, "required": [ "sender", "nonce", "callData", "callGasLimit", "verificationGasLimit", "preVerificationGas", "maxFeePerGas", "maxPriorityFeePerGas", "signature" ] }, "userOperationHash": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "txId": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "proxiedTxId": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "explorerLink": { "type": "string" } }, "required": ["userOperation", "userOperationHash"], "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": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ], "description": "The full signer object who submitted this signature" }, "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": { "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created" }, "signer": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ], "description": "The full signer object who submitted this signature" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "description": "Additional metadata about the signature submission", "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } } } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "description": "Number of required approvals for the transaction", "type": "number" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created" }, "completedAt": { "description": "ISO timestamp when the transaction reached finality", "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ] }, "error": { "description": "Error message if the transaction fails after submission", "anyOf": [ { "type": "object", "properties": { "reason": { "anyOf": [ { "type": "string", "enum": ["build_failed"] }, { "type": "string", "enum": ["failed_to_land_on_chain"] }, { "type": "string", "enum": ["unknown"] }, { "type": "string", "enum": ["sanctioned_wallet_address"] } ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "revert": { "type": "object", "description": "Revert reason from smart contract", "properties": { "type": { "anyOf": [ { "type": "string", "enum": ["contract_call"] }, { "type": "string", "enum": ["wallet_authorization"] }, { "type": "string", "enum": ["wallet_deployment"] } ] }, "reason": { "type": "string" }, "reasonData": { "anyOf": [ { "type": "string" }, { "type": "object", "additionalProperties": true } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"], "example": { "type": "contract_call", "reason": "ERC20: transfer amount exceeds balance" } } }, "required": ["reason", "message"] } ] }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "description": "The amount of the token to send", "type": "string" }, "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"] }, "fees": { "description": "Transaction fee information including actual gas costs, billed amounts, and billing status", "type": "object", "properties": { "mode": { "type": "string", "enum": ["user-native", "user-fungible", "project"] }, "estimate": {}, "actual": {}, "billed": { "type": "object", "properties": { "usd": { "type": "number" } }, "required": ["usd"] }, "billing": { "type": "object", "properties": { "status": { "type": "string", "enum": ["pending", "settled", "failed"] } }, "required": ["status"] } }, "required": ["mode"] } }, "required": [ "chainType", "walletType", "params", "onChain", "id", "status", "createdAt" ], "title": "EVM Smart Wallet" }, { "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": { "anyOf": [ { "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": { "description": "The ABI for the function to call", "type": "array", "items": {} }, "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", "arc-testnet", "avalanche-fuji", "curtis", "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", "plume-testnet", "flow-testnet", "tempo-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "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", "plume", "flow", "tempo" ], "description": "The chain on which the signature will be submitted" } }, "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", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "explorerLink": { "type": "string" } }, "required": ["call"], "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": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ], "description": "The full signer object who submitted this signature" }, "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": { "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created" }, "signer": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ], "description": "The full signer object who submitted this signature" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "description": "Additional metadata about the signature submission", "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } } } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "description": "Number of required approvals for the transaction", "type": "number" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created" }, "completedAt": { "description": "ISO timestamp when the transaction reached finality", "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ] }, "error": { "description": "Error message if the transaction fails after submission", "anyOf": [ { "type": "object", "properties": { "reason": { "anyOf": [ { "type": "string", "enum": ["build_failed"] }, { "type": "string", "enum": ["failed_to_land_on_chain"] }, { "type": "string", "enum": ["unknown"] }, { "type": "string", "enum": ["sanctioned_wallet_address"] } ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "revert": { "type": "object", "description": "Revert reason from smart contract", "properties": { "type": { "anyOf": [ { "type": "string", "enum": ["contract_call"] }, { "type": "string", "enum": ["wallet_authorization"] }, { "type": "string", "enum": ["wallet_deployment"] } ] }, "reason": { "type": "string" }, "reasonData": { "anyOf": [ { "type": "string" }, { "type": "object", "additionalProperties": true } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"], "example": { "type": "contract_call", "reason": "ERC20: transfer amount exceeds balance" } } }, "required": ["reason", "message"] } ] }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "description": "The amount of the token to send", "type": "string" }, "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"] }, "fees": { "description": "Transaction fee information including actual gas costs, billed amounts, and billing status", "type": "object", "properties": { "mode": { "type": "string", "enum": ["user-native", "user-fungible", "project"] }, "estimate": {}, "actual": {}, "billed": { "type": "object", "properties": { "usd": { "type": "number" } }, "required": ["usd"] }, "billing": { "type": "object", "properties": { "status": { "type": "string", "enum": ["pending", "settled", "failed"] } }, "required": ["status"] } }, "required": ["mode"] } }, "required": [ "chainType", "walletType", "params", "onChain", "id", "status", "createdAt" ], "title": "EVM MPC Wallet" }, { "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": { "description": "Optional array of additional full signer objects required for the transaction", "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ], "description": "The full signer object who submitted this signature" } }, "signer": { "description": "The full signer object who will submit this transaction. Defaults to the admin signer.", "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ] }, "feeConfig": { "anyOf": [ { "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"], "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": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ], "description": "The full signer object who submitted this signature" }, "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": { "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created" }, "signer": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ], "description": "The full signer object who submitted this signature" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "description": "Additional metadata about the signature submission", "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } } } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "description": "Number of required approvals for the transaction", "type": "number" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created" }, "completedAt": { "description": "ISO timestamp when the transaction reached finality", "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ] }, "error": { "description": "Error message if the transaction fails after submission", "anyOf": [ { "type": "object", "properties": { "reason": { "anyOf": [ { "type": "string", "enum": ["build_failed"] }, { "type": "string", "enum": ["failed_to_land_on_chain"] }, { "type": "string", "enum": ["unknown"] }, { "type": "string", "enum": ["sanctioned_wallet_address"] } ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "revert": { "type": "object", "description": "Revert reason from smart contract", "properties": { "type": { "anyOf": [ { "type": "string", "enum": ["contract_call"] }, { "type": "string", "enum": ["wallet_authorization"] }, { "type": "string", "enum": ["wallet_deployment"] } ] }, "reason": { "type": "string" }, "reasonData": { "anyOf": [ { "type": "string" }, { "type": "object", "additionalProperties": true } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"], "example": { "type": "contract_call", "reason": "ERC20: transfer amount exceeds balance" } } }, "required": ["reason", "message"] } ] }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "description": "The amount of the token to send", "type": "string" }, "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"] }, "fees": { "description": "Transaction fee information including actual gas costs, billed amounts, and billing status", "type": "object", "properties": { "mode": { "type": "string", "enum": ["user-native", "user-fungible", "project"] }, "estimate": {}, "actual": {}, "billed": { "type": "object", "properties": { "usd": { "type": "number" } }, "required": ["usd"] }, "billing": { "type": "object", "properties": { "status": { "type": "string", "enum": ["pending", "settled", "failed"] } }, "required": ["status"] } }, "required": ["mode"] } }, "required": [ "chainType", "walletType", "params", "onChain", "id", "status", "createdAt" ], "title": "Solana Smart Wallet" }, { "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": { "description": "Optional array of additional full signer objects required for the transaction", "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ], "description": "The full signer object who submitted this signature" } } }, "required": ["transaction"] }, "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": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ], "description": "The full signer object who submitted this signature" }, "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": { "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created" }, "signer": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ], "description": "The full signer object who submitted this signature" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "description": "Additional metadata about the signature submission", "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } } } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "description": "Number of required approvals for the transaction", "type": "number" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created" }, "completedAt": { "description": "ISO timestamp when the transaction reached finality", "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ] }, "error": { "description": "Error message if the transaction fails after submission", "anyOf": [ { "type": "object", "properties": { "reason": { "anyOf": [ { "type": "string", "enum": ["build_failed"] }, { "type": "string", "enum": ["failed_to_land_on_chain"] }, { "type": "string", "enum": ["unknown"] }, { "type": "string", "enum": ["sanctioned_wallet_address"] } ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "revert": { "type": "object", "description": "Revert reason from smart contract", "properties": { "type": { "anyOf": [ { "type": "string", "enum": ["contract_call"] }, { "type": "string", "enum": ["wallet_authorization"] }, { "type": "string", "enum": ["wallet_deployment"] } ] }, "reason": { "type": "string" }, "reasonData": { "anyOf": [ { "type": "string" }, { "type": "object", "additionalProperties": true } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"], "example": { "type": "contract_call", "reason": "ERC20: transfer amount exceeds balance" } } }, "required": ["reason", "message"] } ] }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "description": "The amount of the token to send", "type": "string" }, "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"] }, "fees": { "description": "Transaction fee information including actual gas costs, billed amounts, and billing status", "type": "object", "properties": { "mode": { "type": "string", "enum": ["user-native", "user-fungible", "project"] }, "estimate": {}, "actual": {}, "billed": { "type": "object", "properties": { "usd": { "type": "number" } }, "required": ["usd"] }, "billing": { "type": "object", "properties": { "status": { "type": "string", "enum": ["pending", "settled", "failed"] } }, "required": ["status"] } }, "required": ["mode"] } }, "required": [ "chainType", "walletType", "params", "onChain", "id", "status", "createdAt" ], "title": "Solana MPC Wallet" }, { "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", "description": "The type of transaction to execute", "enum": ["contract-call"] }, "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": { "description": "The memo for the transaction", "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["text"] }, "value": { "type": "string", "maxLength": 28 } }, "required": ["type", "value"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["id"] }, "value": { "type": "string" } }, "required": ["type", "value"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["hash"] }, "value": { "type": "string" } }, "required": ["type", "value"] } ], "example": { "type": "text", "value": "Hello, world!" } }, "args": { "type": "object", "additionalProperties": true, "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", "description": "The type of transaction to execute", "enum": ["upgrade-wallet"] } }, "required": ["type"], "title": "Stellar upgrade wallet transaction", "description": "Upgrades the wallet's on-chain contract to a new version. The wallet will be locked until a migrate-wallet transaction completes the upgrade.", "example": { "type": "upgrade-wallet" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "The type of transaction to execute", "enum": ["migrate-wallet"] } }, "required": ["type"], "title": "Stellar migrate wallet transaction", "description": "Completes a pending wallet upgrade by migrating on-chain signer data to the new contract version. Must be called after upgrade-wallet.", "example": { "type": "migrate-wallet" } } ], "description": "Stellar transaction to execute" }, "signer": { "description": "The locator for the signer who will submit this transaction. Defaults to the admin signer.", "type": "string", "title": "Signer Locator", "example": "external-wallet:0x1234567890123456789012345678901234567890" } }, "required": ["transaction"] }, "onChain": { "type": "object", "properties": { "transaction": { "type": "object", "properties": { "method": { "type": "string" }, "tx": { "type": "string" } }, "required": ["method", "tx"], "title": "Stellar on-chain transaction", "description": "The Stellar Transaction Envelope" }, "txId": { "description": "The transaction hash", "type": "string" }, "ledger": { "description": "The ledger number where the transaction was included", "type": "number" }, "expiration": { "type": "number", "description": "The expiration of the transaction" }, "result": { "description": "The Transaction Result in XDR format" }, "explorerLink": { "description": "Optional link to view the transaction in an explorer", "type": "string" } }, "required": ["transaction", "expiration"], "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": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ], "description": "The full signer object who submitted this signature" }, "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": { "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created" }, "signer": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ], "description": "The full signer object who submitted this signature" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "description": "Additional metadata about the signature submission", "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } } } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "description": "Number of required approvals for the transaction", "type": "number" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created" }, "completedAt": { "description": "ISO timestamp when the transaction reached finality", "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ] }, "error": { "description": "Error message if the transaction fails after submission", "anyOf": [ { "type": "object", "properties": { "reason": { "anyOf": [ { "type": "string", "enum": ["build_failed"] }, { "type": "string", "enum": ["failed_to_land_on_chain"] }, { "type": "string", "enum": ["unknown"] }, { "type": "string", "enum": ["sanctioned_wallet_address"] } ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "revert": { "type": "object", "description": "Revert reason from smart contract", "properties": { "type": { "anyOf": [ { "type": "string", "enum": ["contract_call"] }, { "type": "string", "enum": ["wallet_authorization"] }, { "type": "string", "enum": ["wallet_deployment"] } ] }, "reason": { "type": "string" }, "reasonData": { "anyOf": [ { "type": "string" }, { "type": "object", "additionalProperties": true } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"], "example": { "type": "contract_call", "reason": "ERC20: transfer amount exceeds balance" } } }, "required": ["reason", "message"] } ] }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "description": "The amount of the token to send", "type": "string" }, "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"] }, "fees": { "description": "Transaction fee information including actual gas costs, billed amounts, and billing status", "type": "object", "properties": { "mode": { "type": "string", "enum": ["user-native", "user-fungible", "project"] }, "estimate": {}, "actual": {}, "billed": { "type": "object", "properties": { "usd": { "type": "number" } }, "required": ["usd"] }, "billing": { "type": "object", "properties": { "status": { "type": "string", "enum": ["pending", "settled", "failed"] } }, "required": ["status"] } }, "required": ["mode"] } }, "required": [ "chainType", "walletType", "params", "onChain", "id", "status", "createdAt" ], "title": "Stellar Smart Wallet" } ], "description": "Complete transaction response including status, signing requirements, and wallet type specific data" } } }, "required": ["transactions"], "title": "Transactions Response" }, "WalletsSignatureV2025ResponseDTO": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the signature" }, "type": { "type": "string", "enum": ["message", "typed-data", "auth-entries"], "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": { "anyOf": [ { "type": "object", "properties": { "message": { "type": "string", "description": "The message in plain text to sign" }, "signer": { "description": "The full signer object who will submit this signature. Defaults to the wallet's admin signer.", "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ] }, "chain": { "description": "The chain on which the signature will be submitted", "type": "string", "enum": [ "arbitrum-sepolia", "arc-testnet", "avalanche-fuji", "curtis", "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", "plume-testnet", "flow-testnet", "tempo-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "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", "plume", "flow", "tempo" ] } }, "required": ["message"], "title": "Message signature parameters", "description": "Parameters for a message signature" }, { "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", "description": "WebAuthn authenticator data as hex 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": true } }, "required": ["domain", "types", "primaryType", "message"] }, "chain": { "type": "string", "enum": [ "arbitrum-sepolia", "arc-testnet", "avalanche-fuji", "curtis", "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", "plume-testnet", "flow-testnet", "tempo-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "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", "plume", "flow", "tempo" ], "description": "The chain on which the signature will be submitted" }, "signer": { "description": "The full signer object who will approve this signature", "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ] }, "isSmartWalletSignature": { "description": "Whether the signature corresponds to the smart wallet or to the signer. If true, the signature will be wrapped with ERC6492.", "type": "boolean" } }, "required": ["typedData", "chain"], "title": "Typed data signature parameters", "description": "Parameters for a typed data signature" }, { "type": "object", "properties": { "authorizationEntries": { "type": "string", "description": "Base64-encoded XDR array of the authorization entries" }, "signer": { "description": "The full signer object who will approve this entry", "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ] } }, "required": ["authorizationEntries"], "title": "Auth entries signature parameters", "description": "Parameters for Stellar authorization entries signature (SEP-45)" } ], "description": "Type-specific signature parameters" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ], "description": "The full signer object who submitted this signature" }, "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": { "anyOf": [ { "description": "ISO 8601 formatted timestamp", "type": "number" }, { "type": "string" } ], "description": "ISO timestamp when the signature was created" }, "signer": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ], "description": "The full signer object who submitted this signature" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "description": "Additional metadata about the signature submission", "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } } } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "description": "Number of required approvals for the transaction", "type": "number" } }, "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "anyOf": [ { "description": "ISO 8601 formatted timestamp", "type": "number" }, { "type": "string" } ], "description": "ISO timestamp when the signature was created" }, "completedAt": { "description": "ISO timestamp when the transaction reached finality", "anyOf": [ { "description": "ISO 8601 formatted timestamp", "type": "number" }, { "type": "string" } ] }, "error": { "description": "Error message if the signature fails" }, "outputSignature": { "description": "The wallet's output signature of the request", "type": "string" } }, "required": ["id", "type", "chainType", "walletType", "status", "params", "approvals", "createdAt"] }, "WalletsTransactionV2025ResponseDTOClass": { "anyOf": [ { "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": { "minItems": 1, "type": "array", "items": { "anyOf": [ { "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": { "description": "The ABI for the function to call", "type": "array", "items": {} }, "args": { "type": "array", "items": {}, "description": "The arguments to pass to the function" }, "value": { "default": "0", "description": "The amount of native token to send in wei", "type": "string" } }, "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" }, "description": "Array of transaction calls to execute" }, "chain": { "description": "The chain where the signer will be registered" }, "signer": { "description": "The full signer object who will submit this transaction", "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ] } }, "required": ["calls", "chain"] }, "onChain": { "type": "object", "properties": { "userOperation": { "type": "object", "properties": { "sender": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "nonce": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "callData": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "callGasLimit": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "verificationGasLimit": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "preVerificationGas": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "maxFeePerGas": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "maxPriorityFeePerGas": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "paymaster": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "paymasterVerificationGasLimit": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "paymasterData": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "paymasterPostOpGasLimit": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "signature": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "factory": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "factoryData": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" } }, "required": [ "sender", "nonce", "callData", "callGasLimit", "verificationGasLimit", "preVerificationGas", "maxFeePerGas", "maxPriorityFeePerGas", "signature" ] }, "userOperationHash": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "txId": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "proxiedTxId": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "explorerLink": { "type": "string" } }, "required": ["userOperation", "userOperationHash"], "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": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ], "description": "The full signer object who submitted this signature" }, "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": { "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created" }, "signer": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ], "description": "The full signer object who submitted this signature" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "description": "Additional metadata about the signature submission", "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } } } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "description": "Number of required approvals for the transaction", "type": "number" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created" }, "completedAt": { "description": "ISO timestamp when the transaction reached finality", "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ] }, "error": { "description": "Error message if the transaction fails after submission", "anyOf": [ { "type": "object", "properties": { "reason": { "anyOf": [ { "type": "string", "enum": ["build_failed"] }, { "type": "string", "enum": ["failed_to_land_on_chain"] }, { "type": "string", "enum": ["unknown"] }, { "type": "string", "enum": ["sanctioned_wallet_address"] } ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "revert": { "type": "object", "description": "Revert reason from smart contract", "properties": { "type": { "anyOf": [ { "type": "string", "enum": ["contract_call"] }, { "type": "string", "enum": ["wallet_authorization"] }, { "type": "string", "enum": ["wallet_deployment"] } ] }, "reason": { "type": "string" }, "reasonData": { "anyOf": [ { "type": "string" }, { "type": "object", "additionalProperties": true } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"], "example": { "type": "contract_call", "reason": "ERC20: transfer amount exceeds balance" } } }, "required": ["reason", "message"] } ] }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "description": "The amount of the token to send", "type": "string" }, "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"] }, "fees": { "description": "Transaction fee information including actual gas costs, billed amounts, and billing status", "type": "object", "properties": { "mode": { "type": "string", "enum": ["user-native", "user-fungible", "project"] }, "estimate": {}, "actual": {}, "billed": { "type": "object", "properties": { "usd": { "type": "number" } }, "required": ["usd"] }, "billing": { "type": "object", "properties": { "status": { "type": "string", "enum": ["pending", "settled", "failed"] } }, "required": ["status"] } }, "required": ["mode"] } }, "required": ["chainType", "walletType", "params", "onChain", "id", "status", "createdAt"], "title": "EVM Smart Wallet" }, { "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": { "anyOf": [ { "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": { "description": "The ABI for the function to call", "type": "array", "items": {} }, "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", "arc-testnet", "avalanche-fuji", "curtis", "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", "plume-testnet", "flow-testnet", "tempo-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "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", "plume", "flow", "tempo" ], "description": "The chain on which the signature will be submitted" } }, "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", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "explorerLink": { "type": "string" } }, "required": ["call"], "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": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ], "description": "The full signer object who submitted this signature" }, "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": { "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created" }, "signer": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ], "description": "The full signer object who submitted this signature" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "description": "Additional metadata about the signature submission", "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } } } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "description": "Number of required approvals for the transaction", "type": "number" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created" }, "completedAt": { "description": "ISO timestamp when the transaction reached finality", "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ] }, "error": { "description": "Error message if the transaction fails after submission", "anyOf": [ { "type": "object", "properties": { "reason": { "anyOf": [ { "type": "string", "enum": ["build_failed"] }, { "type": "string", "enum": ["failed_to_land_on_chain"] }, { "type": "string", "enum": ["unknown"] }, { "type": "string", "enum": ["sanctioned_wallet_address"] } ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "revert": { "type": "object", "description": "Revert reason from smart contract", "properties": { "type": { "anyOf": [ { "type": "string", "enum": ["contract_call"] }, { "type": "string", "enum": ["wallet_authorization"] }, { "type": "string", "enum": ["wallet_deployment"] } ] }, "reason": { "type": "string" }, "reasonData": { "anyOf": [ { "type": "string" }, { "type": "object", "additionalProperties": true } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"], "example": { "type": "contract_call", "reason": "ERC20: transfer amount exceeds balance" } } }, "required": ["reason", "message"] } ] }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "description": "The amount of the token to send", "type": "string" }, "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"] }, "fees": { "description": "Transaction fee information including actual gas costs, billed amounts, and billing status", "type": "object", "properties": { "mode": { "type": "string", "enum": ["user-native", "user-fungible", "project"] }, "estimate": {}, "actual": {}, "billed": { "type": "object", "properties": { "usd": { "type": "number" } }, "required": ["usd"] }, "billing": { "type": "object", "properties": { "status": { "type": "string", "enum": ["pending", "settled", "failed"] } }, "required": ["status"] } }, "required": ["mode"] } }, "required": ["chainType", "walletType", "params", "onChain", "id", "status", "createdAt"], "title": "EVM MPC Wallet" }, { "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": { "description": "Optional array of additional full signer objects required for the transaction", "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ], "description": "The full signer object who submitted this signature" } }, "signer": { "description": "The full signer object who will submit this transaction. Defaults to the admin signer.", "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ] }, "feeConfig": { "anyOf": [ { "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"], "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": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ], "description": "The full signer object who submitted this signature" }, "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": { "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created" }, "signer": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ], "description": "The full signer object who submitted this signature" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "description": "Additional metadata about the signature submission", "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } } } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "description": "Number of required approvals for the transaction", "type": "number" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created" }, "completedAt": { "description": "ISO timestamp when the transaction reached finality", "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ] }, "error": { "description": "Error message if the transaction fails after submission", "anyOf": [ { "type": "object", "properties": { "reason": { "anyOf": [ { "type": "string", "enum": ["build_failed"] }, { "type": "string", "enum": ["failed_to_land_on_chain"] }, { "type": "string", "enum": ["unknown"] }, { "type": "string", "enum": ["sanctioned_wallet_address"] } ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "revert": { "type": "object", "description": "Revert reason from smart contract", "properties": { "type": { "anyOf": [ { "type": "string", "enum": ["contract_call"] }, { "type": "string", "enum": ["wallet_authorization"] }, { "type": "string", "enum": ["wallet_deployment"] } ] }, "reason": { "type": "string" }, "reasonData": { "anyOf": [ { "type": "string" }, { "type": "object", "additionalProperties": true } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"], "example": { "type": "contract_call", "reason": "ERC20: transfer amount exceeds balance" } } }, "required": ["reason", "message"] } ] }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "description": "The amount of the token to send", "type": "string" }, "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"] }, "fees": { "description": "Transaction fee information including actual gas costs, billed amounts, and billing status", "type": "object", "properties": { "mode": { "type": "string", "enum": ["user-native", "user-fungible", "project"] }, "estimate": {}, "actual": {}, "billed": { "type": "object", "properties": { "usd": { "type": "number" } }, "required": ["usd"] }, "billing": { "type": "object", "properties": { "status": { "type": "string", "enum": ["pending", "settled", "failed"] } }, "required": ["status"] } }, "required": ["mode"] } }, "required": ["chainType", "walletType", "params", "onChain", "id", "status", "createdAt"], "title": "Solana Smart Wallet" }, { "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": { "description": "Optional array of additional full signer objects required for the transaction", "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ], "description": "The full signer object who submitted this signature" } } }, "required": ["transaction"] }, "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": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ], "description": "The full signer object who submitted this signature" }, "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": { "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created" }, "signer": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ], "description": "The full signer object who submitted this signature" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "description": "Additional metadata about the signature submission", "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } } } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "description": "Number of required approvals for the transaction", "type": "number" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created" }, "completedAt": { "description": "ISO timestamp when the transaction reached finality", "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ] }, "error": { "description": "Error message if the transaction fails after submission", "anyOf": [ { "type": "object", "properties": { "reason": { "anyOf": [ { "type": "string", "enum": ["build_failed"] }, { "type": "string", "enum": ["failed_to_land_on_chain"] }, { "type": "string", "enum": ["unknown"] }, { "type": "string", "enum": ["sanctioned_wallet_address"] } ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "revert": { "type": "object", "description": "Revert reason from smart contract", "properties": { "type": { "anyOf": [ { "type": "string", "enum": ["contract_call"] }, { "type": "string", "enum": ["wallet_authorization"] }, { "type": "string", "enum": ["wallet_deployment"] } ] }, "reason": { "type": "string" }, "reasonData": { "anyOf": [ { "type": "string" }, { "type": "object", "additionalProperties": true } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"], "example": { "type": "contract_call", "reason": "ERC20: transfer amount exceeds balance" } } }, "required": ["reason", "message"] } ] }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "description": "The amount of the token to send", "type": "string" }, "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"] }, "fees": { "description": "Transaction fee information including actual gas costs, billed amounts, and billing status", "type": "object", "properties": { "mode": { "type": "string", "enum": ["user-native", "user-fungible", "project"] }, "estimate": {}, "actual": {}, "billed": { "type": "object", "properties": { "usd": { "type": "number" } }, "required": ["usd"] }, "billing": { "type": "object", "properties": { "status": { "type": "string", "enum": ["pending", "settled", "failed"] } }, "required": ["status"] } }, "required": ["mode"] } }, "required": ["chainType", "walletType", "params", "onChain", "id", "status", "createdAt"], "title": "Solana MPC Wallet" }, { "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", "description": "The type of transaction to execute", "enum": ["contract-call"] }, "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": { "description": "The memo for the transaction", "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["text"] }, "value": { "type": "string", "maxLength": 28 } }, "required": ["type", "value"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["id"] }, "value": { "type": "string" } }, "required": ["type", "value"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["hash"] }, "value": { "type": "string" } }, "required": ["type", "value"] } ], "example": { "type": "text", "value": "Hello, world!" } }, "args": { "type": "object", "additionalProperties": true, "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", "description": "The type of transaction to execute", "enum": ["upgrade-wallet"] } }, "required": ["type"], "title": "Stellar upgrade wallet transaction", "description": "Upgrades the wallet's on-chain contract to a new version. The wallet will be locked until a migrate-wallet transaction completes the upgrade.", "example": { "type": "upgrade-wallet" } }, { "type": "object", "properties": { "type": { "type": "string", "description": "The type of transaction to execute", "enum": ["migrate-wallet"] } }, "required": ["type"], "title": "Stellar migrate wallet transaction", "description": "Completes a pending wallet upgrade by migrating on-chain signer data to the new contract version. Must be called after upgrade-wallet.", "example": { "type": "migrate-wallet" } } ], "description": "Stellar transaction to execute" }, "signer": { "description": "The locator for the signer who will submit this transaction. Defaults to the admin signer.", "type": "string", "title": "Signer Locator", "example": "external-wallet:0x1234567890123456789012345678901234567890" } }, "required": ["transaction"] }, "onChain": { "type": "object", "properties": { "transaction": { "type": "object", "properties": { "method": { "type": "string" }, "tx": { "type": "string" } }, "required": ["method", "tx"], "title": "Stellar on-chain transaction", "description": "The Stellar Transaction Envelope" }, "txId": { "description": "The transaction hash", "type": "string" }, "ledger": { "description": "The ledger number where the transaction was included", "type": "number" }, "expiration": { "type": "number", "description": "The expiration of the transaction" }, "result": { "description": "The Transaction Result in XDR format" }, "explorerLink": { "description": "Optional link to view the transaction in an explorer", "type": "string" } }, "required": ["transaction", "expiration"], "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": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ], "description": "The full signer object who submitted this signature" }, "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": { "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created" }, "signer": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": ["type", "id", "locator"], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": ["type", "address", "locator"] } ], "description": "The full signer object who submitted this signature" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "description": "Additional metadata about the signature submission", "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } } } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "description": "Number of required approvals for the transaction", "type": "number" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created" }, "completedAt": { "description": "ISO timestamp when the transaction reached finality", "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ] }, "error": { "description": "Error message if the transaction fails after submission", "anyOf": [ { "type": "object", "properties": { "reason": { "anyOf": [ { "type": "string", "enum": ["build_failed"] }, { "type": "string", "enum": ["failed_to_land_on_chain"] }, { "type": "string", "enum": ["unknown"] }, { "type": "string", "enum": ["sanctioned_wallet_address"] } ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "revert": { "type": "object", "description": "Revert reason from smart contract", "properties": { "type": { "anyOf": [ { "type": "string", "enum": ["contract_call"] }, { "type": "string", "enum": ["wallet_authorization"] }, { "type": "string", "enum": ["wallet_deployment"] } ] }, "reason": { "type": "string" }, "reasonData": { "anyOf": [ { "type": "string" }, { "type": "object", "additionalProperties": true } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"], "example": { "type": "contract_call", "reason": "ERC20: transfer amount exceeds balance" } } }, "required": ["reason", "message"] } ] }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "description": "The amount of the token to send", "type": "string" }, "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"] }, "fees": { "description": "Transaction fee information including actual gas costs, billed amounts, and billing status", "type": "object", "properties": { "mode": { "type": "string", "enum": ["user-native", "user-fungible", "project"] }, "estimate": {}, "actual": {}, "billed": { "type": "object", "properties": { "usd": { "type": "number" } }, "required": ["usd"] }, "billing": { "type": "object", "properties": { "status": { "type": "string", "enum": ["pending", "settled", "failed"] } }, "required": ["status"] } }, "required": ["mode"] } }, "required": ["chainType", "walletType", "params", "onChain", "id", "status", "createdAt"], "title": "Stellar Smart Wallet" } ], "description": "Complete transaction response including status, signing requirements, and wallet type specific data" }, "WalletsV1Alpha2TransactionResponseDTOClass": { "oneOf": [ { "type": "object", "properties": { "walletType": { "type": "string", "description": "The type of wallet that created this transaction", "enum": ["evm-smart-wallet"] }, "params": { "type": "object", "properties": { "calls": { "minItems": 1, "type": "array", "items": { "anyOf": [ { "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": { "description": "The ABI for the function to call", "type": "array", "items": {} }, "args": { "type": "array", "items": {}, "description": "The arguments to pass to the function" }, "value": { "default": "0", "description": "The amount of native token to send in wei", "type": "string" } }, "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" }, "description": "Array of transaction calls to execute" }, "chain": { "description": "The chain where the signer will be registered" }, "signer": { "description": "The locator for the signer who will submit this transaction", "type": "string" } }, "required": ["calls", "chain"], "description": "EVM smart wallet transaction parameters" }, "onChain": { "type": "object", "properties": { "userOperation": { "type": "object", "properties": { "sender": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "nonce": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "callData": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "callGasLimit": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "verificationGasLimit": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "preVerificationGas": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "maxFeePerGas": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "maxPriorityFeePerGas": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "paymaster": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "paymasterVerificationGasLimit": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "paymasterData": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "paymasterPostOpGasLimit": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "signature": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "factory": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "factoryData": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" } }, "required": [ "sender", "nonce", "callData", "callGasLimit", "verificationGasLimit", "preVerificationGas", "maxFeePerGas", "maxPriorityFeePerGas", "signature" ] }, "userOperationHash": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "txId": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "proxiedTxId": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "explorerLink": { "type": "string" } }, "required": ["userOperation", "userOperationHash"], "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": { "description": "ISO timestamp when the signature was created", "type": "number" }, "signer": { "type": "string", "description": "The locator of the signer" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "description": "Additional metadata about the signature submission", "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } } } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "description": "Number of required approvals for the transaction", "type": "number" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "description": "ISO timestamp when the signature was created", "type": "number" }, "completedAt": { "description": "ISO timestamp when the transaction reached finality", "type": "number" }, "error": { "description": "Error message if the transaction fails after submission", "anyOf": [ { "type": "object", "properties": { "reason": { "anyOf": [ { "type": "string", "enum": ["build_failed"] }, { "type": "string", "enum": ["failed_to_land_on_chain"] }, { "type": "string", "enum": ["unknown"] }, { "type": "string", "enum": ["sanctioned_wallet_address"] } ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "revert": { "type": "object", "description": "Revert reason from smart contract", "properties": { "type": { "anyOf": [ { "type": "string", "enum": ["contract_call"] }, { "type": "string", "enum": ["wallet_authorization"] }, { "type": "string", "enum": ["wallet_deployment"] } ] }, "reason": { "type": "string" }, "reasonData": { "anyOf": [ { "type": "string" }, { "type": "object", "additionalProperties": true } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"], "example": { "type": "contract_call", "reason": "ERC20: transfer amount exceeds balance" } } }, "required": ["reason", "message"] } ] }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "description": "The amount of the token to send", "type": "string" }, "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", "description": "The type of wallet that created this transaction", "enum": ["solana-mpc-wallet"] }, "params": { "type": "object", "properties": { "transaction": { "type": "string", "description": "Base58 encoded serialized Solana transaction", "example": "4hXTCkRzt9WyecNzV1XPgCDfGAZzQKNxLXgynz5QDuWWPSAZBZSHptvWRL3BjCvzUXRdKvHL2b7yGrRQcWyaqsaBCncVG7BFggS8w9snUts67BSh3EqKpXLUm5UMHfD7ZBe9GhARjbNQMLJ1QD3Spr6oMTBU6EhdB4RD8CP2xUxr2u3d6fos36PD98XS6oX8TQjLpsMwncs5DAMiD4nNnR8NBfyghGCWvCVifVwvA8B8TJxE1aiyiv2L429BCWfyzAme5sZW8rDb14NeCQHhZbtNqfXhcp2tAnaAT" }, "requiredSigners": { "description": "Optional array of additional signers required for the transaction", "type": "array", "items": { "type": "string", "description": "The locator of the signer" } } }, "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": { "description": "ISO timestamp when the signature was created", "type": "number" }, "signer": { "type": "string", "description": "The locator of the signer" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "description": "Additional metadata about the signature submission", "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } } } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "description": "Number of required approvals for the transaction", "type": "number" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "description": "ISO timestamp when the signature was created", "type": "number" }, "completedAt": { "description": "ISO timestamp when the transaction reached finality", "type": "number" }, "error": { "description": "Error message if the transaction fails after submission", "anyOf": [ { "type": "object", "properties": { "reason": { "anyOf": [ { "type": "string", "enum": ["build_failed"] }, { "type": "string", "enum": ["failed_to_land_on_chain"] }, { "type": "string", "enum": ["unknown"] }, { "type": "string", "enum": ["sanctioned_wallet_address"] } ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "revert": { "type": "object", "description": "Revert reason from smart contract", "properties": { "type": { "anyOf": [ { "type": "string", "enum": ["contract_call"] }, { "type": "string", "enum": ["wallet_authorization"] }, { "type": "string", "enum": ["wallet_deployment"] } ] }, "reason": { "type": "string" }, "reasonData": { "anyOf": [ { "type": "string" }, { "type": "object", "additionalProperties": true } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"], "example": { "type": "contract_call", "reason": "ERC20: transfer amount exceeds balance" } } }, "required": ["reason", "message"] } ] }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "description": "The amount of the token to send", "type": "string" }, "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", "description": "The type of wallet that created this transaction", "enum": ["evm-mpc-wallet"] }, "params": { "type": "object", "properties": { "call": { "anyOf": [ { "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": { "description": "The ABI for the function to call", "type": "array", "items": {} }, "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", "arc-testnet", "avalanche-fuji", "curtis", "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", "plume-testnet", "flow-testnet", "tempo-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "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", "plume", "flow", "tempo" ], "description": "The chain on which the signature will be submitted" } }, "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", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "explorerLink": { "type": "string" } }, "required": ["call"], "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": { "description": "ISO timestamp when the signature was created", "type": "number" }, "signer": { "type": "string", "description": "The locator of the signer" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "description": "Additional metadata about the signature submission", "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } } } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "description": "Number of required approvals for the transaction", "type": "number" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "description": "ISO timestamp when the signature was created", "type": "number" }, "completedAt": { "description": "ISO timestamp when the transaction reached finality", "type": "number" }, "error": { "description": "Error message if the transaction fails after submission", "anyOf": [ { "type": "object", "properties": { "reason": { "anyOf": [ { "type": "string", "enum": ["build_failed"] }, { "type": "string", "enum": ["failed_to_land_on_chain"] }, { "type": "string", "enum": ["unknown"] }, { "type": "string", "enum": ["sanctioned_wallet_address"] } ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "revert": { "type": "object", "description": "Revert reason from smart contract", "properties": { "type": { "anyOf": [ { "type": "string", "enum": ["contract_call"] }, { "type": "string", "enum": ["wallet_authorization"] }, { "type": "string", "enum": ["wallet_deployment"] } ] }, "reason": { "type": "string" }, "reasonData": { "anyOf": [ { "type": "string" }, { "type": "object", "additionalProperties": true } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"], "example": { "type": "contract_call", "reason": "ERC20: transfer amount exceeds balance" } } }, "required": ["reason", "message"] } ] }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "description": "The amount of the token to send", "type": "string" }, "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", "description": "The type of wallet that created this transaction", "enum": ["solana-smart-wallet"] }, "params": { "type": "object", "properties": { "transaction": { "type": "string", "description": "Base58 encoded serialized Solana transaction", "example": "4hXTCkRzt9WyecNzV1XPgCDfGAZzQKNxLXgynz5QDuWWPSAZBZSHptvWRL3BjCvzUXRdKvHL2b7yGrRQcWyaqsaBCncVG7BFggS8w9snUts67BSh3EqKpXLUm5UMHfD7ZBe9GhARjbNQMLJ1QD3Spr6oMTBU6EhdB4RD8CP2xUxr2u3d6fos36PD98XS6oX8TQjLpsMwncs5DAMiD4nNnR8NBfyghGCWvCVifVwvA8B8TJxE1aiyiv2L429BCWfyzAme5sZW8rDb14NeCQHhZbtNqfXhcp2tAnaAT" }, "requiredSigners": { "description": "Optional array of additional signers required for the transaction", "type": "array", "items": { "type": "string", "description": "The locator of the signer" } }, "signer": { "description": "The locator for the signer who will submit this transaction. Defaults to the admin signer.", "type": "string" }, "feeConfig": { "anyOf": [ { "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 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": { "description": "ISO timestamp when the signature was created", "type": "number" }, "signer": { "type": "string", "description": "The locator of the signer" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "description": "Additional metadata about the signature submission", "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } } } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "description": "Number of required approvals for the transaction", "type": "number" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "description": "ISO timestamp when the signature was created", "type": "number" }, "completedAt": { "description": "ISO timestamp when the transaction reached finality", "type": "number" }, "error": { "description": "Error message if the transaction fails after submission", "anyOf": [ { "type": "object", "properties": { "reason": { "anyOf": [ { "type": "string", "enum": ["build_failed"] }, { "type": "string", "enum": ["failed_to_land_on_chain"] }, { "type": "string", "enum": ["unknown"] }, { "type": "string", "enum": ["sanctioned_wallet_address"] } ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "revert": { "type": "object", "description": "Revert reason from smart contract", "properties": { "type": { "anyOf": [ { "type": "string", "enum": ["contract_call"] }, { "type": "string", "enum": ["wallet_authorization"] }, { "type": "string", "enum": ["wallet_deployment"] } ] }, "reason": { "type": "string" }, "reasonData": { "anyOf": [ { "type": "string" }, { "type": "object", "additionalProperties": true } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"], "example": { "type": "contract_call", "reason": "ERC20: transfer amount exceeds balance" } } }, "required": ["reason", "message"] } ] }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "description": "The amount of the token to send", "type": "string" }, "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" } ] }, "WalletsV1Alpha2TransactionResponseWithSendParamsDTOClass": { "oneOf": [ { "type": "object", "properties": { "walletType": { "type": "string", "description": "The type of wallet that created this transaction", "enum": ["evm-smart-wallet"] }, "params": { "type": "object", "properties": { "calls": { "minItems": 1, "type": "array", "items": { "anyOf": [ { "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": { "description": "The ABI for the function to call", "type": "array", "items": {} }, "args": { "type": "array", "items": {}, "description": "The arguments to pass to the function" }, "value": { "default": "0", "description": "The amount of native token to send in wei", "type": "string" } }, "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" }, "description": "Array of transaction calls to execute" }, "chain": { "description": "The chain where the signer will be registered" }, "signer": { "description": "The locator for the signer who will submit this transaction", "type": "string" } }, "required": ["calls", "chain"], "description": "EVM smart wallet transaction parameters" }, "onChain": { "type": "object", "properties": { "userOperation": { "type": "object", "properties": { "sender": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "nonce": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "callData": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "callGasLimit": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "verificationGasLimit": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "preVerificationGas": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "maxFeePerGas": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "maxPriorityFeePerGas": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "paymaster": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "paymasterVerificationGasLimit": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "paymasterData": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "paymasterPostOpGasLimit": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "signature": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "factory": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "factoryData": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" } }, "required": [ "sender", "nonce", "callData", "callGasLimit", "verificationGasLimit", "preVerificationGas", "maxFeePerGas", "maxPriorityFeePerGas", "signature" ] }, "userOperationHash": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "txId": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "proxiedTxId": { "type": "string", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "explorerLink": { "type": "string" } }, "required": ["userOperation", "userOperationHash"], "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": { "description": "ISO timestamp when the signature was created", "type": "number" }, "signer": { "type": "string", "description": "The locator of the signer" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "description": "Additional metadata about the signature submission", "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } } } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "description": "Number of required approvals for the transaction", "type": "number" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "description": "ISO timestamp when the signature was created", "type": "number" }, "completedAt": { "description": "ISO timestamp when the transaction reached finality", "type": "number" }, "error": { "description": "Error message if the transaction fails after submission", "anyOf": [ { "type": "object", "properties": { "reason": { "anyOf": [ { "type": "string", "enum": ["build_failed"] }, { "type": "string", "enum": ["failed_to_land_on_chain"] }, { "type": "string", "enum": ["unknown"] }, { "type": "string", "enum": ["sanctioned_wallet_address"] } ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "revert": { "type": "object", "description": "Revert reason from smart contract", "properties": { "type": { "anyOf": [ { "type": "string", "enum": ["contract_call"] }, { "type": "string", "enum": ["wallet_authorization"] }, { "type": "string", "enum": ["wallet_deployment"] } ] }, "reason": { "type": "string" }, "reasonData": { "anyOf": [ { "type": "string" }, { "type": "object", "additionalProperties": true } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"], "example": { "type": "contract_call", "reason": "ERC20: transfer amount exceeds balance" } } }, "required": ["reason", "message"] } ] }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "description": "The amount of the token to send", "type": "string" }, "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", "description": "The type of wallet that created this transaction", "enum": ["solana-mpc-wallet"] }, "params": { "type": "object", "properties": { "transaction": { "type": "string", "description": "Base58 encoded serialized Solana transaction", "example": "4hXTCkRzt9WyecNzV1XPgCDfGAZzQKNxLXgynz5QDuWWPSAZBZSHptvWRL3BjCvzUXRdKvHL2b7yGrRQcWyaqsaBCncVG7BFggS8w9snUts67BSh3EqKpXLUm5UMHfD7ZBe9GhARjbNQMLJ1QD3Spr6oMTBU6EhdB4RD8CP2xUxr2u3d6fos36PD98XS6oX8TQjLpsMwncs5DAMiD4nNnR8NBfyghGCWvCVifVwvA8B8TJxE1aiyiv2L429BCWfyzAme5sZW8rDb14NeCQHhZbtNqfXhcp2tAnaAT" }, "requiredSigners": { "description": "Optional array of additional signers required for the transaction", "type": "array", "items": { "type": "string", "description": "The locator of the signer" } } }, "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": { "description": "ISO timestamp when the signature was created", "type": "number" }, "signer": { "type": "string", "description": "The locator of the signer" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "description": "Additional metadata about the signature submission", "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } } } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "description": "Number of required approvals for the transaction", "type": "number" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "description": "ISO timestamp when the signature was created", "type": "number" }, "completedAt": { "description": "ISO timestamp when the transaction reached finality", "type": "number" }, "error": { "description": "Error message if the transaction fails after submission", "anyOf": [ { "type": "object", "properties": { "reason": { "anyOf": [ { "type": "string", "enum": ["build_failed"] }, { "type": "string", "enum": ["failed_to_land_on_chain"] }, { "type": "string", "enum": ["unknown"] }, { "type": "string", "enum": ["sanctioned_wallet_address"] } ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "revert": { "type": "object", "description": "Revert reason from smart contract", "properties": { "type": { "anyOf": [ { "type": "string", "enum": ["contract_call"] }, { "type": "string", "enum": ["wallet_authorization"] }, { "type": "string", "enum": ["wallet_deployment"] } ] }, "reason": { "type": "string" }, "reasonData": { "anyOf": [ { "type": "string" }, { "type": "object", "additionalProperties": true } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"], "example": { "type": "contract_call", "reason": "ERC20: transfer amount exceeds balance" } } }, "required": ["reason", "message"] } ] }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "description": "The amount of the token to send", "type": "string" }, "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", "description": "The type of wallet that created this transaction", "enum": ["evm-mpc-wallet"] }, "params": { "type": "object", "properties": { "call": { "anyOf": [ { "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": { "description": "The ABI for the function to call", "type": "array", "items": {} }, "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", "arc-testnet", "avalanche-fuji", "curtis", "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", "plume-testnet", "flow-testnet", "tempo-testnet", "ethereum", "polygon", "bsc", "optimism", "arbitrum", "base", "zora", "arbitrumnova", "astar-zkevm", "apechain", "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", "plume", "flow", "tempo" ], "description": "The chain on which the signature will be submitted" } }, "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", "title": "Hex String", "description": "The allowance for the permission. e.g. '0x1'" }, "explorerLink": { "type": "string" } }, "required": ["call"], "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": { "description": "ISO timestamp when the signature was created", "type": "number" }, "signer": { "type": "string", "description": "The locator of the signer" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "description": "Additional metadata about the signature submission", "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } } } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "description": "Number of required approvals for the transaction", "type": "number" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "description": "ISO timestamp when the signature was created", "type": "number" }, "completedAt": { "description": "ISO timestamp when the transaction reached finality", "type": "number" }, "error": { "description": "Error message if the transaction fails after submission", "anyOf": [ { "type": "object", "properties": { "reason": { "anyOf": [ { "type": "string", "enum": ["build_failed"] }, { "type": "string", "enum": ["failed_to_land_on_chain"] }, { "type": "string", "enum": ["unknown"] }, { "type": "string", "enum": ["sanctioned_wallet_address"] } ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "revert": { "type": "object", "description": "Revert reason from smart contract", "properties": { "type": { "anyOf": [ { "type": "string", "enum": ["contract_call"] }, { "type": "string", "enum": ["wallet_authorization"] }, { "type": "string", "enum": ["wallet_deployment"] } ] }, "reason": { "type": "string" }, "reasonData": { "anyOf": [ { "type": "string" }, { "type": "object", "additionalProperties": true } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"], "example": { "type": "contract_call", "reason": "ERC20: transfer amount exceeds balance" } } }, "required": ["reason", "message"] } ] }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "description": "The amount of the token to send", "type": "string" }, "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", "description": "The type of wallet that created this transaction", "enum": ["solana-smart-wallet"] }, "params": { "type": "object", "properties": { "transaction": { "type": "string", "description": "Base58 encoded serialized Solana transaction", "example": "4hXTCkRzt9WyecNzV1XPgCDfGAZzQKNxLXgynz5QDuWWPSAZBZSHptvWRL3BjCvzUXRdKvHL2b7yGrRQcWyaqsaBCncVG7BFggS8w9snUts67BSh3EqKpXLUm5UMHfD7ZBe9GhARjbNQMLJ1QD3Spr6oMTBU6EhdB4RD8CP2xUxr2u3d6fos36PD98XS6oX8TQjLpsMwncs5DAMiD4nNnR8NBfyghGCWvCVifVwvA8B8TJxE1aiyiv2L429BCWfyzAme5sZW8rDb14NeCQHhZbtNqfXhcp2tAnaAT" }, "requiredSigners": { "description": "Optional array of additional signers required for the transaction", "type": "array", "items": { "type": "string", "description": "The locator of the signer" } }, "signer": { "description": "The locator for the signer who will submit this transaction. Defaults to the admin signer.", "type": "string" }, "feeConfig": { "anyOf": [ { "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 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": { "description": "ISO timestamp when the signature was created", "type": "number" }, "signer": { "type": "string", "description": "The locator of the signer" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "description": "Additional metadata about the signature submission", "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } } } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "description": "Number of required approvals for the transaction", "type": "number" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "description": "ISO timestamp when the signature was created", "type": "number" }, "completedAt": { "description": "ISO timestamp when the transaction reached finality", "type": "number" }, "error": { "description": "Error message if the transaction fails after submission", "anyOf": [ { "type": "object", "properties": { "reason": { "anyOf": [ { "type": "string", "enum": ["build_failed"] }, { "type": "string", "enum": ["failed_to_land_on_chain"] }, { "type": "string", "enum": ["unknown"] }, { "type": "string", "enum": ["sanctioned_wallet_address"] } ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "revert": { "type": "object", "description": "Revert reason from smart contract", "properties": { "type": { "anyOf": [ { "type": "string", "enum": ["contract_call"] }, { "type": "string", "enum": ["wallet_authorization"] }, { "type": "string", "enum": ["wallet_deployment"] } ] }, "reason": { "type": "string" }, "reasonData": { "anyOf": [ { "type": "string" }, { "type": "object", "additionalProperties": true } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"], "example": { "type": "contract_call", "reason": "ERC20: transfer amount exceeds balance" } } }, "required": ["reason", "message"] } ] }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "description": "The amount of the token to send", "type": "string" }, "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" } ] }, "WalletV1Alpha2ErrorDTO": { "type": "object", "properties": { "error": { "type": "boolean", "enum": [true] }, "message": { "type": "string", "description": "Error message", "example": "" }, "code": { "type": "string", "description": "Optional stable error code identifying the specific failure case. Present when the backend raises a structured error that consumers may want to detect programmatically." } }, "required": ["error", "message"] }, "WalletV1Alpha2TransactionErrorDTO": { "type": "object", "properties": { "error": { "anyOf": [ { "type": "object", "properties": { "reason": { "anyOf": [ { "type": "string", "enum": ["build_failed"] }, { "type": "string", "enum": ["failed_to_land_on_chain"] }, { "type": "string", "enum": ["unknown"] }, { "type": "string", "enum": ["sanctioned_wallet_address"] } ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "revert": { "type": "object", "description": "Revert reason from smart contract", "properties": { "type": { "anyOf": [ { "type": "string", "enum": ["contract_call"] }, { "type": "string", "enum": ["wallet_authorization"] }, { "type": "string", "enum": ["wallet_deployment"] } ] }, "reason": { "type": "string" }, "reasonData": { "anyOf": [ { "type": "string" }, { "type": "object", "additionalProperties": true } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"], "example": { "type": "contract_call", "reason": "ERC20: transfer amount exceeds balance" } } }, "required": ["reason", "message"] } ], "description": "Error" }, "message": { "type": "string", "description": "Error message" } }, "required": ["error", "message"] }, "WalletV2025ResponseDTOClass": { "oneOf": [ { "type": "object", "properties": { "chainType": { "type": "string", "description": "The blockchain type of the wallet", "enum": ["evm"] }, "type": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)", "example": "smart" }, "config": { "description": "EVM wallet type specific configuration settings", "type": "object", "properties": { "adminSigner": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for external wallet signer type", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The blockchain address of the external wallet" }, "locator": { "description": "The locator of the signer", "type": "string" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Configuration for an external wallet signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for server signer type", "enum": ["server"] }, "address": { "type": "string", "description": "The blockchain address of the server signer" }, "locator": { "description": "The locator of the signer", "type": "string" } }, "required": ["type", "address", "locator"], "title": "Server Signer", "description": "Configuration for a server signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for API key signer type", "enum": ["api-key"] }, "address": { "anyOf": [ { "type": "string", "description": "The recipient address for this transaction call" }, { "type": "string", "description": "The Solana address of the custodial signer" }, { "type": "string" } ], "description": "The blockchain address of the custodial signer" }, "locator": { "description": "The locator of the signer", "type": "string" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Configuration for a custodial signer managed by Crossmint. Contact sales (https://www.crossmint.com/contact/sales) for access." }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for the Passkey signer type", "enum": ["passkey"] }, "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": "S component of the signature as a stringified bigint" }, "y": { "type": "string", "description": "S component of the signature as a stringified 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", "title": "Passkey Signer", "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", "description": "Identifier for email signer type", "enum": ["email"] }, "email": { "description": "The email address for the signer", "type": "string" }, "locator": { "description": "The locator of the signer", "type": "string" }, "address": { "anyOf": [ { "type": "string", "description": "The recipient address for this transaction call" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "email", "locator", "address"], "title": "Email Signer", "description": "Configuration for an email signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for phone signer type", "enum": ["phone"] }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" }, "locator": { "description": "The locator of the signer", "type": "string" }, "address": { "anyOf": [ { "type": "string", "description": "The recipient address for this transaction call" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "phone", "locator", "address"], "title": "Phone Signer", "description": "Configuration for a phone signer" } ] }, "delegatedSigners": { "description": "Optional array of additional signers for the wallet", "type": "array", "items": { "anyOf": [ { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for external wallet signer type", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The blockchain address of the external wallet" }, "locator": { "description": "The locator of the signer", "type": "string" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Configuration for an external wallet signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for server signer type", "enum": ["server"] }, "address": { "type": "string", "description": "The blockchain address of the server signer" }, "locator": { "description": "The locator of the signer", "type": "string" } }, "required": ["type", "address", "locator"], "title": "Server Signer", "description": "Configuration for a server signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for API key signer type", "enum": ["api-key"] }, "address": { "anyOf": [ { "type": "string", "description": "The recipient address for this transaction call" }, { "type": "string", "description": "The Solana address of the custodial signer" }, { "type": "string" } ], "description": "The blockchain address of the custodial signer" }, "locator": { "description": "The locator of the signer", "type": "string" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Configuration for a custodial signer managed by Crossmint. Contact sales (https://www.crossmint.com/contact/sales) for access." }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for the Passkey signer type", "enum": ["passkey"] }, "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": "S component of the signature as a stringified bigint" }, "y": { "type": "string", "description": "S component of the signature as a stringified 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", "title": "Passkey Signer", "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", "description": "Identifier for email signer type", "enum": ["email"] }, "email": { "description": "The email address for the signer", "type": "string" }, "locator": { "description": "The locator of the signer", "type": "string" }, "address": { "anyOf": [ { "type": "string", "description": "The recipient address for this transaction call" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "email", "locator", "address"], "title": "Email Signer", "description": "Configuration for an email signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for phone signer type", "enum": ["phone"] }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" }, "locator": { "description": "The locator of the signer", "type": "string" }, "address": { "anyOf": [ { "type": "string", "description": "The recipient address for this transaction call" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "phone", "locator", "address"], "title": "Phone Signer", "description": "Configuration for a phone signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for device signer type", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "The x coordinate of the p256 public key" }, "y": { "type": "string", "description": "The y coordinate of the p256 public key" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "description": "The locator of the signer", "type": "string" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Configuration for a device signer" } ] } } }, "required": ["adminSigner"] }, "address": { "type": "string", "description": "The onchain address of the wallet", "example": "0x1234567890123456789012345678901234567890" }, "owner": { "description": "The user that owns this wallet in format :", "type": "string", "example": "email:test@example.com" }, "createdAt": { "description": "ISO timestamp of when the wallet was created", "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ] }, "alias": { "description": "The wallet alias", "type": "string", "example": "my-usdc-wallet" } }, "required": ["chainType", "type", "address"], "title": "EVM wallet output" }, { "type": "object", "properties": { "chainType": { "type": "string", "description": "The blockchain type of the wallet", "enum": ["solana"] }, "type": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)", "example": "smart" }, "config": { "description": "Solana wallet type specific configuration settings", "type": "object", "properties": { "adminSigner": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for external wallet signer type", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The blockchain address of the external wallet" }, "locator": { "description": "The locator of the signer", "type": "string" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Configuration for an external wallet signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for server signer type", "enum": ["server"] }, "address": { "type": "string", "description": "The blockchain address of the server signer" }, "locator": { "description": "The locator of the signer", "type": "string" } }, "required": ["type", "address", "locator"], "title": "Server Signer", "description": "Configuration for a server signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for API key signer type", "enum": ["api-key"] }, "address": { "anyOf": [ { "type": "string", "description": "The recipient address for this transaction call" }, { "type": "string", "description": "The Solana address of the custodial signer" }, { "type": "string" } ], "description": "The blockchain address of the custodial signer" }, "locator": { "description": "The locator of the signer", "type": "string" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Configuration for a custodial signer managed by Crossmint. Contact sales (https://www.crossmint.com/contact/sales) for access." }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for email signer type", "enum": ["email"] }, "email": { "description": "The email address for the signer", "type": "string" }, "locator": { "description": "The locator of the signer", "type": "string" }, "address": { "anyOf": [ { "type": "string", "description": "The recipient address for this transaction call" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "email", "locator", "address"], "title": "Email Signer", "description": "Configuration for an email signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for phone signer type", "enum": ["phone"] }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" }, "locator": { "description": "The locator of the signer", "type": "string" }, "address": { "anyOf": [ { "type": "string", "description": "The recipient address for this transaction call" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "phone", "locator", "address"], "title": "Phone Signer", "description": "Configuration for a phone signer" } ] }, "delegatedSigners": { "description": "Optional array of additional signers for the wallet", "type": "array", "items": { "allOf": [ { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for the Passkey signer type", "enum": ["passkey"] }, "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": "S component of the signature as a stringified bigint" }, "y": { "type": "string", "description": "S component of the signature as a stringified 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", "title": "Passkey Signer", "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", "description": "Identifier for API key signer type", "enum": ["api-key"] }, "address": { "anyOf": [ { "type": "string", "description": "The recipient address for this transaction call" }, { "type": "string", "description": "The Solana address of the custodial signer" }, { "type": "string" } ], "description": "The blockchain address of the custodial signer" }, "locator": { "description": "The locator of the signer", "type": "string" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Configuration for a custodial signer managed by Crossmint. Contact sales (https://www.crossmint.com/contact/sales) for access." }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for external wallet signer type", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The blockchain address of the external wallet" }, "locator": { "description": "The locator of the signer", "type": "string" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Configuration for an external wallet signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for server signer type", "enum": ["server"] }, "address": { "type": "string", "description": "The blockchain address of the server signer" }, "locator": { "description": "The locator of the signer", "type": "string" } }, "required": ["type", "address", "locator"], "title": "Server Signer", "description": "Configuration for a server signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for email signer type", "enum": ["email"] }, "email": { "description": "The email address for the signer", "type": "string" }, "locator": { "description": "The locator of the signer", "type": "string" }, "address": { "anyOf": [ { "type": "string", "description": "The recipient address for this transaction call" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "email", "locator", "address"], "title": "Email Signer", "description": "Configuration for an email signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for phone signer type", "enum": ["phone"] }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" }, "locator": { "description": "The locator of the signer", "type": "string" }, "address": { "anyOf": [ { "type": "string", "description": "The recipient address for this transaction call" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "phone", "locator", "address"], "title": "Phone Signer", "description": "Configuration for a phone signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for device signer type", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "The x coordinate of the p256 public key" }, "y": { "type": "string", "description": "The y coordinate of the p256 public key" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "description": "The locator of the signer", "type": "string" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Configuration for a device signer" } ], "description": "Response schema for a registered signer" }, { "type": "object", "properties": { "scopes": { "description": "Optional array of scopes restricting the signer's capabilities", "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "enum": ["transfer"] }, "tokenLocator": { "type": "string" }, "recipients": { "type": "array", "items": { "type": "string" } }, "spendingLimit": { "type": "object", "properties": { "amount": { "type": "string" }, "interval": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["amount"] } }, "required": ["type", "tokenLocator"], "title": "Transfer", "description": "Scope to transfer tokens with optional spending limits and recipient restrictions", "example": { "type": "transfer", "tokenLocator": "stellar:usdc", "recipients": [ "GDUCX62IF76FFIYRNI25LJDS2V43QEZDY4YNF2DJWVIASN5LKX76Q4TW" ], "spendingLimit": { "amount": "100", "interval": 86400 } } }, "example": { "type": "transfer", "tokenLocator": "solana:sol", "spendingLimit": { "amount": "1" } } }, "expiresAt": { "description": "The expiry date of the signer in ISO 8601 format", "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ] }, "transaction": { "description": "The transaction for the signer", "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"], "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": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": [ "external-wallet" ] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": [ "type", "address", "locator" ], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "passkey" ] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": [ "type", "id", "locator" ], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "api-key" ] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": [ "type", "address", "locator" ], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "device" ] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": [ "x", "y" ], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": [ "type", "publicKey", "locator" ], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "email" ] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "server" ] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": [ "type", "address", "locator" ] } ], "description": "The full signer object who submitted this signature" }, "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": { "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created" }, "signer": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": [ "external-wallet" ] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": [ "type", "address", "locator" ], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "passkey" ] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": [ "type", "id", "locator" ], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "api-key" ] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": [ "type", "address", "locator" ], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "device" ] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": [ "x", "y" ], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": [ "type", "publicKey", "locator" ], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "email" ] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "server" ] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": [ "type", "address", "locator" ] } ], "description": "The full signer object who submitted this signature" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "description": "Additional metadata about the signature submission", "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } } } }, "required": [ "signature", "submittedAt", "signer", "message" ] }, "description": "Record of all submitted signatures" }, "required": { "description": "Number of required approvals for the transaction", "type": "number" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created" }, "completedAt": { "description": "ISO timestamp when the transaction reached finality", "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ] }, "error": { "description": "Error message if the transaction fails after submission", "anyOf": [ { "type": "object", "properties": { "reason": { "anyOf": [ { "type": "string", "enum": ["build_failed"] }, { "type": "string", "enum": [ "failed_to_land_on_chain" ] }, { "type": "string", "enum": ["unknown"] }, { "type": "string", "enum": [ "sanctioned_wallet_address" ] } ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "revert": { "type": "object", "description": "Revert reason from smart contract", "properties": { "type": { "anyOf": [ { "type": "string", "enum": [ "contract_call" ] }, { "type": "string", "enum": [ "wallet_authorization" ] }, { "type": "string", "enum": [ "wallet_deployment" ] } ] }, "reason": { "type": "string" }, "reasonData": { "anyOf": [ { "type": "string" }, { "type": "object", "additionalProperties": true } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"], "example": { "type": "contract_call", "reason": "ERC20: transfer amount exceeds balance" } } }, "required": ["reason", "message"] } ] }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "description": "The amount of the token to send", "type": "string" }, "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"] }, "fees": { "description": "Transaction fee information including actual gas costs, billed amounts, and billing status", "type": "object", "properties": { "mode": { "type": "string", "enum": [ "user-native", "user-fungible", "project" ] }, "estimate": {}, "actual": {}, "billed": { "type": "object", "properties": { "usd": { "type": "number" } }, "required": ["usd"] }, "billing": { "type": "object", "properties": { "status": { "type": "string", "enum": [ "pending", "settled", "failed" ] } }, "required": ["status"] } }, "required": ["mode"] }, "walletType": { "type": "string", "enum": ["smart"] } }, "required": [ "chainType", "onChain", "id", "status", "createdAt", "walletType" ] } } } ], "title": "Solana Delegated Signer Response", "description": "Complete delegated signer response including the signer and authorization transaction" } } }, "required": ["adminSigner"] }, "address": { "type": "string", "description": "The onchain address of the wallet", "example": "0x1234567890123456789012345678901234567890" }, "owner": { "description": "The user that owns this wallet in format :", "type": "string", "example": "email:test@example.com" }, "createdAt": { "description": "ISO timestamp of when the wallet was created", "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ] }, "alias": { "description": "The wallet alias", "type": "string", "example": "my-usdc-wallet" } }, "required": ["chainType", "type", "address"], "title": "Solana wallet output" }, { "type": "object", "properties": { "chainType": { "type": "string", "description": "The blockchain type of the wallet", "enum": ["aptos"] }, "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": { "description": "The user that owns this wallet in format :", "type": "string", "example": "email:test@example.com" }, "createdAt": { "description": "ISO timestamp of when the wallet was created", "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ] }, "alias": { "description": "The wallet alias", "type": "string", "example": "my-usdc-wallet" } }, "required": ["chainType", "type", "address"], "title": "Aptos wallet output" }, { "type": "object", "properties": { "chainType": { "type": "string", "description": "The blockchain type of the wallet", "enum": ["sui"] }, "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": { "description": "The user that owns this wallet in format :", "type": "string", "example": "email:test@example.com" }, "createdAt": { "description": "ISO timestamp of when the wallet was created", "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ] }, "alias": { "description": "The wallet alias", "type": "string", "example": "my-usdc-wallet" } }, "required": ["chainType", "type", "address"], "title": "Sui wallet output" }, { "type": "object", "properties": { "chainType": { "type": "string", "description": "The blockchain type of the wallet", "enum": ["stellar"] }, "type": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)", "example": "smart" }, "config": { "description": "Stellar wallet type specific configuration settings", "type": "object", "properties": { "adminSigner": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for external wallet signer type", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The blockchain address of the external wallet" }, "locator": { "description": "The locator of the signer", "type": "string" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Configuration for an external wallet signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for server signer type", "enum": ["server"] }, "address": { "type": "string", "description": "The blockchain address of the server signer" }, "locator": { "description": "The locator of the signer", "type": "string" } }, "required": ["type", "address", "locator"], "title": "Server Signer", "description": "Configuration for a server signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for email signer type", "enum": ["email"] }, "email": { "description": "The email address for the signer", "type": "string" }, "locator": { "description": "The locator of the signer", "type": "string" }, "address": { "anyOf": [ { "type": "string", "description": "The recipient address for this transaction call" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "email", "locator", "address"], "title": "Email Signer", "description": "Configuration for an email signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for phone signer type", "enum": ["phone"] }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" }, "locator": { "description": "The locator of the signer", "type": "string" }, "address": { "anyOf": [ { "type": "string", "description": "The recipient address for this transaction call" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "phone", "locator", "address"], "title": "Phone Signer", "description": "Configuration for a phone signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for API key signer type", "enum": ["api-key"] }, "address": { "anyOf": [ { "type": "string", "description": "The recipient address for this transaction call" }, { "type": "string", "description": "The Solana address of the custodial signer" }, { "type": "string" } ], "description": "The blockchain address of the custodial signer" }, "locator": { "description": "The locator of the signer", "type": "string" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Configuration for a custodial signer managed by Crossmint. Contact sales (https://www.crossmint.com/contact/sales) for access." } ] }, "delegatedSigners": { "description": "Optional array of additional signers for the wallet", "type": "array", "items": { "allOf": [ { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for the Passkey signer type", "enum": ["passkey"] }, "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": "S component of the signature as a stringified bigint" }, "y": { "type": "string", "description": "S component of the signature as a stringified 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", "title": "Passkey Signer", "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", "description": "Identifier for API key signer type", "enum": ["api-key"] }, "address": { "anyOf": [ { "type": "string", "description": "The recipient address for this transaction call" }, { "type": "string", "description": "The Solana address of the custodial signer" }, { "type": "string" } ], "description": "The blockchain address of the custodial signer" }, "locator": { "description": "The locator of the signer", "type": "string" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Configuration for a custodial signer managed by Crossmint. Contact sales (https://www.crossmint.com/contact/sales) for access." }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for external wallet signer type", "enum": ["external-wallet"] }, "address": { "type": "string", "description": "The blockchain address of the external wallet" }, "locator": { "description": "The locator of the signer", "type": "string" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Configuration for an external wallet signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for server signer type", "enum": ["server"] }, "address": { "type": "string", "description": "The blockchain address of the server signer" }, "locator": { "description": "The locator of the signer", "type": "string" } }, "required": ["type", "address", "locator"], "title": "Server Signer", "description": "Configuration for a server signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for email signer type", "enum": ["email"] }, "email": { "description": "The email address for the signer", "type": "string" }, "locator": { "description": "The locator of the signer", "type": "string" }, "address": { "anyOf": [ { "type": "string", "description": "The recipient address for this transaction call" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "email", "locator", "address"], "title": "Email Signer", "description": "Configuration for an email signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for phone signer type", "enum": ["phone"] }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" }, "locator": { "description": "The locator of the signer", "type": "string" }, "address": { "anyOf": [ { "type": "string", "description": "The recipient address for this transaction call" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "phone", "locator", "address"], "title": "Phone Signer", "description": "Configuration for a phone signer" }, { "type": "object", "properties": { "type": { "type": "string", "description": "Identifier for device signer type", "enum": ["device"] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "The x coordinate of the p256 public key" }, "y": { "type": "string", "description": "The y coordinate of the p256 public key" } }, "required": ["x", "y"], "description": "The p256 public key of the device signer" }, "locator": { "description": "The locator of the signer", "type": "string" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Configuration for a device signer" } ], "description": "Response schema for a registered signer" }, { "type": "object", "properties": { "scopes": { "description": "Optional array of scopes restricting the signer's capabilities", "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "enum": ["transfer"] }, "tokenLocator": { "type": "string" }, "recipients": { "type": "array", "items": { "type": "string" } }, "spendingLimit": { "type": "object", "properties": { "amount": { "type": "string" }, "interval": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["amount"] } }, "required": ["type", "tokenLocator"], "title": "Transfer", "description": "Scope to transfer tokens with optional spending limits and recipient restrictions", "example": { "type": "transfer", "tokenLocator": "stellar:usdc", "recipients": [ "GDUCX62IF76FFIYRNI25LJDS2V43QEZDY4YNF2DJWVIASN5LKX76Q4TW" ], "spendingLimit": { "amount": "100", "interval": 86400 } } }, "example": { "type": "transfer", "tokenLocator": "stellar:usdc", "spendingLimit": { "amount": "100" } } }, "expiresAt": { "description": "The expiry date of the signer in ISO 8601 format", "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ] }, "transaction": { "description": "The transaction for the signer", "type": "object", "properties": { "chainType": { "type": "string", "enum": ["stellar"] }, "onChain": { "type": "object", "properties": { "transaction": { "type": "object", "properties": { "method": { "type": "string" }, "tx": { "type": "string" } }, "required": ["method", "tx"], "title": "Stellar on-chain transaction", "description": "The Stellar Transaction Envelope" }, "txId": { "description": "The transaction hash", "type": "string" }, "ledger": { "description": "The ledger number where the transaction was included", "type": "number" }, "expiration": { "type": "number", "description": "The expiration of the transaction" }, "result": { "description": "The Transaction Result in XDR format" }, "explorerLink": { "description": "Optional link to view the transaction in an explorer", "type": "string" } }, "required": ["transaction", "expiration"], "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": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": [ "external-wallet" ] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": [ "type", "address", "locator" ], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "passkey" ] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": [ "type", "id", "locator" ], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "api-key" ] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": [ "type", "address", "locator" ], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "device" ] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": [ "x", "y" ], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": [ "type", "publicKey", "locator" ], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "email" ] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "server" ] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": [ "type", "address", "locator" ] } ], "description": "The full signer object who submitted this signature" }, "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": { "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created" }, "signer": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": [ "external-wallet" ] }, "address": { "type": "string", "description": "The address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the external wallet signer" } }, "required": [ "type", "address", "locator" ], "title": "External Wallet Signer", "description": "Full External Wallet signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "passkey" ] }, "id": { "type": "string", "description": "The ID of the passkey" }, "locator": { "type": "string", "description": "The locator of the passkey signer" } }, "required": [ "type", "id", "locator" ], "title": "Passkey Signer", "description": "Full Passkey signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "api-key" ] }, "address": { "type": "string", "description": "The address of the api key" }, "locator": { "type": "string", "description": "The locator of the api key signer" } }, "required": [ "type", "address", "locator" ], "title": "API Key Signer", "description": "Full API Key signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "device" ] }, "publicKey": { "type": "object", "properties": { "x": { "type": "string" }, "y": { "type": "string" } }, "required": [ "x", "y" ], "description": "The p256 public key of the device signer" }, "locator": { "type": "string", "description": "The locator of the device signer" }, "name": { "description": "Optional human-readable name for the device signer", "type": "string" } }, "required": [ "type", "publicKey", "locator" ], "title": "Device Signer", "description": "Full Device signer object" }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "email" ] }, "email": { "type": "string", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "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" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "server" ] }, "address": { "type": "string" }, "locator": { "type": "string" } }, "required": [ "type", "address", "locator" ] } ], "description": "The full signer object who submitted this signature" }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "description": "Additional metadata about the signature submission", "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } } } }, "required": [ "signature", "submittedAt", "signer", "message" ] }, "description": "Record of all submitted signatures" }, "required": { "description": "Number of required approvals for the transaction", "type": "number" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created" }, "completedAt": { "description": "ISO timestamp when the transaction reached finality", "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ] }, "error": { "description": "Error message if the transaction fails after submission", "anyOf": [ { "type": "object", "properties": { "reason": { "anyOf": [ { "type": "string", "enum": ["build_failed"] }, { "type": "string", "enum": [ "failed_to_land_on_chain" ] }, { "type": "string", "enum": ["unknown"] }, { "type": "string", "enum": [ "sanctioned_wallet_address" ] } ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": true }, "revert": { "type": "object", "description": "Revert reason from smart contract", "properties": { "type": { "anyOf": [ { "type": "string", "enum": [ "contract_call" ] }, { "type": "string", "enum": [ "wallet_authorization" ] }, { "type": "string", "enum": [ "wallet_deployment" ] } ] }, "reason": { "type": "string" }, "reasonData": { "anyOf": [ { "type": "string" }, { "type": "object", "additionalProperties": true } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"], "example": { "type": "contract_call", "reason": "ERC20: transfer amount exceeds balance" } } }, "required": ["reason", "message"] } ] }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "description": "The amount of the token to send", "type": "string" }, "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"] }, "fees": { "description": "Transaction fee information including actual gas costs, billed amounts, and billing status", "type": "object", "properties": { "mode": { "type": "string", "enum": [ "user-native", "user-fungible", "project" ] }, "estimate": {}, "actual": {}, "billed": { "type": "object", "properties": { "usd": { "type": "number" } }, "required": ["usd"] }, "billing": { "type": "object", "properties": { "status": { "type": "string", "enum": [ "pending", "settled", "failed" ] } }, "required": ["status"] } }, "required": ["mode"] }, "walletType": { "type": "string", "enum": ["smart"] } }, "required": [ "chainType", "onChain", "id", "status", "createdAt", "walletType" ] } } } ], "title": "Stellar Delegated Signer Response", "description": "Complete delegated signer response including the signer and authorization transaction" } }, "plugins": { "description": "Optional array of plugins used for the wallet", "type": "array", "items": { "type": "string" }, "example": "CA3SGE76PWYAM4OVKETY47GASUGYDF3Y3QFFSPIWFCNKQLUOO4SOIT2W" } }, "required": ["adminSigner"] }, "address": { "type": "string", "description": "The onchain address of the wallet", "example": "0x1234567890123456789012345678901234567890" }, "owner": { "description": "The user that owns this wallet in format :", "type": "string", "example": "email:test@example.com" }, "createdAt": { "description": "ISO timestamp of when the wallet was created", "anyOf": [ { "description": "ISO timestamp when the signature was created", "type": "number" }, { "type": "string" } ] }, "alias": { "description": "The wallet alias", "type": "string", "example": "my-usdc-wallet" } }, "required": ["chainType", "type", "address"], "title": "Stellar wallet output" } ] } } } }