{ "openapi": "3.0.0", "paths": { "/v1-alpha2/wallets/{walletLocator}/balances": { "get": { "operationId": "BalanceController-getBalanceForLocator-2", "summary": "Get Wallet Balance", "description": "Get the balance of a wallet for a given chain and currency\n\n**API scope required**: `wallets:balance.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::`\n- `userId::`\n- `userId::` (white label user example)\n- `phoneNumber::`\n- `twitter::`\n- `x::`\n- `me:` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm-smart-wallet", "userId:507f1f77bcf86cd799439011:solana-mpc-wallet", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm-smart-wallet", "phoneNumber:+12125551234:evm-smart-wallet", "twitter:johndoe:evm-smart-wallet", "x:@johndoe:evm-smart-wallet", "me:evm-smart-wallet" ], "schema": { "type": "string" } }, { "name": "chains", "required": false, "in": "query", "description": "The blockchain(s) to query. Comma-separated list of chains", "example": "ethereum,polygon,stellar", "schema": { "type": "string" } }, { "name": "tokens", "required": true, "in": "query", "description": "The tokens to query. Comma-separated list", "example": "eth,usdc,xlm", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Returns the balance of the wallet for the given chain and currency", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletBalanceResponseDTO" } } } }, "400": { "description": "Returns an error (400) if the wallet locator is invalid or if the address type is not supported", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } }, "post": { "operationId": "BalanceController-fundWallet-2", "summary": "Fund Wallet", "description": "Send funds to a wallet.\n\n**API scope required**: `wallets.fund`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::`\n- `userId::`\n- `userId::` (white label user example)\n- `phoneNumber::`\n- `twitter::`\n- `x::`\n- `me:` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm-smart-wallet", "userId:507f1f77bcf86cd799439011:solana-mpc-wallet", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm-smart-wallet", "phoneNumber:+12125551234:evm-smart-wallet", "twitter:johndoe:evm-smart-wallet", "x:@johndoe:evm-smart-wallet", "me:evm-smart-wallet" ], "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FundWalletAmountDTO" } } } }, "responses": { "201": { "description": "Funds sent successfully.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletBalanceResponseDTO" } } } }, "404": { "description": "Returns an error (404) if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/unstable/wallets/me{walletType}/tokens/{tokenLocator}/transfers": { "post": { "operationId": "WalletsSendTokenController-sendMeToken-2", "summary": "Transfer Token For Authenticated User", "description": "Sends a token of any type from the authenticated user's wallet to a recipient", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletType", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "tokenLocator", "required": true, "in": "path", "description": "A token locator that supports native tokens, fungible tokens, and NFTs across different chains. It can be of the format:\n- `chain:address[:tokenId]`\n- `chain:currency`\n- `chain:address`", "example": [ "ethereum:eth", "ethereum:0x1234...890", "ethereum:0x1234...890:1", "solana:sol", "solana:EPjF...Dt1v", "sui:sui", "sui:0x123...xyz", "aptos:apt", "aptos:0x123...xyz", "stellar:CA5...XYZ", "stellar:usdc:GA5...VN" ], "schema": { "type": "string" } }, { "name": "x-idempotency-key", "required": false, "in": "header", "description": "Unique key to prevent duplicate transaction creation", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SendTokenDTO" } } } }, "responses": { "201": { "description": "The transaction has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2TransactionResponseDTO" } } } } } } }, "/unstable/wallets/me{walletLocator}/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": { "default": "30", "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.", "example": "ethereum", "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" } }, { "name": "tokens", "required": true, "in": "query", "description": "The tokens to query. Comma-separated list of either tokens or token locator strings", "example": "eth,base:0x123,solana:sol", "schema": { "type": "string" } }, { "name": "status", "required": true, "in": "query", "description": "The status of the transfers to query", "example": "successful", "schema": { "enum": ["successful", "failed"], "type": "string" } }, { "name": "fromDate", "required": false, "in": "query", "description": "Filter transfers from this date (inclusive). ISO 8601 format. Supported for EVM and Stellar chains.", "example": "2024-01-01T00:00:00Z", "schema": { "format": "date-time", "type": "string" } }, { "name": "toDate", "required": false, "in": "query", "description": "Filter transfers until this date (inclusive). ISO 8601 format. Supported for EVM and Stellar chains.", "example": "2024-12-31T23:59:59Z", "schema": { "format": "date-time", "type": "string" } } ], "responses": { "200": { "description": "The wallet activity has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsActivityResponseUnstableDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified type not found for the authenticated user", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/unstable/wallets/{walletLocator}/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:`", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm:smart", "email:user@example.com:evm", "email:user@example.com:evm:smart:alias:myWallet", "userId:507f1f77bcf86cd799439011:solana:mpc", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm:smart", "userId:507f1f77bcf86cd799439011:evm:alias:primary", "phoneNumber:+12125551234:evm:smart", "phoneNumber:+12125551234:evm:smart:alias:mobile", "twitter:johndoe:evm:smart", "x:@johndoe:evm:smart:alias:xWallet", "me:evm:smart", "me:evm:smart:alias:personal", "evm:alias:myAlias" ], "schema": { "type": "string" } }, { "name": "cursor", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "limit", "required": false, "in": "query", "schema": { "default": "30", "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.", "example": "ethereum", "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" } }, { "name": "tokens", "required": true, "in": "query", "description": "The tokens to query. Comma-separated list of either tokens or token locator strings", "example": "eth,base:0x123,solana:sol", "schema": { "type": "string" } }, { "name": "status", "required": true, "in": "query", "description": "The status of the transfers to query", "example": "successful", "schema": { "enum": ["successful", "failed"], "type": "string" } }, { "name": "fromDate", "required": false, "in": "query", "description": "Filter transfers from this date (inclusive). ISO 8601 format. Supported for EVM and Stellar chains.", "example": "2024-01-01T00:00:00Z", "schema": { "format": "date-time", "type": "string" } }, { "name": "toDate", "required": false, "in": "query", "description": "Filter transfers until this date (inclusive). ISO 8601 format. Supported for EVM and Stellar chains.", "example": "2024-12-31T23:59:59Z", "schema": { "format": "date-time", "type": "string" } } ], "responses": { "200": { "description": "The wallet activity has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsActivityResponseUnstableDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/unstable/wallets/{walletLocator}/tokens/{tokenLocator}/transfers": { "post": { "operationId": "WalletsSendTokenController-sendToken-2", "summary": "Transfer Token", "description": "Sends a token of any type from this wallet to a recipient", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::`\n- `userId::`\n- `userId::` (white label user example)\n- `phoneNumber::`\n- `twitter::`\n- `x::`\n- `me:` (Use when calling from the client side with a client API key)", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm-smart-wallet", "userId:507f1f77bcf86cd799439011:solana-mpc-wallet", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm-smart-wallet", "phoneNumber:+12125551234:evm-smart-wallet", "twitter:johndoe:evm-smart-wallet", "x:@johndoe:evm-smart-wallet", "me:evm-smart-wallet" ], "schema": { "type": "string" } }, { "name": "tokenLocator", "required": true, "in": "path", "description": "A token locator that supports native tokens, fungible tokens, and NFTs across different chains. It can be of the format:\n- `chain:address[:tokenId]`\n- `chain:currency`\n- `chain:address`", "example": [ "ethereum:eth", "ethereum:0x1234...890", "ethereum:0x1234...890:1", "solana:sol", "solana:EPjF...Dt1v", "sui:sui", "sui:0x123...xyz", "aptos:apt", "aptos:0x123...xyz", "stellar:CA5...XYZ", "stellar:usdc:GA5...VN" ], "schema": { "type": "string" } }, { "name": "x-idempotency-key", "required": false, "in": "header", "description": "Unique key to prevent duplicate transaction creation", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SendTokenDTO" } } } }, "responses": { "201": { "description": "The transaction has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsV1Alpha2TransactionResponseWithSendParamsDTO" } } } } } } }, "/unstable/wallets/{walletLocator}/balances": { "get": { "operationId": "BalanceUnstableController-getBalanceForLocator-2", "summary": "Get Wallet Balance", "description": "Get the balance of a wallet for a given chain and currency\n\n**API scope required**: `wallets:balance.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::[:][: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:`", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm:smart", "email:user@example.com:evm", "email:user@example.com:evm:smart:alias:myWallet", "userId:507f1f77bcf86cd799439011:solana:mpc", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm:smart", "userId:507f1f77bcf86cd799439011:evm:alias:primary", "phoneNumber:+12125551234:evm:smart", "phoneNumber:+12125551234:evm:smart:alias:mobile", "twitter:johndoe:evm:smart", "x:@johndoe:evm:smart:alias:xWallet", "me:evm:smart", "me:evm:smart:alias:personal", "evm:alias:myAlias" ], "schema": { "type": "string" } }, { "name": "chains", "required": false, "in": "query", "description": "The blockchain(s) to query. Comma-separated list of chains", "example": "ethereum,polygon,stellar", "schema": { "type": "string" } }, { "name": "tokens", "required": true, "in": "query", "description": "The tokens to query. Comma-separated list of either tokens or token locator strings", "example": "eth,base:0x123,solana:sol", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Returns the balance of the wallet for the given chain and currency", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/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/WalletsTransactionV2025ResponseDTO" } } } }, "400": { "description": "Returns an error if the signer is not valid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if the wallet or transaction is not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "409": { "description": "Returns an error if the signature for signer was already submitted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "422": { "description": "Returns an error if the transaction already has the required number of approvals", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets/me{walletLocator}/transactions/{transactionId}": { "get": { "operationId": "WalletsV2025Controller-getMeTransaction-2", "summary": "Get Transaction For Authenticated User", "description": "Retrieves the current status and details of a specific transaction.\n\n**API scope required**: `wallets:transactions.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "transactionId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The transaction has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsTransactionV2025ResponseDTO" } } } }, "404": { "description": "Returns an error if the wallet or transaction is not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets/me{walletLocator}/transactions": { "post": { "operationId": "WalletsV2025Controller-createMeTransaction-2", "summary": "Create Transaction For Authenticated User", "description": "Creates a new transaction for the authenticated user. Transaction will be automatically broadcast once it has all necessary approvals.\n\n**API scope required**: `wallets:transactions.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "x-idempotency-key", "required": true, "in": "header", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateTransactionV2025DTO" } } } }, "responses": { "201": { "description": "The transaction has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsTransactionV2025ResponseDTO" } } } }, "400": { "description": "Returns an error if the transaction or the provided signer is not valid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified type is not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "422": { "description": "Returns an error if the transaction fails during simulation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2TransactionErrorDTO" } } } } } }, "get": { "operationId": "WalletsV2025Controller-getMeTransactionsWithoutChain-2", "summary": "Get Wallet Transactions For Authenticated User", "description": "Retrieves all transactions associated with the specified wallet. 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": { "pattern": "^[1-9]\\d*$", "default": "1", "type": "string" } }, { "name": "perPage", "required": false, "in": "query", "schema": { "pattern": "^[1-9]\\d*$", "default": "10", "type": "string" } }, { "name": "dateFrom", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "dateTo", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } } ], "responses": { "200": { "description": "The transactions have been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsMultipleTransactionV2025ResponseDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets/me{walletLocator}/tokens/{tokenLocator}/transfers": { "post": { "operationId": "WalletsSendTokenV2025Controller-sendMeToken-2", "summary": "Transfer Token For Authenticated User", "description": "Sends a token of any type from the authenticated user's wallet to a recipient", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "tokenLocator", "required": true, "in": "path", "description": "A token locator that supports native tokens, fungible tokens, and NFTs across different chains. It can be of the format:\n- `chain:address[:tokenId]`\n- `chain:currency`\n- `chain:address`", "example": [ "ethereum:eth", "ethereum:0x1234...890", "ethereum:0x1234...890:1", "solana:sol", "solana:EPjF...Dt1v", "sui:sui", "sui:0x123...xyz", "aptos:apt", "aptos:0x123...xyz", "stellar:CA5...XYZ", "stellar:usdc:GA5...VN" ], "schema": { "type": "string" } }, { "name": "x-idempotency-key", "required": false, "in": "header", "description": "Unique key to prevent duplicate transaction creation", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SendTokenV2025DTO" } } } }, "responses": { "201": { "description": "The transaction has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsTransactionV2025ResponseDTO" } } } } } } }, "/2025-06-09/wallets/me{walletLocator}/signers/{signer}": { "get": { "operationId": "WalletsV2025Controller-getMeDelegatedSigner-2", "summary": "Get Delegated Signer For Authenticated User", "description": "Retrieve details about a specific delegated signer by its locator.\n\n**API scope required**: `wallets.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "signer", "required": true, "in": "path", "description": "The locator for the signer", "example": "external-wallet:0x1234567890123456789012345678901234567890", "schema": { "title": "Signer Locator", "type": "string" } } ], "responses": { "200": { "description": "The delegated signer has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DelegatedSignerV2025Dto" } } } }, "404": { "description": "Returns an error if the wallet or signer not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets/me{walletLocator}/signers": { "post": { "operationId": "WalletsV2025Controller-createMeDelegatedSigner-2", "summary": "Create Delegated Signer For Authenticated User", "description": "Register a delegated key for a smart wallet with optional restrictions around permissions and expiry date.\n\n**API scope required**: `wallets.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSignerV2025InputDto" } } } }, "responses": { "201": { "description": "The delegated signer has been successfully added to the wallet.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DelegatedSignerV2025Dto" } } } }, "400": { "description": "Returns an error if a delegated signer with specified configuration already exists", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets/me{walletLocator}/signatures/{signatureId}/approvals": { "post": { "operationId": "WalletsV2025Controller-submitMeSignatureApprovals-2", "summary": "Approve Signature For Authenticated User", "description": "Submit approval for a signature to sign a message or typed data.\n\n**API scope required**: `wallets:signatures.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "signatureId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SubmitApprovalV2025DTO" } } } }, "responses": { "201": { "description": "The signature has been successfully approved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsSignatureV2025ResponseDTO" } } } }, "400": { "description": "Returns an error if the signature is not valid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if the wallet or signature not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets/me{walletLocator}/signatures/{signatureId}": { "get": { "operationId": "WalletsV2025Controller-getMeSignature-2", "summary": "Get Signature For Authenticated User", "description": "Retrieves details about a specific signature by its ID.\n\n**API scope required**: `wallets:signatures.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "signatureId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The signature has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsSignatureV2025ResponseDTO" } } } }, "404": { "description": "Returns an error if the wallet or signature not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets/me{walletLocator}/signatures": { "post": { "operationId": "WalletsV2025Controller-createMeSignatureRequest-2", "summary": "Create Signature For Authenticated User", "description": "Creates a new signature for signing messages or typed data.\n\n**API scope required**: `wallets:signatures.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "x-idempotency-key", "required": true, "in": "header", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSignatureV2025DTO" } } } }, "responses": { "201": { "description": "The signature has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsSignatureV2025ResponseDTO" } } } }, "400": { "description": "Returns an error if the signature type is not supported", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } }, "get": { "operationId": "WalletsV2025Controller-getMeSignatures-2", "summary": "Get Wallet Signatures For Authenticated User", "description": "Retrieves all signatures associated with the specified wallet.\n\n**API scope required**: `wallets:signatures.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "page", "required": false, "in": "query", "schema": { "pattern": "^[1-9]\\d*$", "default": "1", "type": "string" } }, { "name": "perPage", "required": false, "in": "query", "schema": { "pattern": "^[1-9]\\d*$", "default": "10", "type": "string" } } ], "responses": { "200": { "description": "The signatures have been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsMultipleSignatureV2025ResponseDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets/me{walletLocator}": { "get": { "operationId": "WalletsV2025Controller-getMeWallet-2", "summary": "Get Wallet For Authenticated User", "description": "Retrieves a wallet for the authenticated user.\n\n**API scope required**: `wallets.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The record has been successfully retreived.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV2025ResponseDTO" } } } } } } }, "/2025-06-09/wallets/me": { "post": { "operationId": "WalletsV2025Controller-createMeWallet-2", "summary": "Create Wallet For Authenticated User", "description": "Creates a new wallet of specified type for the authenticated user. If called for a user who already has a wallet, returns the existing wallet. Supports both custodial and non-custodial wallet types. Uses client-side API key authentication.\n\n**API scope required**: `wallets.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateWalletV2025DTO" } } } }, "responses": { "201": { "description": "Returns an existing wallet (200) if one already exists for this user, or creates and returns a new wallet (201).", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV2025ResponseDTO" } } } } } } }, "/2025-06-09/wallets/{walletLocator}/transactions/{transactionId}/approvals": { "post": { "operationId": "WalletsV2025Controller-submitApprovals-2", "summary": "Approve Transaction", "description": "Submit approval signature for a pending transaction. Required for transactions using external signers.\n\n**API scope required**: `wallets:transactions.sign`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::[:][: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:`", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm:smart", "email:user@example.com:evm", "email:user@example.com:evm:smart:alias:myWallet", "userId:507f1f77bcf86cd799439011:solana:mpc", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm:smart", "userId:507f1f77bcf86cd799439011:evm:alias:primary", "phoneNumber:+12125551234:evm:smart", "phoneNumber:+12125551234:evm:smart:alias:mobile", "twitter:johndoe:evm:smart", "x:@johndoe:evm:smart:alias:xWallet", "me:evm:smart", "me:evm:smart:alias:personal", "evm:alias:myAlias" ], "schema": { "type": "string" } }, { "name": "transactionId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SubmitApprovalV2025DTO" } } } }, "responses": { "201": { "description": "The approval has successfully been submitted to the transaction.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsTransactionV2025ResponseDTO" } } } }, "400": { "description": "Returns an error if the signer is not valid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if the wallet or transaction is not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "409": { "description": "Returns an error if the signature for signer was already submitted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "422": { "description": "Returns an error if the transaction already has the required number of approvals", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets/{walletLocator}/transactions/{transactionId}": { "get": { "operationId": "WalletsV2025Controller-getTransaction-2", "summary": "Get Transaction", "description": "Retrieves the current status and details of a specific transaction.\n\n**API scope required**: `wallets:transactions.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::[:][: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:`", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm:smart", "email:user@example.com:evm", "email:user@example.com:evm:smart:alias:myWallet", "userId:507f1f77bcf86cd799439011:solana:mpc", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm:smart", "userId:507f1f77bcf86cd799439011:evm:alias:primary", "phoneNumber:+12125551234:evm:smart", "phoneNumber:+12125551234:evm:smart:alias:mobile", "twitter:johndoe:evm:smart", "x:@johndoe:evm:smart:alias:xWallet", "me:evm:smart", "me:evm:smart:alias:personal", "evm:alias:myAlias" ], "schema": { "type": "string" } }, { "name": "transactionId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The transaction has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsTransactionV2025ResponseDTO" } } } }, "404": { "description": "Returns an error if the wallet or transaction is not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets/{walletLocator}/transactions": { "post": { "operationId": "WalletsV2025Controller-createTransaction-2", "summary": "Create Transaction", "description": "Creates a new transaction for the specified wallet. Transaction will be automatically broadcast once it has all necessary approvals.\n\n**API scope required**: `wallets:transactions.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::[:][: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:`", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm:smart", "email:user@example.com:evm", "email:user@example.com:evm:smart:alias:myWallet", "userId:507f1f77bcf86cd799439011:solana:mpc", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm:smart", "userId:507f1f77bcf86cd799439011:evm:alias:primary", "phoneNumber:+12125551234:evm:smart", "phoneNumber:+12125551234:evm:smart:alias:mobile", "twitter:johndoe:evm:smart", "x:@johndoe:evm:smart:alias:xWallet", "me:evm:smart", "me:evm:smart:alias:personal", "evm:alias:myAlias" ], "schema": { "type": "string" } }, { "name": "x-idempotency-key", "required": false, "in": "header", "description": "Unique key to prevent duplicate transaction creation", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateTransactionV2025DTO" } } } }, "responses": { "201": { "description": "The transaction has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsTransactionV2025ResponseDTO" } } } }, "400": { "description": "Returns an error if the transaction or the provided signer is not valid", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "422": { "description": "Returns an error if the transaction fails during simulation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2TransactionErrorDTO" } } } } } }, "get": { "operationId": "WalletsV2025Controller-getTransactionsWithoutChain-2", "summary": "Get Wallet Transactions", "description": "Retrieves all transactions associated with the specified wallet. 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:`", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm:smart", "email:user@example.com:evm", "email:user@example.com:evm:smart:alias:myWallet", "userId:507f1f77bcf86cd799439011:solana:mpc", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm:smart", "userId:507f1f77bcf86cd799439011:evm:alias:primary", "phoneNumber:+12125551234:evm:smart", "phoneNumber:+12125551234:evm:smart:alias:mobile", "twitter:johndoe:evm:smart", "x:@johndoe:evm:smart:alias:xWallet", "me:evm:smart", "me:evm:smart:alias:personal", "evm:alias:myAlias" ], "schema": { "type": "string" } }, { "name": "page", "required": false, "in": "query", "schema": { "pattern": "^[1-9]\\d*$", "default": "1", "type": "string" } }, { "name": "perPage", "required": false, "in": "query", "schema": { "pattern": "^[1-9]\\d*$", "default": "10", "type": "string" } }, { "name": "dateFrom", "required": false, "in": "query", "schema": { "format": "date-time", "type": "string" } }, { "name": "dateTo", "required": false, "in": "query", "schema": { "format": "date-time", "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:`", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm:smart", "email:user@example.com:evm", "email:user@example.com:evm:smart:alias:myWallet", "userId:507f1f77bcf86cd799439011:solana:mpc", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm:smart", "userId:507f1f77bcf86cd799439011:evm:alias:primary", "phoneNumber:+12125551234:evm:smart", "phoneNumber:+12125551234:evm:smart:alias:mobile", "twitter:johndoe:evm:smart", "x:@johndoe:evm:smart:alias:xWallet", "me:evm:smart", "me:evm:smart:alias:personal", "evm:alias:myAlias" ], "schema": { "type": "string" } }, { "name": "tokenLocator", "required": true, "in": "path", "description": "A token locator that supports native tokens, fungible tokens, and NFTs across different chains. It can be of the format:\n- `chain:address[:tokenId]`\n- `chain:currency`\n- `chain:address`", "example": [ "ethereum:eth", "ethereum:0x1234...890", "ethereum:0x1234...890:1", "solana:sol", "solana:EPjF...Dt1v", "sui:sui", "sui:0x123...xyz", "aptos:apt", "aptos:0x123...xyz", "stellar:CA5...XYZ", "stellar:usdc:GA5...VN" ], "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/WalletsTransactionV2025ResponseDTO" } } } }, "404": { "description": "Returns an error if the wallet or transaction is not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets/{walletLocator}/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:`", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm:smart", "email:user@example.com:evm", "email:user@example.com:evm:smart:alias:myWallet", "userId:507f1f77bcf86cd799439011:solana:mpc", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm:smart", "userId:507f1f77bcf86cd799439011:evm:alias:primary", "phoneNumber:+12125551234:evm:smart", "phoneNumber:+12125551234:evm:smart:alias:mobile", "twitter:johndoe:evm:smart", "x:@johndoe:evm:smart:alias:xWallet", "me:evm:smart", "me:evm:smart:alias:personal", "evm:alias:myAlias" ], "schema": { "type": "string" } }, { "name": "tokenLocator", "required": true, "in": "path", "description": "A token locator that supports native tokens, fungible tokens, and NFTs across different chains. It can be of the format:\n- `chain:address[:tokenId]`\n- `chain:currency`\n- `chain:address`", "example": [ "ethereum:eth", "ethereum:0x1234...890", "ethereum:0x1234...890:1", "solana:sol", "solana:EPjF...Dt1v", "sui:sui", "sui:0x123...xyz", "aptos:apt", "aptos:0x123...xyz", "stellar:CA5...XYZ", "stellar:usdc:GA5...VN" ], "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/SendOrDepositTokenV2025DTO" } } } }, "responses": { "201": { "description": "The transaction has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsTransactionV2025ResponseDTO" } } } } } } }, "/2025-06-09/wallets/{walletLocator}/signers/{signer}": { "get": { "operationId": "WalletsV2025Controller-getDelegatedSigner-2", "summary": "Get Delegated Signer", "description": "Retrieve details about a specific delegated signer by its locator.\n\n**API scope required**: `wallets.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::[:][: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:`", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm:smart", "email:user@example.com:evm", "email:user@example.com:evm:smart:alias:myWallet", "userId:507f1f77bcf86cd799439011:solana:mpc", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm:smart", "userId:507f1f77bcf86cd799439011:evm:alias:primary", "phoneNumber:+12125551234:evm:smart", "phoneNumber:+12125551234:evm:smart:alias:mobile", "twitter:johndoe:evm:smart", "x:@johndoe:evm:smart:alias:xWallet", "me:evm:smart", "me:evm:smart:alias:personal", "evm:alias:myAlias" ], "schema": { "type": "string" } }, { "name": "signer", "required": true, "in": "path", "description": "The locator for the signer", "example": "external-wallet:0x1234567890123456789012345678901234567890", "schema": { "title": "Signer Locator", "type": "string" } } ], "responses": { "200": { "description": "The delegated signer has been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DelegatedSignerV2025Dto" } } } }, "404": { "description": "Returns an error if the wallet or signer not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets/{walletLocator}/signers": { "post": { "operationId": "WalletsV2025Controller-createDelegatedSigner-2", "summary": "Create Delegated Signer", "description": "Create a delegated signer for a smart wallet with optional restrictions around permissions and expiry date.\n\n**API scope required**: `wallets.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::[:][: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:`", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm:smart", "email:user@example.com:evm", "email:user@example.com:evm:smart:alias:myWallet", "userId:507f1f77bcf86cd799439011:solana:mpc", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm:smart", "userId:507f1f77bcf86cd799439011:evm:alias:primary", "phoneNumber:+12125551234:evm:smart", "phoneNumber:+12125551234:evm:smart:alias:mobile", "twitter:johndoe:evm:smart", "x:@johndoe:evm:smart:alias:xWallet", "me:evm:smart", "me:evm:smart:alias:personal", "evm:alias:myAlias" ], "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSignerV2025InputDto" } } } }, "responses": { "201": { "description": "The delegated signer has been successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DelegatedSignerV2025Dto" } } } }, "400": { "description": "Returns an error if a delegated signer with specified configuration already exists", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets/{walletLocator}/signatures/{signatureId}/approvals": { "post": { "operationId": "WalletsV2025Controller-submitSignatureApprovals-2", "summary": "Approve Signature", "description": "Submit approval for a signature to sign a message or typed data.\n\n**API scope required**: `wallets:signatures.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::[:][: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:`", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm:smart", "email:user@example.com:evm", "email:user@example.com:evm:smart:alias:myWallet", "userId:507f1f77bcf86cd799439011:solana:mpc", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm:smart", "userId:507f1f77bcf86cd799439011:evm:alias:primary", "phoneNumber:+12125551234:evm:smart", "phoneNumber:+12125551234:evm:smart:alias:mobile", "twitter:johndoe:evm:smart", "x:@johndoe:evm:smart:alias:xWallet", "me:evm:smart", "me:evm:smart:alias:personal", "evm:alias:myAlias" ], "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:`", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm:smart", "email:user@example.com:evm", "email:user@example.com:evm:smart:alias:myWallet", "userId:507f1f77bcf86cd799439011:solana:mpc", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm:smart", "userId:507f1f77bcf86cd799439011:evm:alias:primary", "phoneNumber:+12125551234:evm:smart", "phoneNumber:+12125551234:evm:smart:alias:mobile", "twitter:johndoe:evm:smart", "x:@johndoe:evm:smart:alias:xWallet", "me:evm:smart", "me:evm:smart:alias:personal", "evm:alias:myAlias" ], "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:`", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm:smart", "email:user@example.com:evm", "email:user@example.com:evm:smart:alias:myWallet", "userId:507f1f77bcf86cd799439011:solana:mpc", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm:smart", "userId:507f1f77bcf86cd799439011:evm:alias:primary", "phoneNumber:+12125551234:evm:smart", "phoneNumber:+12125551234:evm:smart:alias:mobile", "twitter:johndoe:evm:smart", "x:@johndoe:evm:smart:alias:xWallet", "me:evm:smart", "me:evm:smart:alias:personal", "evm:alias:myAlias" ], "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:`", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm:smart", "email:user@example.com:evm", "email:user@example.com:evm:smart:alias:myWallet", "userId:507f1f77bcf86cd799439011:solana:mpc", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm:smart", "userId:507f1f77bcf86cd799439011:evm:alias:primary", "phoneNumber:+12125551234:evm:smart", "phoneNumber:+12125551234:evm:smart:alias:mobile", "twitter:johndoe:evm:smart", "x:@johndoe:evm:smart:alias:xWallet", "me:evm:smart", "me:evm:smart:alias:personal", "evm:alias:myAlias" ], "schema": { "type": "string" } }, { "name": "page", "required": false, "in": "query", "schema": { "pattern": "^[1-9]\\d*$", "default": "1", "type": "string" } }, { "name": "perPage", "required": false, "in": "query", "schema": { "pattern": "^[1-9]\\d*$", "default": "10", "type": "string" } } ], "responses": { "200": { "description": "The signatures have been successfully retrieved.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsMultipleSignatureV2025ResponseDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets/{walletLocator}/balances": { "get": { "operationId": "BalanceV20250609Controller-getBalanceForLocator-2", "summary": "Get Wallet Balance", "description": "Get the balance of a wallet for a given chain and currency\n\n**API scope required**: `wallets:balance.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::[:][: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:`", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm:smart", "email:user@example.com:evm", "email:user@example.com:evm:smart:alias:myWallet", "userId:507f1f77bcf86cd799439011:solana:mpc", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm:smart", "userId:507f1f77bcf86cd799439011:evm:alias:primary", "phoneNumber:+12125551234:evm:smart", "phoneNumber:+12125551234:evm:smart:alias:mobile", "twitter:johndoe:evm:smart", "x:@johndoe:evm:smart:alias:xWallet", "me:evm:smart", "me:evm:smart:alias:personal", "evm:alias:myAlias" ], "schema": { "type": "string" } }, { "name": "chains", "required": false, "in": "query", "description": "The blockchain(s) to query. Comma-separated list of chains", "example": "ethereum,polygon", "schema": { "type": "string" } }, { "name": "tokens", "required": true, "in": "query", "description": "The tokens to query. Comma-separated list of either tokens or token locator strings", "example": "eth,base:0x123,solana:sol", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Returns the balance of the wallet for the given chain and currency", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletBalanceV20250609ResponseDTO" } } } }, "400": { "description": "Returns an error (400) if the wallet locator is invalid or if the address type is not supported", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets/{walletLocator}": { "get": { "operationId": "WalletsV2025Controller-getWalletByLocator-2", "summary": "Get Wallet By Locator", "description": "Retrieves a wallet by its locator (address or user identifier and wallet type)\n\n**API scope required**: `wallets.read`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "walletLocator", "required": true, "in": "path", "description": "A wallet locator can be of the format:\n- ``\n- `email::[:][: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:`", "example": [ "0x1234567890123456789012345678901234567890", "email:user@example.com:evm:smart", "email:user@example.com:evm", "email:user@example.com:evm:smart:alias:myWallet", "userId:507f1f77bcf86cd799439011:solana:mpc", "userId:did:example:cm4lr5piw0h6t1bjho0onryql:evm:smart", "userId:507f1f77bcf86cd799439011:evm:alias:primary", "phoneNumber:+12125551234:evm:smart", "phoneNumber:+12125551234:evm:smart:alias:mobile", "twitter:johndoe:evm:smart", "x:@johndoe:evm:smart:alias:xWallet", "me:evm:smart", "me:evm:smart:alias:personal", "evm:alias:myAlias" ], "schema": { "type": "string" } } ], "responses": { "200": { "description": "The record has been successfully retreived.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV2025ResponseDTO" } } } }, "404": { "description": "Returns an error if a wallet with the specified locator not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } }, "/2025-06-09/wallets": { "post": { "operationId": "WalletsV2025Controller-createWallet-2", "summary": "Create Wallet", "description": "Creates a new wallet of specified type. If called with an idempotency key or for a user who already has a wallet, returns existing wallet. When owner is provided, subsequent calls with the same owner will return the existing wallet. Supports both custodial and non-custodial wallet types.\n\n**API scope required**: `wallets.create`", "parameters": [ { "name": "X-API-KEY", "in": "header", "description": "API key required for authentication", "required": true, "schema": { "type": "string" } }, { "name": "x-idempotency-key", "required": false, "in": "header", "description": "Unique key to prevent duplicate wallet creation", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateWalletV2025DTO" } } } }, "responses": { "201": { "description": "Returns an existing wallet (200) if one already exists for the provided owner or idempotencyKey, or creates and returns a new wallet (201). The response includes the wallet details and whether it was newly created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV2025ResponseDTO" } } } }, "400": { "description": "Returns an error if a wallet with the specified creation seed and signer configuration already exists", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletV1Alpha2ErrorDTO" } } } } } } } }, "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": { "CreateSignatureV2025DTO": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["message"] }, "params": { "type": "object", "properties": { "message": { "type": "string", "description": "The message in plain text to sign" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer who will submit this signature. Defaults to the wallet's admin signer.", "example": [ "passkey:cWtP7gmZbd98HbKUuGXx5Q", "api-key:123456789", "external-wallet:0x1234567890123456789012345678901234567890", "server:0x1234567890123456789012345678901234567890", "email:test@example.com", "phone:+1234567890", "device:BIVmCqMz8QJB+se2kJEpGQ..." ] }, "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 for EVM wallets, optional for others." } }, "required": ["message"], "description": "Parameters for a message signature" } }, "required": ["type", "params"], "title": "Message Signature", "description": "Parameters for a message signature" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["typed-data"] }, "params": { "type": "object", "properties": { "typedData": { "type": "object", "properties": { "domain": { "type": "object", "properties": { "name": { "type": "string" }, "version": { "type": "string" }, "chainId": { "type": "number" }, "verifyingContract": { "type": "string", "description": "An EVM address string" }, "salt": { "type": "string" } }, "required": ["name", "version", "chainId", "verifyingContract"] }, "types": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "type": { "type": "string" } }, "required": ["name", "type"] } } }, "primaryType": { "type": "string" }, "message": { "type": "object", "additionalProperties": {} } }, "required": ["domain", "types", "primaryType", "message"] }, "chain": { "type": "string", "enum": [ "arbitrum-sepolia", "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": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer who will approve this signature", "example": [ "passkey:cWtP7gmZbd98HbKUuGXx5Q", "api-key:123456789", "external-wallet:0x1234567890123456789012345678901234567890", "server:0x1234567890123456789012345678901234567890", "email:test@example.com", "phone:+1234567890", "device:BIVmCqMz8QJB+se2kJEpGQ..." ] }, "isSmartWalletSignature": { "type": "boolean", "description": "Whether the signature corresponds to the smart wallet or to the signer. If true, the signature will be wrapped with ERC6492." } }, "required": ["typedData", "chain"], "description": "Parameters for a typed data signature" } }, "required": ["type", "params"], "title": "Typed Data Signature", "description": "Parameters for a typed data signature" } ], "description": "Input schema for creating a new signature. The parameters vary based on the signature type.", "example": { "type": "message", "params": { "message": "Hello, world!", "signer": "external-wallet:0xB17Ea8d34078424B9d7D126E444d5F2C3CC5c81E", "chain": "ethereum" } } }, "CreateSignerV2025InputDto": { "oneOf": [ { "type": "object", "properties": { "signer": { "oneOf": [ { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"], "description": "Identifier for the Passkey signer type" }, "id": { "type": "string", "description": "Credential ID from the WebAuthn registration response" }, "name": { "type": "string", "description": "Human-readable name for the passkey" }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "X coordinate of the public key as a decimal string" }, "y": { "type": "string", "description": "Y coordinate of the public key as a decimal string" } }, "required": ["x", "y"], "description": "The public key coordinates from the WebAuthn credential" } }, "required": ["type", "id", "name", "publicKey"], "description": "Configuration for a WebAuthn/Passkey signer that uses public key credentials for authentication", "title": "Passkey Signer", "example": { "type": "passkey", "id": "cWtP7gmZbd98HbKUuGXx5Q", "name": "hgranger", "publicKey": { "x": "38035223810536273945556366218149112558607829411547667975304293530457502824247", "y": "91117823763706733837104303008228095481082989039135234750508288790583476078729" } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"], "description": "Identifier for API key signer type" } }, "required": ["type"], "description": "A custodial signer provided by Crossmint and backed by our secure infrastructure. Contact sales (https://www.crossmint.com/contact/sales) for access.", "title": "API Key Signer", "example": { "type": "api-key" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"], "description": "Identifier for external wallet signer type" }, "address": { "type": "string", "description": "The blockchain address of the external wallet" } }, "required": ["type", "address"], "description": "An external wallet that can be used to sign transactions", "title": "External Wallet Signer", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"], "description": "Identifier for server signer type" }, "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", "enum": ["email"], "description": "Identifier for email signer type" }, "email": { "type": "string", "description": "The email address for the signer" } }, "required": ["type", "email"], "description": "An email-based signer that can be used to sign transactions", "title": "Email Signer", "example": { "type": "email", "email": "user@example.com" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"], "description": "Identifier for phone signer type" }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" } }, "required": ["type", "phone"], "description": "An phone-based signer that can be used to sign transactions", "title": "Phone Signer", "example": { "type": "phone", "phone": "+1234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"], "description": "Identifier for device signer type" }, "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" }, "name": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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": "A signer locator that can be either a of format '' for external wallet type signers or ':'", "example": [ "passkey:cWtP7gmZbd98HbKUuGXx5Q", "api-key:123456789", "external-wallet:0x1234567890123456789012345678901234567890", "server:0x1234567890123456789012345678901234567890", "email:test@example.com", "phone:+1234567890", "device:BIVmCqMz8QJB+se2kJEpGQ..." ] } ] }, "chain": { "enum": [ "abstract", "apechain", "arbitrum", "arbitrumnova", "avalanche", "base", "bsc", "flow", "mantle", "mode", "optimism", "plume", "polygon", "scroll", "sei-pacific-1", "shape", "story", "tempo", "world-chain", "zora", "ethereum", "abstract-testnet", "arbitrum-sepolia", "avalanche-fuji", "base-sepolia", "curtis", "ethereum-sepolia", "flow-testnet", "mantle-sepolia", "mode-sepolia", "optimism-sepolia", "plume-testnet", "polygon-amoy", "scroll-sepolia", "sei-atlantic-2-testnet", "story-testnet", "world-chain-sepolia", "zora-sepolia", "arc-testnet", "tempo-testnet" ], "description": "The chain where the signer will be registered" }, "expiresAt": { "type": "number", "description": "The expiry date of the signer in ISO 8601 format", "example": "2024-01-01T00:00:00.000Z" } }, "required": ["signer", "chain"], "description": "Parameters for creating a EVM delegated signer", "title": "EVM", "example": { "signer": "external-wallet:0x1234567890123456789012345678901234567890", "chain": "base" } }, { "type": "object", "properties": { "signer": { "type": "string", "title": "Signer Locator", "description": "A signer locator that can be either a of format '' for external wallet type signers or ':'", "example": [ "passkey:cWtP7gmZbd98HbKUuGXx5Q", "api-key:123456789", "external-wallet:0x1234567890123456789012345678901234567890", "server:0x1234567890123456789012345678901234567890", "email:test@example.com", "phone:+1234567890", "device:BIVmCqMz8QJB+se2kJEpGQ..." ] } }, "required": ["signer"], "description": "Parameters for creating a Solana delegated signer", "title": "Solana", "example": { "signer": "external-wallet:GbA2NZfpAnRVM2G2BG29qooqsYbdV5c2WVFymJ8MMir7" } }, { "type": "object", "properties": { "signer": { "type": "string", "title": "Signer Locator", "description": "A signer locator that can be either a of format '' for external wallet type signers or ':'", "example": [ "passkey:cWtP7gmZbd98HbKUuGXx5Q", "api-key:123456789", "external-wallet:0x1234567890123456789012345678901234567890", "server:0x1234567890123456789012345678901234567890", "email:test@example.com", "phone:+1234567890", "device:BIVmCqMz8QJB+se2kJEpGQ..." ] } }, "required": ["signer"], "description": "Parameters for creating a Stellar delegated signer", "title": "Stellar", "example": { "signer": "external-wallet:GA7QYNF7SOWQ3GLR2BGMZEHXAVIRZA4KVWLTJJFC7MGXUA74P7UJVSGZ" } } ] }, "CreateTransactionV2025DTO": { "oneOf": [ { "type": "object", "properties": { "params": { "type": "object", "properties": { "transaction": { "type": "string", "description": "Base58 encoded serialized Solana transaction" }, "requiredSigners": { "type": "array", "items": { "type": "string", "title": "Signer Locator", "description": "A signer locator that can be either a of format '' for external wallet type signers or ':'", "example": [ "passkey:cWtP7gmZbd98HbKUuGXx5Q", "api-key:123456789", "external-wallet:0x1234567890123456789012345678901234567890", "server:0x1234567890123456789012345678901234567890", "email:test@example.com", "phone:+1234567890", "device:BIVmCqMz8QJB+se2kJEpGQ..." ] }, "description": "Optional array of additional signers required for the transaction" }, "signer": { "type": "string", "title": "Signer Locator", "description": "A signer locator that can be either a of format '' for external wallet type signers or ':'", "example": [ "passkey:cWtP7gmZbd98HbKUuGXx5Q", "api-key:123456789", "external-wallet:0x1234567890123456789012345678901234567890", "server:0x1234567890123456789012345678901234567890", "email:test@example.com", "phone:+1234567890", "device:BIVmCqMz8QJB+se2kJEpGQ..." ] } }, "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": { "type": "array", "items": { "type": "string", "title": "Signer Locator", "description": "A signer locator that can be either a of format '' for external wallet type signers or ':'", "example": [ "passkey:cWtP7gmZbd98HbKUuGXx5Q", "api-key:123456789", "external-wallet:0x1234567890123456789012345678901234567890", "server:0x1234567890123456789012345678901234567890", "email:test@example.com", "phone:+1234567890", "device:BIVmCqMz8QJB+se2kJEpGQ..." ] }, "description": "Optional array of additional signers required for the transaction" } }, "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": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "address": { "type": "string", "description": "The recipient address for this transaction call" }, "functionName": { "type": "string", "description": "The name of the function to call" }, "abi": { "type": "array", "items": {}, "description": "The ABI for the function to call" }, "args": { "type": "array", "items": {}, "description": "The arguments to pass to the function" }, "value": { "default": "0", "type": "string", "description": "The amount of native token to send in wei" } }, "required": ["address", "functionName", "abi", "args"], "title": "EVM contract call transaction parameters", "description": "Parameters for a transaction to execute a contract function" }, { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient address for this transaction call" }, "value": { "type": "string", "description": "The amount of native token to send in wei" }, "data": { "description": "The encoded calldata for this transaction" } }, "required": ["to", "value", "data"], "title": "EVM direct calldata transaction parameters", "description": "Parameters for a transaction to send a direct calldata transaction" }, { "type": "object", "properties": { "transaction": { "description": "Serialized EVM transaction" } }, "required": ["transaction"], "title": "EVM serialized transaction parameters", "description": "Parameters for a transaction to send a serialized EVM transaction" } ], "description": "Transaction data to execute" }, "minItems": 1, "description": "Array of transaction calls to execute" }, "chain": { "enum": [ "abstract", "apechain", "arbitrum", "arbitrumnova", "avalanche", "base", "bsc", "flow", "mantle", "mode", "optimism", "plume", "polygon", "scroll", "sei-pacific-1", "shape", "story", "tempo", "world-chain", "zora", "ethereum", "abstract-testnet", "arbitrum-sepolia", "avalanche-fuji", "base-sepolia", "curtis", "ethereum-sepolia", "flow-testnet", "mantle-sepolia", "mode-sepolia", "optimism-sepolia", "plume-testnet", "polygon-amoy", "scroll-sepolia", "sei-atlantic-2-testnet", "story-testnet", "world-chain-sepolia", "zora-sepolia", "arc-testnet", "tempo-testnet" ], "description": "The chain on which the transaction will be executed" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer who will submit this transaction", "example": [ "passkey:cWtP7gmZbd98HbKUuGXx5Q", "api-key:123456789", "external-wallet:0x1234567890123456789012345678901234567890", "server:0x1234567890123456789012345678901234567890", "email:test@example.com", "phone:+1234567890", "device:BIVmCqMz8QJB+se2kJEpGQ..." ] } }, "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": { "oneOf": [ { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient address for this transaction call" }, "data": { "description": "The encoded calldata for this transaction" } }, "required": ["to", "data"], "additionalProperties": false }, { "type": "object", "properties": { "address": { "type": "string", "description": "The recipient address for this transaction call" }, "functionName": { "type": "string", "description": "The name of the function to call" }, "abi": { "type": "array", "items": {}, "description": "The ABI for the function to call" }, "args": { "type": "array", "items": {}, "description": "The arguments to pass to the function" } }, "required": ["address", "functionName", "abi", "args"], "additionalProperties": false } ], "description": "The transaction call to execute" }, "chain": { "type": "string", "enum": [ "arbitrum-sepolia", "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 transaction will be executed" } }, "required": ["call", "chain"], "additionalProperties": false, "example": { "call": { "to": "0x1234567890123456789012345678901234567890", "value": "1000000000000000000", "data": "0x" }, "chain": "base" }, "title": "EVM MPC wallet", "description": "Parameters for a transaction from an EVM MPC Wallet" } }, "required": ["params"], "title": "EVM MPC Wallet", "description": "Parameters for a transaction from an EVM MPC Wallet" }, { "type": "object", "properties": { "params": { "type": "object", "properties": { "transaction": { "type": "object", "properties": { "type": { "type": "string", "enum": ["contract-call"], "description": "The type of transaction to execute" }, "contractId": { "type": "string", "description": "The recipient address for this transaction call", "example": "GB3KQJ6N2YIE62YVO67X7W5TQK6Q5ZZ4P2LUVK2U6AU26CJQ626J" }, "method": { "type": "string", "description": "The name of the function to call" }, "memo": { "discriminator": { "propertyName": "type" }, "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"] } ], "description": "The memo for the transaction", "example": { "type": "text", "value": "Hello, world!" } }, "args": { "type": "object", "additionalProperties": {}, "description": "The arguments to pass to the function" } }, "required": ["type", "contractId", "method", "args"], "title": "Stellar contract call transaction parameters", "description": "Stellar transaction to execute", "example": { "type": "contract-call", "contractId": "GB3KQJ6N2YIE62YVO67X7W5TQK6Q5ZZ4P2LUVK2U6AU26CJQ626J", "method": "transfer", "args": { "to": "GB3KQJ6N2YIE62YVO67X7W5TQK6Q5ZZ4P2LUVK2U6AU26CJQ626J", "from": "GB3KQJ6N2YIE62YVO67X7W5TQK6Q5ZZ4P2LUVK2U6AU26CJQ626J", "amount": "1000000000000000000" } } }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer who will submit this transaction. Defaults to the admin signer.", "example": [ "passkey:cWtP7gmZbd98HbKUuGXx5Q", "api-key:123456789", "external-wallet:0x1234567890123456789012345678901234567890", "server:0x1234567890123456789012345678901234567890", "email:test@example.com", "phone:+1234567890", "device:BIVmCqMz8QJB+se2kJEpGQ..." ] } }, "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)." }, "CreateWalletV2025DTO": { "oneOf": [ { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["evm"] }, "type": { "default": "smart", "type": "string", "enum": ["smart"] }, "config": { "default": { "adminSigner": { "type": "api-key" } }, "type": "object", "properties": { "adminSigner": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"], "description": "Identifier for external wallet signer type" }, "address": { "type": "string", "description": "The blockchain address of the external wallet" } }, "required": ["type", "address"], "description": "An external wallet that can be used to sign transactions", "title": "External Wallet Signer", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"], "description": "Identifier for server signer type" }, "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", "enum": ["api-key"], "description": "Identifier for API key signer type" } }, "required": ["type"], "description": "A custodial signer provided by Crossmint and backed by our secure infrastructure. Contact sales (https://www.crossmint.com/contact/sales) for access.", "title": "API Key Signer", "example": { "type": "api-key" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"], "description": "Identifier for the Passkey signer type" }, "id": { "type": "string", "description": "Credential ID from the WebAuthn registration response" }, "name": { "type": "string", "description": "Human-readable name for the passkey" }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "X coordinate of the public key as a decimal string" }, "y": { "type": "string", "description": "Y coordinate of the public key as a decimal string" } }, "required": ["x", "y"], "description": "The public key coordinates from the WebAuthn credential" } }, "required": ["type", "id", "name", "publicKey"], "description": "Configuration for a WebAuthn/Passkey signer that uses public key credentials for authentication", "title": "Passkey Signer", "example": { "type": "passkey", "id": "cWtP7gmZbd98HbKUuGXx5Q", "name": "hgranger", "publicKey": { "x": "38035223810536273945556366218149112558607829411547667975304293530457502824247", "y": "91117823763706733837104303008228095481082989039135234750508288790583476078729" } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"], "description": "Identifier for email signer type" }, "email": { "type": "string", "description": "The email address for the signer" } }, "required": ["type", "email"], "description": "An email-based signer that can be used to sign transactions", "title": "Email Signer", "example": { "type": "email", "email": "user@example.com" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"], "description": "Identifier for phone signer type" }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" } }, "required": ["type", "phone"], "description": "An phone-based signer that can be used to sign transactions", "title": "Phone Signer", "example": { "type": "phone", "phone": "+1234567890" } } ] }, "delegatedSigners": { "type": "array", "items": { "type": "object", "properties": { "signer": { "oneOf": [ { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"], "description": "Identifier for the Passkey signer type" }, "id": { "type": "string", "description": "Credential ID from the WebAuthn registration response" }, "name": { "type": "string", "description": "Human-readable name for the passkey" }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "X coordinate of the public key as a decimal string" }, "y": { "type": "string", "description": "Y coordinate of the public key as a decimal string" } }, "required": ["x", "y"], "description": "The public key coordinates from the WebAuthn credential" } }, "required": ["type", "id", "name", "publicKey"], "description": "Configuration for a WebAuthn/Passkey signer that uses public key credentials for authentication", "title": "Passkey Signer", "example": { "type": "passkey", "id": "cWtP7gmZbd98HbKUuGXx5Q", "name": "hgranger", "publicKey": { "x": "38035223810536273945556366218149112558607829411547667975304293530457502824247", "y": "91117823763706733837104303008228095481082989039135234750508288790583476078729" } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"], "description": "Identifier for API key signer type" } }, "required": ["type"], "description": "A custodial signer provided by Crossmint and backed by our secure infrastructure. Contact sales (https://www.crossmint.com/contact/sales) for access.", "title": "API Key Signer", "example": { "type": "api-key" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"], "description": "Identifier for external wallet signer type" }, "address": { "type": "string", "description": "The blockchain address of the external wallet" } }, "required": ["type", "address"], "description": "An external wallet that can be used to sign transactions", "title": "External Wallet Signer", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"], "description": "Identifier for server signer type" }, "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", "enum": ["email"], "description": "Identifier for email signer type" }, "email": { "type": "string", "description": "The email address for the signer" } }, "required": ["type", "email"], "description": "An email-based signer that can be used to sign transactions", "title": "Email Signer", "example": { "type": "email", "email": "user@example.com" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"], "description": "Identifier for phone signer type" }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" } }, "required": ["type", "phone"], "description": "An phone-based signer that can be used to sign transactions", "title": "Phone Signer", "example": { "type": "phone", "phone": "+1234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"], "description": "Identifier for device signer type" }, "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" }, "name": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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": "A signer locator that can be either a of format '' for external wallet type signers or ':'", "example": [ "passkey:cWtP7gmZbd98HbKUuGXx5Q", "api-key:123456789", "external-wallet:0x1234567890123456789012345678901234567890", "server:0x1234567890123456789012345678901234567890", "email:test@example.com", "phone:+1234567890", "device:BIVmCqMz8QJB+se2kJEpGQ..." ] } ] }, "expiresAt": { "type": "number", "description": "The expiry date of the signer in ISO 8601 format", "example": "2024-01-01T00:00:00.000Z" } }, "required": ["signer"] }, "description": "Optional array of delegated signers to be created for the wallet", "example": [ { "signer": "external-wallet:0x1234567890123456789012345678901234567890", "expiresAt": 1715769600000 }, { "signer": { "type": "passkey", "id": "cWtP7gmZbd98HbKUuGXx5Q", "name": "hgranger", "publicKey": { "x": "38035223810536273945556366218149112558607829411547667975304293530457502824247", "y": "91117823763706733837104303008228095481082989039135234750508288790583476078729" } } } ] }, "creationSeed": { "type": "string", "description": "The unique wallet seed. By default, the seed is randomly generated.", "example": "0" } }, "required": ["adminSigner"], "additionalProperties": false }, "owner": { "oneOf": [ { "type": "string", "enum": ["COMPANY"], "description": "Set the owner of a wallet to COMPANY for the wallet to be a treasury wallet and have regulated transfers enforced", "example": "COMPANY" }, { "type": "string", "description": "A user locator can be of the format:\n- `email:`\n- `userId:`\n- `phoneNumber:`\n- `twitter:`\n- `x:`", "example": [ "email:user@example.com", "userId:507f1f77bcf86cd799439011", "userId:did:example:cm4lr5piw0h6t1bjho0onryql", "phoneNumber:+12125551234", "twitter:johndoe", "x:@johndoe" ] } ] }, "alias": { "type": "string", "description": "The wallet alias", "example": "my-usdc-wallet" } }, "required": ["chainType"], "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": { "type": "string", "description": "A user locator can be of the format:\n- `email:`\n- `userId:`\n- `phoneNumber:`\n- `twitter:`\n- `x:`", "example": [ "email:user@example.com", "userId:507f1f77bcf86cd799439011", "userId:did:example:cm4lr5piw0h6t1bjho0onryql", "phoneNumber:+12125551234", "twitter:johndoe", "x:@johndoe" ] } }, "required": ["chainType", "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": { "default": { "adminSigner": { "type": "api-key" } }, "type": "object", "properties": { "adminSigner": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"], "description": "Identifier for external wallet signer type" }, "address": { "type": "string", "description": "The blockchain address of the external wallet" } }, "required": ["type", "address"], "description": "An external wallet that can be used to sign transactions", "title": "External Wallet Signer", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"], "description": "Identifier for server signer type" }, "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", "enum": ["api-key"], "description": "Identifier for API key signer type" } }, "required": ["type"], "description": "A custodial signer provided by Crossmint and backed by our secure infrastructure. Contact sales (https://www.crossmint.com/contact/sales) for access.", "title": "API Key Signer", "example": { "type": "api-key" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"], "description": "Identifier for email signer type" }, "email": { "type": "string", "description": "The email address for the signer" } }, "required": ["type", "email"], "description": "An email-based signer that can be used to sign transactions", "title": "Email Signer", "example": { "type": "email", "email": "user@example.com" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"], "description": "Identifier for phone signer type" }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" } }, "required": ["type", "phone"], "description": "An phone-based signer that can be used to sign transactions", "title": "Phone Signer", "example": { "type": "phone", "phone": "+1234567890" } } ] }, "delegatedSigners": { "type": "array", "items": { "type": "object", "properties": { "signer": { "type": "string", "title": "Signer Locator", "description": "A signer locator that can be either a of format '' for external wallet type signers or ':'", "example": [ "passkey:cWtP7gmZbd98HbKUuGXx5Q", "api-key:123456789", "external-wallet:0x1234567890123456789012345678901234567890", "server:0x1234567890123456789012345678901234567890", "email:test@example.com", "phone:+1234567890", "device:BIVmCqMz8QJB+se2kJEpGQ..." ] } }, "required": ["signer"], "description": "Parameters for creating a Solana delegated signer", "title": "Solana", "example": { "signer": "external-wallet:GbA2NZfpAnRVM2G2BG29qooqsYbdV5c2WVFymJ8MMir7" } }, "description": "Optional array of delegated signers to be created for the wallet", "example": [ { "signer": "external-wallet:GbA2NZfpAnRVM2G2BG29qooqsYbdV5c2WVFymJ8MMir7" } ] } }, "required": ["adminSigner"], "additionalProperties": false }, "owner": { "oneOf": [ { "type": "string", "enum": ["COMPANY"], "description": "Set the owner of a wallet to COMPANY for the wallet to be a treasury wallet and have regulated transfers enforced", "example": "COMPANY" }, { "type": "string", "description": "A user locator can be of the format:\n- `email:`\n- `userId:`\n- `phoneNumber:`\n- `twitter:`\n- `x:`", "example": [ "email:user@example.com", "userId:507f1f77bcf86cd799439011", "userId:did:example:cm4lr5piw0h6t1bjho0onryql", "phoneNumber:+12125551234", "twitter:johndoe", "x:@johndoe" ] } ] }, "alias": { "type": "string", "description": "The wallet alias", "example": "my-usdc-wallet" } }, "required": ["chainType"], "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": { "type": "string", "description": "A user locator can be of the format:\n- `email:`\n- `userId:`\n- `phoneNumber:`\n- `twitter:`\n- `x:`", "example": [ "email:user@example.com", "userId:507f1f77bcf86cd799439011", "userId:did:example:cm4lr5piw0h6t1bjho0onryql", "phoneNumber:+12125551234", "twitter:johndoe", "x:@johndoe" ] } }, "required": ["chainType", "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": { "type": "string", "description": "A user locator can be of the format:\n- `email:`\n- `userId:`\n- `phoneNumber:`\n- `twitter:`\n- `x:`", "example": [ "email:user@example.com", "userId:507f1f77bcf86cd799439011", "userId:did:example:cm4lr5piw0h6t1bjho0onryql", "phoneNumber:+12125551234", "twitter:johndoe", "x:@johndoe" ] } }, "required": ["chainType"], "title": "Aptos wallet creation input", "description": "Aptos wallet creation input" }, { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["sui"] }, "type": { "default": "mpc", "type": "string", "enum": ["mpc"] }, "config": {}, "owner": { "type": "string", "description": "A user locator can be of the format:\n- `email:`\n- `userId:`\n- `phoneNumber:`\n- `twitter:`\n- `x:`", "example": [ "email:user@example.com", "userId:507f1f77bcf86cd799439011", "userId:did:example:cm4lr5piw0h6t1bjho0onryql", "phoneNumber:+12125551234", "twitter:johndoe", "x:@johndoe" ] } }, "required": ["chainType"], "title": "Sui wallet creation input", "description": "Sui wallet creation input" }, { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["stellar"] }, "type": { "default": "smart", "type": "string", "enum": ["smart"] }, "config": { "type": "object", "properties": { "adminSigner": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"], "description": "Identifier for external wallet signer type" }, "address": { "type": "string", "description": "The blockchain address of the external wallet" } }, "required": ["type", "address"], "description": "An external wallet that can be used to sign transactions", "title": "External Wallet Signer", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"], "description": "Identifier for server signer type" }, "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", "enum": ["email"], "description": "Identifier for email signer type" }, "email": { "type": "string", "description": "The email address for the signer" } }, "required": ["type", "email"], "description": "An email-based signer that can be used to sign transactions", "title": "Email Signer", "example": { "type": "email", "email": "user@example.com" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"], "description": "Identifier for phone signer type" }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" } }, "required": ["type", "phone"], "description": "An phone-based signer that can be used to sign transactions", "title": "Phone Signer", "example": { "type": "phone", "phone": "+1234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"], "description": "Identifier for API key signer type" } }, "required": ["type"], "description": "A custodial signer provided by Crossmint and backed by our secure infrastructure. Contact sales (https://www.crossmint.com/contact/sales) for access.", "title": "API Key Signer", "example": { "type": "api-key" } } ] }, "delegatedSigners": { "type": "array", "items": { "type": "object", "properties": { "signer": { "type": "string", "title": "Signer Locator", "description": "A signer locator that can be either a of format '' for external wallet type signers or ':'", "example": [ "passkey:cWtP7gmZbd98HbKUuGXx5Q", "api-key:123456789", "external-wallet:0x1234567890123456789012345678901234567890", "server:0x1234567890123456789012345678901234567890", "email:test@example.com", "phone:+1234567890", "device:BIVmCqMz8QJB+se2kJEpGQ..." ] }, "permissions": { "type": "array", "items": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-policy"] }, "address": { "type": "string" } }, "required": ["type", "address"], "title": "External Policy", "description": "Permission to use an external policy", "example": { "type": "external-policy", "address": "CCRBPM5HBMVLORGVXROAGIRHIGJC73PSFK3FKBB6KNRJBLHNJPBOI3AB" } } ] }, "description": "Optional array of permissions to be used for the signer", "example": [ { "type": "external-policy", "address": "CCRBPM5HBMVLORGVXROAGIRHIGJC73PSFK3FKBB6KNRJBLHNJPBOI3AB" } ] } }, "required": ["signer"], "description": "Parameters for creating a Stellar delegated signer", "title": "Stellar", "example": { "signer": "external-wallet:GA7QYNF7SOWQ3GLR2BGMZEHXAVIRZA4KVWLTJJFC7MGXUA74P7UJVSGZ", "permissions": [ { "type": "external-policy", "address": "CCRBPM5HBMVLORGVXROAGIRHIGJC73PSFK3FKBB6KNRJBLHNJPBOI3AB" } ] } }, "description": "Optional array of delegated signers to be created for the wallet", "example": [ { "signer": "external-wallet:GA7QYNF7SOWQ3GLR2BGMZEHXAVIRZA4KVWLTJJFC7MGXUA74P7UJVSGZ", "permissions": [ { "type": "external-policy", "address": "CCRBPM5HBMVLORGVXROAGIRHIGJC73PSFK3FKBB6KNRJBLHNJPBOI3AB" } ] } ] }, "plugins": { "default": [], "type": "array", "items": { "type": "string" }, "description": "Optional array of plugins to be used for the wallet", "example": ["CCPJPJGL2GJFOYMZUDBINNUADGK2KMGIB6KQAOQAOI4REWAHLBWUHLXQ"] } }, "required": ["adminSigner"], "additionalProperties": false }, "owner": { "oneOf": [ { "type": "string", "enum": ["COMPANY"], "description": "Set the owner of a wallet to COMPANY for the wallet to be a treasury wallet and have regulated transfers enforced", "example": "COMPANY" }, { "type": "string", "description": "A user locator can be of the format:\n- `email:`\n- `userId:`\n- `phoneNumber:`\n- `twitter:`\n- `x:`", "example": [ "email:user@example.com", "userId:507f1f77bcf86cd799439011", "userId:did:example:cm4lr5piw0h6t1bjho0onryql", "phoneNumber:+12125551234", "twitter:johndoe", "x:@johndoe" ] } ] }, "alias": { "type": "string", "description": "The wallet alias", "example": "my-usdc-wallet" } }, "required": ["chainType", "config"], "title": "Stellar wallet creation input", "description": "Stellar wallet creation input" } ], "example": { "chainType": "evm", "type": "smart", "config": { "adminSigner": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890" } }, "owner": "email:user@example.com" } }, "DelegatedSignerV2025Dto": { "oneOf": [ { "allOf": [ { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"], "description": "Identifier for the Passkey signer type" }, "id": { "type": "string", "description": "Credential ID from the WebAuthn registration response" }, "name": { "type": "string", "description": "Human-readable name for the passkey" }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "X coordinate of the public key as a decimal string" }, "y": { "type": "string", "description": "Y coordinate of the public key as a decimal string" } }, "required": ["x", "y"], "description": "The public key coordinates from the WebAuthn credential" }, "validatorContractVersion": { "type": "string", "description": "ERC-7579 webAuthn validator contract version" }, "locator": { "type": "string", "description": "Unique identifier for locating this passkey signer" } }, "required": [ "type", "id", "name", "publicKey", "validatorContractVersion", "locator" ], "description": "Response schema for a registered Passkey signer including validator contract details", "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", "enum": ["api-key"], "description": "Identifier for API key signer type" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string", "description": "A base58-encoded Solana public key address" }, { "type": "string" } ], "description": "The blockchain address of the custodial signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Configuration for a custodial signer managed by Crossmint. Contact sales (https://www.crossmint.com/contact/sales) for access.", "example": { "type": "api-key", "address": "0x1234567890123456789012345678901234567890", "locator": "api-key:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"], "description": "Identifier for external wallet signer type" }, "address": { "type": "string", "description": "The blockchain address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Configuration for an external wallet signer", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890", "locator": "external-wallet:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"], "description": "Identifier for server signer type" }, "address": { "type": "string", "description": "The blockchain address of the server signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "Server Signer", "description": "Configuration for a server signer", "example": { "type": "server", "address": "0x1234567890123456789012345678901234567890", "locator": "server:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"], "description": "Identifier for email signer type" }, "email": { "type": "string", "description": "The email address for the signer" }, "locator": { "type": "string", "description": "The locator of the signer" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "email", "locator", "address"], "title": "Email Signer", "description": "Configuration for an email signer", "example": { "type": "email", "email": "user@example.com", "locator": "email:user@example.com", "address": "0x1234567890abcdef..." } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"], "description": "Identifier for phone signer type" }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" }, "locator": { "type": "string", "description": "The locator of the signer" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "phone", "locator", "address"], "title": "Phone Signer", "description": "Configuration for a phone signer", "example": { "type": "phone", "phone": "+1234567890", "locator": "phone:+1234567890", "address": "0x1234567890abcdef..." } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"], "description": "Identifier for device signer type" }, "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": { "type": "string", "description": "The locator of the signer" }, "name": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Configuration for a device signer", "example": { "type": "device", "publicKey": { "x": "decimal_string_x", "y": "decimal_string_y" }, "locator": "device:BIVmCqMz8QJB+se2kJEpGQ...", "name": "my-device" } } ], "description": "Response schema for a registered signer" }, { "type": "object", "properties": { "transaction": { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["solana"] }, "onChain": { "type": "object", "properties": { "transaction": { "type": "string" }, "lastValidBlockHeight": { "type": "number" }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["transaction"] }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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 that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": [ "signature", "submittedAt", "signer", "message" ] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "oneOf": [ { "type": "string" }, { "type": "object", "additionalProperties": {} } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] }, "walletType": { "type": "string", "enum": ["smart"] } }, "required": ["chainType", "onChain", "id", "status", "createdAt", "walletType"], "description": "The transaction for the signer" } } } ], "title": "Delegated Signer Response", "description": "Complete delegated signer response including the signer and authorization transaction", "example": { "type": "external-wallet", "address": "DzaYNi6XtWt9DNwFV61bzWEiaSxfTgWbFDgFmurJzwdo", "locator": "external-wallet:DzaYNi6XtWt9DNwFV61bzWEiaSxfTgWbFDgFmurJzwdo", "transaction": { "chainType": "solana", "walletType": "smart", "onChain": { "transaction": "4B9yzZoEV45cngasy9dP2MVxhZ2iro72eqdKitTj62pqFYHk4wVoR4NCc3xkEamWbFGXLjVotyPrDqEn11WUYHoq98b5aKCSDUrLWaQDZgb3xLxF1EvaY82Vui7Ntbv682tYnu5Ngnv4Eun1wrDJ6r4aRsUSQ3XF3jvNq8bRMn4HavBjPyErQSgXX9ytCDKntCEQcY3wfMHYbRFg5zgFU1QCqhuoLa5oBpZLCUYT8DCYu3Ado7W4xzP5aCAAwVd2tj8iAnwJEujQvBnr7wWkf2mCS1cNoCTbCFAvNVaVaau6vXBWKZqS7sDNmUD3KLQVqLwxhLLNeRuvUTkD5VQ5D21VcDiYWQWQTuYYAcQ3RUhn4Vt4ymijgRGbUXZHoeN26UHoGSBFJJ7gjqCruAtFXQZxHRDKSWN9jhYXugPYVVXSpGFA5BYWBuztUtEMF4u96tk6YTgPGdkTgrQybkNxRwbVCbpsKRG1kAbjQgBxDLAX89eMCZVbzWXnAgGA6aDBQPLAyQru8awZBDasrirnxCSQq9cWwMLePQGhY5gJZykswFKtyYF4CHeto", "lastValidBlockHeight": 343486121 }, "id": "30ef7527-eb5a-4862-92de-aa96947ee705", "status": "pending", "approvals": { "required": 1, "pending": [ { "signer": { "type": "external-wallet", "address": "GsMTPi8utYnuWakS8uvPah3UKd13dWcAshirnNmXDr3d", "locator": "external-wallet:GsMTPi8utYnuWakS8uvPah3UKd13dWcAshirnNmXDr3d" }, "message": "2kwN1iuY6Y6Br2i5D1QphaS28H7vDdAiwtABgtRdYqjx7s85rRwqF9y6iVBdv9dDZ8F1JAZo8iQdFBAx2Eg9tL3P4sbAznPZgkZcGrbUSCe5jTZ7ULZrcSd377SGEjsZcwx7h7ozrUKB6FnjHB7wGaCqEeeUXE2CfCjC1SjEc8ZzZeyNmeEv5hJSkGsK62syoAE4V5ScZs7idhxXWzpeJiRt3wfWJRevr1pJY7BBd8HaEYurXtXqwCox1uzQnnuZTiUNu7cUWUajYXBWUae4NJGJxmtFJvqnPAa5HXB4nZWXMDdcBis4tQkLCfFT6GXMauQTFCaKmcMgLRh218n51nTNopR7gTaY66ysRH536wmxt9dLqkS9okG3HF5GEXufXPLX6iT7e7" } ], "submitted": [] }, "createdAt": "2025-01-20T13:49:08.910Z" } } }, { "allOf": [ { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"], "description": "Identifier for the Passkey signer type" }, "id": { "type": "string", "description": "Credential ID from the WebAuthn registration response" }, "name": { "type": "string", "description": "Human-readable name for the passkey" }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "X coordinate of the public key as a decimal string" }, "y": { "type": "string", "description": "Y coordinate of the public key as a decimal string" } }, "required": ["x", "y"], "description": "The public key coordinates from the WebAuthn credential" }, "validatorContractVersion": { "type": "string", "description": "ERC-7579 webAuthn validator contract version" }, "locator": { "type": "string", "description": "Unique identifier for locating this passkey signer" } }, "required": [ "type", "id", "name", "publicKey", "validatorContractVersion", "locator" ], "description": "Response schema for a registered Passkey signer including validator contract details", "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", "enum": ["api-key"], "description": "Identifier for API key signer type" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string", "description": "A base58-encoded Solana public key address" }, { "type": "string" } ], "description": "The blockchain address of the custodial signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Configuration for a custodial signer managed by Crossmint. Contact sales (https://www.crossmint.com/contact/sales) for access.", "example": { "type": "api-key", "address": "0x1234567890123456789012345678901234567890", "locator": "api-key:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"], "description": "Identifier for external wallet signer type" }, "address": { "type": "string", "description": "The blockchain address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Configuration for an external wallet signer", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890", "locator": "external-wallet:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"], "description": "Identifier for server signer type" }, "address": { "type": "string", "description": "The blockchain address of the server signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "Server Signer", "description": "Configuration for a server signer", "example": { "type": "server", "address": "0x1234567890123456789012345678901234567890", "locator": "server:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"], "description": "Identifier for email signer type" }, "email": { "type": "string", "description": "The email address for the signer" }, "locator": { "type": "string", "description": "The locator of the signer" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "email", "locator", "address"], "title": "Email Signer", "description": "Configuration for an email signer", "example": { "type": "email", "email": "user@example.com", "locator": "email:user@example.com", "address": "0x1234567890abcdef..." } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"], "description": "Identifier for phone signer type" }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" }, "locator": { "type": "string", "description": "The locator of the signer" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "phone", "locator", "address"], "title": "Phone Signer", "description": "Configuration for a phone signer", "example": { "type": "phone", "phone": "+1234567890", "locator": "phone:+1234567890", "address": "0x1234567890abcdef..." } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"], "description": "Identifier for device signer type" }, "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": { "type": "string", "description": "The locator of the signer" }, "name": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Configuration for a device signer", "example": { "type": "device", "publicKey": { "x": "decimal_string_x", "y": "decimal_string_y" }, "locator": "device:BIVmCqMz8QJB+se2kJEpGQ...", "name": "my-device" } } ], "description": "Response schema for a registered signer" }, { "type": "object", "properties": { "expiresAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "The expiry date of the signer in ISO 8601 format", "example": "2024-01-01T00:00:00.000Z" }, "chains": { "type": "object", "additionalProperties": { "oneOf": [ { "type": "object", "properties": { "status": { "type": "string", "enum": ["success"] } }, "required": ["status"], "title": "Delegated Signer Approved", "description": "Delegated signer that has been approved for this chain" }, { "type": "object", "properties": { "status": { "type": "string", "enum": ["pending", "awaiting-approval", "failed"] }, "id": { "type": "string", "description": "Unique identifier for the signature" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": [ "external-wallet" ] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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 that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": [ "external-wallet" ] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": [ "signature", "submittedAt", "signer", "message" ] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" } }, "required": ["status", "id"], "title": "Delegated Signer Awaiting Approval", "description": "Delegated signer that is awaiting approval for this chain" } ] }, "description": "Authorization status for each chain where the chain name is the key and the signature request is the value" } } } ], "title": "Delegated Signer Response", "description": "Complete delegated signer response including the signer and authorizations for each chain", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890", "locator": "external-wallet:0x1234567890123456789012345678901234567890", "chains": { "polygon": { "status": "active" }, "base": { "id": "b984491a-5785-43c0-8811-45d46fe6e520", "status": "awaiting-approval", "approvals": { "pending": [], "submitted": [ { "signer": { "type": "external-wallet", "locator": "external-wallet:0x1234567890123456789012345678901234567890", "address": "0x1234567890123456789012345678901234567890" }, "message": "0x1234567890123456789012345678901234567890123456789012345678901234", "signature": "0x1234567890123456789012345678901234567890123456789012345678901234", "submittedAt": "2024-01-01T00:00:00.000Z" } ] } } } } }, { "allOf": [ { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"], "description": "Identifier for the Passkey signer type" }, "id": { "type": "string", "description": "Credential ID from the WebAuthn registration response" }, "name": { "type": "string", "description": "Human-readable name for the passkey" }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "X coordinate of the public key as a decimal string" }, "y": { "type": "string", "description": "Y coordinate of the public key as a decimal string" } }, "required": ["x", "y"], "description": "The public key coordinates from the WebAuthn credential" }, "validatorContractVersion": { "type": "string", "description": "ERC-7579 webAuthn validator contract version" }, "locator": { "type": "string", "description": "Unique identifier for locating this passkey signer" } }, "required": [ "type", "id", "name", "publicKey", "validatorContractVersion", "locator" ], "description": "Response schema for a registered Passkey signer including validator contract details", "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", "enum": ["api-key"], "description": "Identifier for API key signer type" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string", "description": "A base58-encoded Solana public key address" }, { "type": "string" } ], "description": "The blockchain address of the custodial signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Configuration for a custodial signer managed by Crossmint. Contact sales (https://www.crossmint.com/contact/sales) for access.", "example": { "type": "api-key", "address": "0x1234567890123456789012345678901234567890", "locator": "api-key:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"], "description": "Identifier for external wallet signer type" }, "address": { "type": "string", "description": "The blockchain address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Configuration for an external wallet signer", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890", "locator": "external-wallet:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"], "description": "Identifier for server signer type" }, "address": { "type": "string", "description": "The blockchain address of the server signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "Server Signer", "description": "Configuration for a server signer", "example": { "type": "server", "address": "0x1234567890123456789012345678901234567890", "locator": "server:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"], "description": "Identifier for email signer type" }, "email": { "type": "string", "description": "The email address for the signer" }, "locator": { "type": "string", "description": "The locator of the signer" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "email", "locator", "address"], "title": "Email Signer", "description": "Configuration for an email signer", "example": { "type": "email", "email": "user@example.com", "locator": "email:user@example.com", "address": "0x1234567890abcdef..." } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"], "description": "Identifier for phone signer type" }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" }, "locator": { "type": "string", "description": "The locator of the signer" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "phone", "locator", "address"], "title": "Phone Signer", "description": "Configuration for a phone signer", "example": { "type": "phone", "phone": "+1234567890", "locator": "phone:+1234567890", "address": "0x1234567890abcdef..." } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"], "description": "Identifier for device signer type" }, "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": { "type": "string", "description": "The locator of the signer" }, "name": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Configuration for a device signer", "example": { "type": "device", "publicKey": { "x": "decimal_string_x", "y": "decimal_string_y" }, "locator": "device:BIVmCqMz8QJB+se2kJEpGQ...", "name": "my-device" } } ], "description": "Response schema for a registered signer" }, { "type": "object", "properties": { "permissions": { "type": "array", "items": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-policy"] }, "address": { "type": "string" } }, "required": ["type", "address"], "title": "External Policy", "description": "Permission to use an external policy", "example": { "type": "external-policy", "address": "CCRBPM5HBMVLORGVXROAGIRHIGJC73PSFK3FKBB6KNRJBLHNJPBOI3AB" } } ] }, "description": "Optional array of permissions to be used for the signer", "example": [ { "type": "external-policy", "address": "CCRBPM5HBMVLORGVXROAGIRHIGJC73PSFK3FKBB6KNRJBLHNJPBOI3AB" } ] }, "transaction": { "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": { "type": "string", "description": "The transaction hash" }, "ledger": { "type": "number", "description": "The ledger number where the transaction was included" }, "expiration": { "type": "number", "description": "The expiration of the transaction" }, "result": { "description": "The Transaction Result in XDR format" }, "explorerLink": { "type": "string", "description": "Optional link to view the transaction in an explorer" } }, "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": { "discriminator": { "propertyName": "type" }, "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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 that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": [ "signature", "submittedAt", "signer", "message" ] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "oneOf": [ { "type": "string" }, { "type": "object", "additionalProperties": {} } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] }, "walletType": { "type": "string", "enum": ["smart"] } }, "required": ["chainType", "onChain", "id", "status", "createdAt", "walletType"], "description": "The transaction for the signer" } } } ], "title": "Delegated Signer Response", "description": "Complete delegated signer response including the signer and authorization transaction", "example": { "type": "external-wallet", "address": "GDUCX62IF76FFIYRNI25LJDS2V43QEZDY4YNF2DJWVIASN5LKX76Q4TW", "locator": "external-wallet:GDUCX62IF76FFIYRNI25LJDS2V43QEZDY4YNF2DJWVIASN5LKX76Q4TW", "permissions": [ { "type": "external-policy", "address": "CCRBPM5HBMVLORGVXROAGIRHIGJC73PSFK3FKBB6KNRJBLHNJPBOI3AB" } ], "transaction": { "chainType": "stellar", "walletType": "smart", "onChain": { "transaction": { "method": "add_signer", "tx": "AAAAAQAAAAAAAAAA6Cv7SC/8UqMRajXVpHLVebgTI8cw0uhptVAJN6tV/+gNtr9lA7hE6QAOwAgAAAABAAAAAAAAAAEksa3so67z/hhpBWMPQdw+PT2ms33JDRSDbYjqW683yQAAABFkZXBsb3lfaWRlbXBvdGVudAAAAAAAAAIAAAASAAAAAAAAAADoK/tIL/xSoxFqNdWkctV5uBMjxzDS6Gm1UAk3q1X/6AAAABEAAAABAAAAAwAAAA8AAAAQY29uc3RydWN0b3JfYXJncwAAABAAAAABAAAAAgAAABAAAAABAAAAAQAAABAAAAABAAAAAwAAAA8AAAAHRWQyNTUxOQAAAAARAAAAAQAAAAEAAAAPAAAACnB1YmxpY19rZXkAAAAAAA0AAAAgyLZLslvAtPSvrch4dTYQT5Q6NI/DdJtTWQmkH7gbreIAAAAQAAAAAQAAAAEAAAAPAAAABUFkbWluAAAAAAAAEAAAAAEAAAAAAAAADwAAAARzYWx0AAAADQAAACBRdLqIKRSPYpduY8VwZmLfFmD5nTDM10wNlHCbyfvOCAAAAA8AAAAJd2FzbV9oYXNoAAAAAAAADQAAACA9PARHNRwk5Pra7OFAiMck10LoFypYcCLZzWWvnOkIngAAAAA=" }, "expiration": 1718281200 }, "id": "30ef7527-eb5a-4862-92de-aa96947ee705", "status": "pending", "approvals": { "required": 1, "pending": [ { "signer": { "type": "external-wallet", "address": "GDUCX62IF76FFIYRNI25LJDS2V43QEZDY4YNF2DJWVIASN5LKX76Q4TW", "locator": "external-wallet:GsMTPi8utYnuWakS8uvPah3UKd13dWcAshirnNmXDr3d" }, "message": "2kwN1iuY6Y6Br2i5D1QphaS28H7vDdAiwtABgtRdYqjx7s85rRwqF9y6iVBdv9dDZ8F1JAZo8iQdFBAx2Eg9tL3P4sbAznPZgkZcGrbUSCe5jTZ7ULZrcSd377SGEjsZcwx7h7ozrUKB6FnjHB7wGaCqEeeUXE2CfCjC1SjEc8ZzZeyNmeEv5hJSkGsK62syoAE4V5ScZs7idhxXWzpeJiRt3wfWJRevr1pJY7BBd8HaEYurXtXqwCox1uzQnnuZTiUNu7cUWUajYXBWUae4NJGJxmtFJvqnPAa5HXB4nZWXMDdcBis4tQkLCfFT6GXMauQTFCaKmcMgLRh218n51nTNopR7gTaY66ysRH536wmxt9dLqkS9okG3HF5GEXufXPLX6iT7e7" } ], "submitted": [] }, "createdAt": "2025-01-20T13:49:08.910Z" } } } ] }, "FundWalletAmountDTO": { "type": "object", "properties": { "amount": { "type": "number", "minimum": 1, "maximum": 100, "description": "The amount of currency to fund the wallet with. Between 1 and 100", "example": 10 }, "token": { "type": "string", "enum": ["usdxm"], "description": "The currency to fund the wallet with. Only USDXM is supported.", "example": "usdxm" }, "chain": { "oneOf": [ { "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" ] }, { "type": "string", "enum": ["solana"] }, { "type": "string", "enum": ["stellar"] } ], "description": "The chain to fund the wallet with", "example": "base-sepolia" } }, "required": ["amount", "token", "chain"], "description": "Parameters required to fund a wallet", "example": { "amount": 10, "token": "usdxm", "chain": "base-sepolia" } }, "SendOrDepositTokenV2025DTO": { "oneOf": [ { "type": "object", "properties": { "recipient": { "type": "string", "description": "An address locator that supports different types of recipients. It can be of the format:\n- `
` (wallet address)\n- `chain:address` (e.g. ethereum:0x1234...)\n- `address:[:chain]`\n- `email:[:chain]`\n- `phoneNumber:[:chain]`\n- `twitter:[:chain]`\n- `x:[:chain]`\n- `userId:[:chain]`", "example": "0x1234567890123456789012345678901234567890" }, "signer": { "type": "string", "title": "Signer Locator", "description": "Optional signer locator. Defaults to admin signer", "example": "external-wallet:0xdeadbeef" }, "amount": { "type": "string", "pattern": "^\\d+(?:\\.\\d*)?$", "description": "Amount of tokens to transfer (in decimal value)", "example": "42.69" }, "transactionType": { "default": "direct", "type": "string", "enum": ["direct", "regulated-transfer", "onramp"], "description": "Specifies the type of transaction. Choose 'direct' for standard interactions or 'regulated-transfer' for operations requiring compliance checks." }, "memo": { "discriminator": { "propertyName": "type" }, "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"] } ], "description": "Memo for the transaction. Only supported for Stellar", "example": { "type": "text", "value": "Hello, world!" } } }, "required": ["recipient"], "description": "Base fields for all token transfers" }, { "type": "object", "properties": { "signer": { "type": "string", "title": "Signer Locator", "description": "Optional signer locator. Defaults to admin signer", "example": "external-wallet:0xdeadbeef" }, "amount": { "type": "string", "pattern": "^\\d+(?:\\.\\d*)?$", "description": "Amount of tokens to transfer (in decimal value)", "example": "42.69" }, "transactionType": { "default": "direct", "type": "string", "enum": ["direct", "regulated-transfer", "onramp"], "description": "Specifies the type of transaction. Choose 'direct' for standard interactions or 'regulated-transfer' for operations requiring compliance checks." }, "memo": { "discriminator": { "propertyName": "type" }, "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"] } ], "description": "Memo for the transaction. Only supported for Stellar", "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", "description": "An address locator that supports different types of recipients. It can be of the format:\n- `
` (wallet address)\n- `chain:address` (e.g. ethereum:0x1234...)\n- `address:[:chain]`\n- `email:[:chain]`\n- `phoneNumber:[:chain]`\n- `twitter:[:chain]`\n- `x:[:chain]`\n- `userId:[:chain]`", "example": "0x1234567890123456789012345678901234567890" }, "signer": { "type": "string", "title": "Signer Locator", "description": "Optional signer locator. Defaults to admin signer", "example": "evm-keypair:0xdeadbeef" }, "amount": { "type": "string", "pattern": "^\\d+(?:\\.\\d*)?$", "description": "Amount of tokens to transfer (in decimal format)", "example": "42.69" }, "transactionType": { "default": "direct", "type": "string", "enum": ["direct", "regulated-transfer", "onramp"], "description": "Specifies the type of transaction. Choose 'direct' for standard interactions or 'regulated-transfer' for operations requiring compliance checks." } }, "required": ["recipient"] }, "SendTokenV2025DTO": { "type": "object", "properties": { "recipient": { "type": "string", "description": "An address locator that supports different types of recipients. It can be of the format:\n- `
` (wallet address)\n- `chain:address` (e.g. ethereum:0x1234...)\n- `address:[:chain]`\n- `email:[:chain]`\n- `phoneNumber:[:chain]`\n- `twitter:[:chain]`\n- `x:[:chain]`\n- `userId:[:chain]`", "example": "0x1234567890123456789012345678901234567890" }, "signer": { "type": "string", "title": "Signer Locator", "description": "Optional signer locator. Defaults to admin signer", "example": "external-wallet:0xdeadbeef" }, "amount": { "type": "string", "pattern": "^\\d+(?:\\.\\d*)?$", "description": "Amount of tokens to transfer (in decimal value)", "example": "42.69" }, "transactionType": { "default": "direct", "type": "string", "enum": ["direct", "regulated-transfer", "onramp"], "description": "Specifies the type of transaction. Choose 'direct' for standard interactions or 'regulated-transfer' for operations requiring compliance checks." }, "memo": { "discriminator": { "propertyName": "type" }, "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"] } ], "description": "Memo for the transaction. Only supported for Stellar", "example": { "type": "text", "value": "Hello, world!" } } }, "required": ["recipient"], "description": "Base fields for all token transfers" }, "SubmitApprovalV2025DTO": { "type": "object", "properties": { "approvals": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator for the passkey signer", "example": "passkey:-y--aq1hqKC_ipuPHa-8aQ" }, "signature": { "type": "object", "properties": { "r": { "type": "string", "description": "R component of the signature as a stringified bigint" }, "s": { "type": "string", "description": "S component of the signature as a stringified bigint" } }, "required": ["r", "s"], "description": "The signature components" }, "metadata": { "type": "object", "properties": { "authenticatorData": { "type": "string", "description": "WebAuthn authenticator data as hex string" }, "challengeIndex": { "type": "number", "description": "Index of the challenge used" }, "clientDataJSON": { "type": "string", "description": "WebAuthn client data JSON string" }, "typeIndex": { "type": "number", "description": "Index of the signature type" }, "userVerificationRequired": { "type": "boolean", "description": "Whether user verification was required" } }, "required": [ "authenticatorData", "challengeIndex", "clientDataJSON", "typeIndex", "userVerificationRequired" ], "description": "WebAuthn signature metadata" } }, "required": ["signer", "signature", "metadata"], "description": "Schema for WebAuthn signature data", "title": "Passkey signature submission payload" }, { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator for the external wallet signer", "example": "external-wallet:0x1234567890123456789012345678901234567890" }, "signature": { "oneOf": [{ "type": "string" }, { "type": "string" }], "description": "The cryptographic signature", "example": "0x4551567890abcdef..." } }, "required": ["signer", "signature"], "title": "External wallet signature submission payload", "description": "Schema for external wallet signature submission" }, { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator for the server signer", "example": "server:0x1234567890123456789012345678901234567890" }, "signature": { "oneOf": [{ "type": "string" }, { "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": { "type": "string", "description": "The locator for the email signer", "example": "email:user@example.com" }, "signature": { "oneOf": [{ "type": "string" }, { "type": "string" }], "description": "The cryptographic signature", "example": "0x4551567890abcdef..." } }, "required": ["signer", "signature"], "title": "Email signer signature submission payload", "description": "Schema for email signer signature submission" }, { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator for the phone signer", "example": "phone:+1234567890" }, "signature": { "oneOf": [{ "type": "string" }, { "type": "string" }], "description": "The cryptographic signature", "example": "0x4551567890abcdef..." } }, "required": ["signer", "signature"], "title": "Phone signer signature submission payload", "description": "Schema for phone signer signature submission" }, { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator for the device signer", "example": "device:BIVmCqMz8QJB+se2kJEpGQ..." }, "signature": { "type": "object", "properties": { "r": { "type": "string", "description": "A decimal or hex string representation of a non-negative bigint value" }, "s": { "type": "string", "description": "A decimal or hex string representation of a non-negative bigint value" } }, "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" } ] }, "minItems": 1, "description": "Array of approvals to submit for this transaction" } }, "required": ["approvals"], "description": "Input for submitting one or more approvals", "example": { "approvals": [{ "signer": "external-wallet:0x1234...", "signature": "0x1234567890abcdef..." }] } }, "WalletBalanceResponseDTO": { "type": "array", "items": { "type": "object", "properties": { "token": { "type": "string", "enum": [ "ape", "bnb", "coti", "eth", "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" } }, { "token": "eth", "decimals": 18, "balances": { "ethereum": "1000000000000000000", "total": "1000000000000000000" } } ] }, "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": { "oneOf": [ { "type": "object", "properties": { "locator": { "type": "string", "description": "Either a token string (e.g., 'eth', 'sol', 'xlm') or a token locator string (e.g., 'ethereum:0x123', 'stellar:xlm')", "example": "stellar:xlm" }, "amount": { "type": "string", "description": "The amount of the token after placing the decimal point", "example": "18.8343253454" }, "rawAmount": { "type": "string", "description": "The raw amount of the token", "example": "18834161225104097789" }, "contractAddress": { "type": "string", "description": "The contract address of the token on the EVM chain. Not present for native tokens.", "example": "0x123" } }, "required": ["locator", "amount", "rawAmount"], "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": { "oneOf": [ { "type": "object", "properties": { "locator": { "type": "string", "description": "Either a token string (e.g., 'eth', 'sol') or a token locator string (e.g., 'ethereum:0x123', 'solana:sol')", "example": "ethereum:0x123" }, "amount": { "type": "string", "description": "The amount of the token after placing the decimal point", "example": "18.8343253454" }, "rawAmount": { "type": "string", "description": "The raw amount of the token", "example": "18834161225104097789" }, "contractAddress": { "type": "string", "description": "The contract address of the token on the EVM chain. Not present for native tokens.", "example": "0x123" } }, "required": ["locator", "amount", "rawAmount"], "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": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "sender": { "type": "object", "properties": { "address": { "type": "string", "description": "Wallet address", "example": "0x1234567890123456789012345678901234567890" }, "chain": { "type": "string", "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" ], "description": "Chain identifier", "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", "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" ], "description": "Chain identifier", "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": { "oneOf": [ { "type": "object", "properties": { "locator": { "type": "string", "description": "Either a token string (e.g., 'eth', 'sol') or a token locator string (e.g., 'ethereum:0x123', 'solana:sol')", "example": "ethereum:0x123" }, "amount": { "type": "string", "description": "The amount of the token after placing the decimal point", "example": "18.8343253454" }, "rawAmount": { "type": "string", "description": "The raw amount of the token", "example": "18834161225104097789" }, "contractAddress": { "type": "string", "description": "The contract address of the token on the EVM chain. Not present for native tokens.", "example": "0x123" }, "symbol": { "type": "string", "description": "Token symbol", "example": "USDC" }, "decimals": { "type": "number", "description": "The number of decimals of the token", "example": 6 }, "type": { "type": "string", "enum": ["fungible"], "description": "Token type", "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", "enum": ["fungible"], "description": "Token type", "example": "fungible" }, "chain": { "type": "string", "enum": ["solana"], "description": "Solana chain identifier", "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", "enum": ["fungible"], "description": "Token type", "example": "fungible" }, "chain": { "type": "string", "enum": ["stellar"], "description": "Stellar chain identifier", "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", "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", "enum": ["wallets.transfer.in"], "description": "Event type for incoming transfers", "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", "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" ], "description": "Chain identifier", "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", "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" ], "description": "Chain identifier", "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": { "oneOf": [ { "type": "object", "properties": { "locator": { "type": "string", "description": "Either a token string (e.g., 'eth', 'sol') or a token locator string (e.g., 'ethereum:0x123', 'solana:sol')", "example": "ethereum:0x123" }, "amount": { "type": "string", "description": "The amount of the token after placing the decimal point", "example": "18.8343253454" }, "rawAmount": { "type": "string", "description": "The raw amount of the token", "example": "18834161225104097789" }, "contractAddress": { "type": "string", "description": "The contract address of the token on the EVM chain. Not present for native tokens.", "example": "0x123" }, "symbol": { "type": "string", "description": "Token symbol", "example": "USDC" }, "decimals": { "type": "number", "description": "The number of decimals of the token", "example": 6 }, "type": { "type": "string", "enum": ["fungible"], "description": "Token type", "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", "enum": ["fungible"], "description": "Token type", "example": "fungible" }, "chain": { "type": "string", "enum": ["solana"], "description": "Solana chain identifier", "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", "enum": ["fungible"], "description": "Token type", "example": "fungible" }, "chain": { "type": "string", "enum": ["stellar"], "description": "Stellar chain identifier", "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", "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", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "oneOf": [ { "type": "string" }, { "type": "object", "additionalProperties": {} } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"], "description": "Revert reason from smart contract", "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", "enum": ["wallets.transfer.out"], "description": "Event type for outgoing transfers", "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"], "description": "Bidirectional cursor paginated response" }, "WalletsMultipleSignatureV2025ResponseDTO": { "type": "object", "properties": { "signatures": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the signature" }, "type": { "type": "string", "enum": ["message", "typed-data"], "description": "The type of signature" }, "chainType": { "type": "string", "enum": ["evm", "solana", "aptos", "sui", "stellar"], "description": "The blockchain type of the wallet" }, "walletType": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the signature" }, "params": { "oneOf": [ { "type": "object", "properties": { "message": { "type": "string", "description": "The message in plain text to sign" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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 will submit this signature. Defaults to the wallet's admin signer." }, "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": ["message"], "description": "Parameters for a message signature", "title": "Message signature parameters" }, { "type": "object", "properties": { "typedData": { "type": "object", "properties": { "domain": { "type": "object", "properties": { "name": { "type": "string" }, "version": { "type": "string" }, "chainId": { "type": "number" }, "verifyingContract": { "type": "string", "description": "An EVM address string" }, "salt": { "type": "string" } }, "required": [ "name", "version", "chainId", "verifyingContract" ] }, "types": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "type": { "type": "string" } }, "required": ["name", "type"] } } }, "primaryType": { "type": "string" }, "message": { "type": "object", "additionalProperties": {} } }, "required": ["domain", "types", "primaryType", "message"] }, "chain": { "type": "string", "enum": [ "arbitrum-sepolia", "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": { "discriminator": { "propertyName": "type" }, "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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 will approve this signature" }, "isSmartWalletSignature": { "type": "boolean", "description": "Whether the signature corresponds to the smart wallet or to the signer. If true, the signature will be wrapped with ERC6492." } }, "required": ["typedData", "chain"], "description": "Parameters for a typed data signature", "title": "Typed data signature parameters" } ], "description": "Type-specific signature parameters" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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 that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the signature was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "description": "Error message if the signature fails" }, "outputSignature": { "type": "string", "description": "The wallet's output signature of the request" } }, "required": ["id", "type", "chainType", "walletType", "status", "params", "createdAt"], "description": "Complete signature response including status, signing requirements, and wallet type specific data", "example": { "id": "sig-b984491a-5785-43c0-8811-45d46fe6e520", "type": "message", "chainType": "evm", "walletType": "smart", "status": "awaiting-approval", "params": { "message": "Hello, world!", "signer": { "type": "external-wallet", "address": "0xB17Ea8d34078424B9d7D126E444d5F2C3CC5c81E", "locator": "external-wallet:0xB17Ea8d34078424B9d7D126E444d5F2C3CC5c81E" }, "chain": "polygon" }, "approvals": { "pending": [ { "signer": { "type": "external-wallet", "address": "0xB17Ea8d34078424B9d7D126E444d5F2C3CC5c81E", "locator": "external-wallet:0xB17Ea8d34078424B9d7D126E444d5F2C3CC5c81E" }, "message": "Hello world!" } ], "submitted": [] }, "createdAt": "2024-01-01T00:00:00Z" } } } }, "required": ["signatures"], "description": "List of signatures with their status, signing requirements, and wallet type specific data" }, "WalletsMultipleTransactionV2025ResponseDTO": { "type": "object", "properties": { "transactions": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["evm", "solana", "aptos", "sui", "stellar"], "description": "The blockchain type of the wallet" }, "walletType": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)" }, "params": { "type": "object", "properties": { "calls": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "address": { "type": "string", "description": "The recipient address for this transaction call" }, "functionName": { "type": "string", "description": "The name of the function to call" }, "abi": { "type": "array", "items": {}, "description": "The ABI for the function to call" }, "args": { "type": "array", "items": {}, "description": "The arguments to pass to the function" }, "value": { "default": "0", "type": "string", "description": "The amount of native token to send in wei" } }, "required": ["address", "functionName", "abi", "args"], "title": "EVM contract call transaction parameters", "description": "Parameters for a transaction to execute a contract function" }, { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient address for this transaction call" }, "value": { "type": "string", "description": "The amount of native token to send in wei" }, "data": { "description": "The encoded calldata for this transaction" } }, "required": ["to", "value", "data"], "title": "EVM direct calldata transaction parameters", "description": "Parameters for a transaction to send a direct calldata transaction" }, { "type": "object", "properties": { "transaction": { "description": "Serialized EVM transaction" } }, "required": ["transaction"], "title": "EVM serialized transaction parameters", "description": "Parameters for a transaction to send a serialized EVM transaction" } ], "description": "Transaction data to execute" }, "minItems": 1, "description": "Array of transaction calls to execute" }, "chain": { "enum": [ "abstract", "apechain", "arbitrum", "arbitrumnova", "avalanche", "base", "bsc", "flow", "mantle", "mode", "optimism", "plume", "polygon", "scroll", "sei-pacific-1", "shape", "story", "tempo", "world-chain", "zora", "ethereum", "abstract-testnet", "arbitrum-sepolia", "avalanche-fuji", "base-sepolia", "curtis", "ethereum-sepolia", "flow-testnet", "mantle-sepolia", "mode-sepolia", "optimism-sepolia", "plume-testnet", "polygon-amoy", "scroll-sepolia", "sei-atlantic-2-testnet", "story-testnet", "world-chain-sepolia", "zora-sepolia", "arc-testnet", "tempo-testnet" ], "description": "The chain on which the transaction will be executed" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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 will submit this transaction" } }, "required": ["calls", "chain"] }, "onChain": { "type": "object", "properties": { "userOperation": { "type": "object", "properties": { "sender": { "type": "string" }, "nonce": { "type": "string" }, "callData": { "type": "string" }, "callGasLimit": { "type": "string" }, "verificationGasLimit": { "type": "string" }, "preVerificationGas": { "type": "string" }, "maxFeePerGas": { "type": "string" }, "maxPriorityFeePerGas": { "type": "string" }, "paymaster": { "type": "string" }, "paymasterVerificationGasLimit": { "type": "string" }, "paymasterData": { "type": "string" }, "paymasterPostOpGasLimit": { "type": "string" }, "signature": { "type": "string" }, "factory": { "type": "string" }, "factoryData": { "type": "string" } }, "required": [ "sender", "nonce", "callData", "callGasLimit", "verificationGasLimit", "preVerificationGas", "maxFeePerGas", "maxPriorityFeePerGas", "signature" ] }, "userOperationHash": { "type": "string" }, "txId": { "type": "string" }, "proxiedTxId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["userOperation", "userOperationHash"], "title": "EVM smart wallet transaction data", "description": "Transaction data specific to EVM smart wallets" }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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 that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "oneOf": [ { "type": "string" }, { "type": "object", "additionalProperties": {} } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": [ "chainType", "walletType", "params", "onChain", "id", "status", "createdAt" ], "title": "EVM Smart Wallet" }, { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["evm", "solana", "aptos", "sui", "stellar"], "description": "The blockchain type of the wallet" }, "walletType": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)" }, "params": { "type": "object", "properties": { "call": { "oneOf": [ { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient address for this transaction call" }, "data": { "description": "The encoded calldata for this transaction" } }, "required": ["to", "data"], "additionalProperties": false }, { "type": "object", "properties": { "address": { "type": "string", "description": "The recipient address for this transaction call" }, "functionName": { "type": "string", "description": "The name of the function to call" }, "abi": { "type": "array", "items": {}, "description": "The ABI for the function to call" }, "args": { "type": "array", "items": {}, "description": "The arguments to pass to the function" } }, "required": ["address", "functionName", "abi", "args"], "additionalProperties": false } ], "description": "The transaction call to execute" }, "chain": { "type": "string", "enum": [ "arbitrum-sepolia", "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 transaction will be executed" } }, "required": ["call", "chain"] }, "onChain": { "type": "object", "properties": { "call": { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient address for this transaction call" }, "data": { "description": "The encoded calldata for this transaction" } }, "required": ["to", "data"] }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["call"], "title": "EVM MPC wallet transaction data", "description": "Transaction data specific to EVM MPC wallets" }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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 that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "oneOf": [ { "type": "string" }, { "type": "object", "additionalProperties": {} } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": [ "chainType", "walletType", "params", "onChain", "id", "status", "createdAt" ], "title": "EVM MPC Wallet" }, { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["evm", "solana", "aptos", "sui", "stellar"], "description": "The blockchain type of the wallet" }, "walletType": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)" }, "params": { "type": "object", "properties": { "transaction": { "type": "string", "description": "Base58 encoded serialized Solana transaction" }, "requiredSigners": { "type": "array", "items": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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": "Full signer object" }, "description": "Optional array of additional full signer objects required for the transaction" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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 will submit this transaction. Defaults to the admin signer." }, "feeConfig": { "oneOf": [ { "type": "object", "properties": { "feePayer": { "type": "string", "description": "The address that will pay for the transaction" }, "token": { "type": "string", "enum": ["sol", "usdc", "usdt"], "description": "The token to use for the fee" }, "amount": { "type": "string", "description": "The amount of the fee" } }, "required": ["feePayer", "token", "amount"] }, { "type": "object", "properties": { "feePayer": { "type": "string", "enum": ["crossmint"] }, "amount": { "type": "string", "description": "The amount of the fee" } }, "required": ["feePayer", "amount"] } ] } }, "required": ["transaction", "feeConfig"] }, "onChain": { "type": "object", "properties": { "transaction": { "type": "string" }, "lastValidBlockHeight": { "type": "number" }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["transaction"] }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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 that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "oneOf": [ { "type": "string" }, { "type": "object", "additionalProperties": {} } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": [ "chainType", "walletType", "params", "onChain", "id", "status", "createdAt" ], "title": "Solana Smart Wallet" }, { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["evm", "solana", "aptos", "sui", "stellar"], "description": "The blockchain type of the wallet" }, "walletType": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)" }, "params": { "type": "object", "properties": { "transaction": { "type": "string", "description": "Base58 encoded serialized Solana transaction" }, "requiredSigners": { "type": "array", "items": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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": "Full signer object" }, "description": "Optional array of additional full signer objects required for the transaction" } }, "required": ["transaction"] }, "onChain": { "type": "object", "properties": { "transaction": { "type": "string" }, "lastValidBlockHeight": { "type": "number" }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["transaction"] }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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 that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "oneOf": [ { "type": "string" }, { "type": "object", "additionalProperties": {} } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": [ "chainType", "walletType", "params", "onChain", "id", "status", "createdAt" ], "title": "Solana MPC Wallet" }, { "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": "object", "properties": { "type": { "type": "string", "enum": ["contract-call"], "description": "The type of transaction to execute" }, "contractId": { "type": "string", "description": "The recipient address for this transaction call", "example": "GB3KQJ6N2YIE62YVO67X7W5TQK6Q5ZZ4P2LUVK2U6AU26CJQ626J" }, "method": { "type": "string", "description": "The name of the function to call" }, "memo": { "discriminator": { "propertyName": "type" }, "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"] } ], "description": "The memo for the transaction", "example": { "type": "text", "value": "Hello, world!" } }, "args": { "type": "object", "additionalProperties": {}, "description": "The arguments to pass to the function" } }, "required": ["type", "contractId", "method", "args"], "title": "Stellar contract call transaction parameters", "description": "Stellar transaction to execute", "example": { "type": "contract-call", "contractId": "GB3KQJ6N2YIE62YVO67X7W5TQK6Q5ZZ4P2LUVK2U6AU26CJQ626J", "method": "transfer", "args": { "to": "GB3KQJ6N2YIE62YVO67X7W5TQK6Q5ZZ4P2LUVK2U6AU26CJQ626J", "from": "GB3KQJ6N2YIE62YVO67X7W5TQK6Q5ZZ4P2LUVK2U6AU26CJQ626J", "amount": "1000000000000000000" } } }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer who will submit this transaction. Defaults to the admin signer.", "example": [ "passkey:cWtP7gmZbd98HbKUuGXx5Q", "api-key:123456789", "external-wallet:0x1234567890123456789012345678901234567890", "server:0x1234567890123456789012345678901234567890", "email:test@example.com", "phone:+1234567890", "device:BIVmCqMz8QJB+se2kJEpGQ..." ] } }, "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": { "type": "string", "description": "The transaction hash" }, "ledger": { "type": "number", "description": "The ledger number where the transaction was included" }, "expiration": { "type": "number", "description": "The expiration of the transaction" }, "result": { "description": "The Transaction Result in XDR format" }, "explorerLink": { "type": "string", "description": "Optional link to view the transaction in an explorer" } }, "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": { "discriminator": { "propertyName": "type" }, "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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 that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "oneOf": [ { "type": "string" }, { "type": "object", "additionalProperties": {} } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": [ "chainType", "walletType", "params", "onChain", "id", "status", "createdAt" ], "title": "Stellar Smart Wallet" } ], "description": "Complete transaction response including status, signing requirements, and wallet type specific data" } } }, "required": ["transactions"], "title": "Transactions Response", "description": "List of transactions with their status, signing requirements, and wallet type specific data" }, "WalletsSignatureV2025ResponseDTO": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the signature" }, "type": { "type": "string", "enum": ["message", "typed-data"], "description": "The type of signature" }, "chainType": { "type": "string", "enum": ["evm", "solana", "aptos", "sui", "stellar"], "description": "The blockchain type of the wallet" }, "walletType": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the signature" }, "params": { "oneOf": [ { "type": "object", "properties": { "message": { "type": "string", "description": "The message in plain text to sign" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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 will submit this signature. Defaults to the wallet's admin signer." }, "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": ["message"], "description": "Parameters for a message signature", "title": "Message signature parameters" }, { "type": "object", "properties": { "typedData": { "type": "object", "properties": { "domain": { "type": "object", "properties": { "name": { "type": "string" }, "version": { "type": "string" }, "chainId": { "type": "number" }, "verifyingContract": { "type": "string", "description": "An EVM address string" }, "salt": { "type": "string" } }, "required": ["name", "version", "chainId", "verifyingContract"] }, "types": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "type": { "type": "string" } }, "required": ["name", "type"] } } }, "primaryType": { "type": "string" }, "message": { "type": "object", "additionalProperties": {} } }, "required": ["domain", "types", "primaryType", "message"] }, "chain": { "type": "string", "enum": [ "arbitrum-sepolia", "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": { "discriminator": { "propertyName": "type" }, "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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 will approve this signature" }, "isSmartWalletSignature": { "type": "boolean", "description": "Whether the signature corresponds to the smart wallet or to the signer. If true, the signature will be wrapped with ERC6492." } }, "required": ["typedData", "chain"], "description": "Parameters for a typed data signature", "title": "Typed data signature parameters" } ], "description": "Type-specific signature parameters" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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 that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the signature was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "description": "Error message if the signature fails" }, "outputSignature": { "type": "string", "description": "The wallet's output signature of the request" } }, "required": ["id", "type", "chainType", "walletType", "status", "params", "createdAt"], "description": "Complete signature response including status, signing requirements, and wallet type specific data", "example": { "id": "sig-b984491a-5785-43c0-8811-45d46fe6e520", "type": "message", "chainType": "evm", "walletType": "smart", "status": "awaiting-approval", "params": { "message": "Hello, world!", "signer": { "type": "external-wallet", "address": "0xB17Ea8d34078424B9d7D126E444d5F2C3CC5c81E", "locator": "external-wallet:0xB17Ea8d34078424B9d7D126E444d5F2C3CC5c81E" }, "chain": "polygon" }, "approvals": { "pending": [ { "signer": { "type": "external-wallet", "address": "0xB17Ea8d34078424B9d7D126E444d5F2C3CC5c81E", "locator": "external-wallet:0xB17Ea8d34078424B9d7D126E444d5F2C3CC5c81E" }, "message": "Hello world!" } ], "submitted": [] }, "createdAt": "2024-01-01T00:00:00Z" } }, "WalletsTransactionV2025ResponseDTO": { "oneOf": [ { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["evm", "solana", "aptos", "sui", "stellar"], "description": "The blockchain type of the wallet" }, "walletType": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)" }, "params": { "type": "object", "properties": { "calls": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "address": { "type": "string", "description": "The recipient address for this transaction call" }, "functionName": { "type": "string", "description": "The name of the function to call" }, "abi": { "type": "array", "items": {}, "description": "The ABI for the function to call" }, "args": { "type": "array", "items": {}, "description": "The arguments to pass to the function" }, "value": { "default": "0", "type": "string", "description": "The amount of native token to send in wei" } }, "required": ["address", "functionName", "abi", "args"], "title": "EVM contract call transaction parameters", "description": "Parameters for a transaction to execute a contract function" }, { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient address for this transaction call" }, "value": { "type": "string", "description": "The amount of native token to send in wei" }, "data": { "description": "The encoded calldata for this transaction" } }, "required": ["to", "value", "data"], "title": "EVM direct calldata transaction parameters", "description": "Parameters for a transaction to send a direct calldata transaction" }, { "type": "object", "properties": { "transaction": { "description": "Serialized EVM transaction" } }, "required": ["transaction"], "title": "EVM serialized transaction parameters", "description": "Parameters for a transaction to send a serialized EVM transaction" } ], "description": "Transaction data to execute" }, "minItems": 1, "description": "Array of transaction calls to execute" }, "chain": { "enum": [ "abstract", "apechain", "arbitrum", "arbitrumnova", "avalanche", "base", "bsc", "flow", "mantle", "mode", "optimism", "plume", "polygon", "scroll", "sei-pacific-1", "shape", "story", "tempo", "world-chain", "zora", "ethereum", "abstract-testnet", "arbitrum-sepolia", "avalanche-fuji", "base-sepolia", "curtis", "ethereum-sepolia", "flow-testnet", "mantle-sepolia", "mode-sepolia", "optimism-sepolia", "plume-testnet", "polygon-amoy", "scroll-sepolia", "sei-atlantic-2-testnet", "story-testnet", "world-chain-sepolia", "zora-sepolia", "arc-testnet", "tempo-testnet" ], "description": "The chain on which the transaction will be executed" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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 will submit this transaction" } }, "required": ["calls", "chain"] }, "onChain": { "type": "object", "properties": { "userOperation": { "type": "object", "properties": { "sender": { "type": "string" }, "nonce": { "type": "string" }, "callData": { "type": "string" }, "callGasLimit": { "type": "string" }, "verificationGasLimit": { "type": "string" }, "preVerificationGas": { "type": "string" }, "maxFeePerGas": { "type": "string" }, "maxPriorityFeePerGas": { "type": "string" }, "paymaster": { "type": "string" }, "paymasterVerificationGasLimit": { "type": "string" }, "paymasterData": { "type": "string" }, "paymasterPostOpGasLimit": { "type": "string" }, "signature": { "type": "string" }, "factory": { "type": "string" }, "factoryData": { "type": "string" } }, "required": [ "sender", "nonce", "callData", "callGasLimit", "verificationGasLimit", "preVerificationGas", "maxFeePerGas", "maxPriorityFeePerGas", "signature" ] }, "userOperationHash": { "type": "string" }, "txId": { "type": "string" }, "proxiedTxId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["userOperation", "userOperationHash"], "title": "EVM smart wallet transaction data", "description": "Transaction data specific to EVM smart wallets" }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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 that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "oneOf": [ { "type": "string" }, { "type": "object", "additionalProperties": {} } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": ["chainType", "walletType", "params", "onChain", "id", "status", "createdAt"], "title": "EVM Smart Wallet" }, { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["evm", "solana", "aptos", "sui", "stellar"], "description": "The blockchain type of the wallet" }, "walletType": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)" }, "params": { "type": "object", "properties": { "call": { "oneOf": [ { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient address for this transaction call" }, "data": { "description": "The encoded calldata for this transaction" } }, "required": ["to", "data"], "additionalProperties": false }, { "type": "object", "properties": { "address": { "type": "string", "description": "The recipient address for this transaction call" }, "functionName": { "type": "string", "description": "The name of the function to call" }, "abi": { "type": "array", "items": {}, "description": "The ABI for the function to call" }, "args": { "type": "array", "items": {}, "description": "The arguments to pass to the function" } }, "required": ["address", "functionName", "abi", "args"], "additionalProperties": false } ], "description": "The transaction call to execute" }, "chain": { "type": "string", "enum": [ "arbitrum-sepolia", "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 transaction will be executed" } }, "required": ["call", "chain"] }, "onChain": { "type": "object", "properties": { "call": { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient address for this transaction call" }, "data": { "description": "The encoded calldata for this transaction" } }, "required": ["to", "data"] }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["call"], "title": "EVM MPC wallet transaction data", "description": "Transaction data specific to EVM MPC wallets" }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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 that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "oneOf": [ { "type": "string" }, { "type": "object", "additionalProperties": {} } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": ["chainType", "walletType", "params", "onChain", "id", "status", "createdAt"], "title": "EVM MPC Wallet" }, { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["evm", "solana", "aptos", "sui", "stellar"], "description": "The blockchain type of the wallet" }, "walletType": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)" }, "params": { "type": "object", "properties": { "transaction": { "type": "string", "description": "Base58 encoded serialized Solana transaction" }, "requiredSigners": { "type": "array", "items": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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": "Full signer object" }, "description": "Optional array of additional full signer objects required for the transaction" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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 will submit this transaction. Defaults to the admin signer." }, "feeConfig": { "oneOf": [ { "type": "object", "properties": { "feePayer": { "type": "string", "description": "The address that will pay for the transaction" }, "token": { "type": "string", "enum": ["sol", "usdc", "usdt"], "description": "The token to use for the fee" }, "amount": { "type": "string", "description": "The amount of the fee" } }, "required": ["feePayer", "token", "amount"] }, { "type": "object", "properties": { "feePayer": { "type": "string", "enum": ["crossmint"] }, "amount": { "type": "string", "description": "The amount of the fee" } }, "required": ["feePayer", "amount"] } ] } }, "required": ["transaction", "feeConfig"] }, "onChain": { "type": "object", "properties": { "transaction": { "type": "string" }, "lastValidBlockHeight": { "type": "number" }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["transaction"] }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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 that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "oneOf": [ { "type": "string" }, { "type": "object", "additionalProperties": {} } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": ["chainType", "walletType", "params", "onChain", "id", "status", "createdAt"], "title": "Solana Smart Wallet" }, { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["evm", "solana", "aptos", "sui", "stellar"], "description": "The blockchain type of the wallet" }, "walletType": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)" }, "params": { "type": "object", "properties": { "transaction": { "type": "string", "description": "Base58 encoded serialized Solana transaction" }, "requiredSigners": { "type": "array", "items": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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": "Full signer object" }, "description": "Optional array of additional full signer objects required for the transaction" } }, "required": ["transaction"] }, "onChain": { "type": "object", "properties": { "transaction": { "type": "string" }, "lastValidBlockHeight": { "type": "number" }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["transaction"] }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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 that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "oneOf": [ { "type": "string" }, { "type": "object", "additionalProperties": {} } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": ["chainType", "walletType", "params", "onChain", "id", "status", "createdAt"], "title": "Solana MPC Wallet" }, { "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": "object", "properties": { "type": { "type": "string", "enum": ["contract-call"], "description": "The type of transaction to execute" }, "contractId": { "type": "string", "description": "The recipient address for this transaction call", "example": "GB3KQJ6N2YIE62YVO67X7W5TQK6Q5ZZ4P2LUVK2U6AU26CJQ626J" }, "method": { "type": "string", "description": "The name of the function to call" }, "memo": { "discriminator": { "propertyName": "type" }, "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"] } ], "description": "The memo for the transaction", "example": { "type": "text", "value": "Hello, world!" } }, "args": { "type": "object", "additionalProperties": {}, "description": "The arguments to pass to the function" } }, "required": ["type", "contractId", "method", "args"], "title": "Stellar contract call transaction parameters", "description": "Stellar transaction to execute", "example": { "type": "contract-call", "contractId": "GB3KQJ6N2YIE62YVO67X7W5TQK6Q5ZZ4P2LUVK2U6AU26CJQ626J", "method": "transfer", "args": { "to": "GB3KQJ6N2YIE62YVO67X7W5TQK6Q5ZZ4P2LUVK2U6AU26CJQ626J", "from": "GB3KQJ6N2YIE62YVO67X7W5TQK6Q5ZZ4P2LUVK2U6AU26CJQ626J", "amount": "1000000000000000000" } } }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer who will submit this transaction. Defaults to the admin signer.", "example": [ "passkey:cWtP7gmZbd98HbKUuGXx5Q", "api-key:123456789", "external-wallet:0x1234567890123456789012345678901234567890", "server:0x1234567890123456789012345678901234567890", "email:test@example.com", "phone:+1234567890", "device:BIVmCqMz8QJB+se2kJEpGQ..." ] } }, "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": { "type": "string", "description": "The transaction hash" }, "ledger": { "type": "number", "description": "The ledger number where the transaction was included" }, "expiration": { "type": "number", "description": "The expiration of the transaction" }, "result": { "description": "The Transaction Result in XDR format" }, "explorerLink": { "type": "string", "description": "Optional link to view the transaction in an explorer" } }, "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": { "discriminator": { "propertyName": "type" }, "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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 that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "oneOf": [ { "type": "string" }, { "type": "object", "additionalProperties": {} } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": ["chainType", "walletType", "params", "onChain", "id", "status", "createdAt"], "title": "Stellar Smart Wallet" } ], "description": "Complete transaction response including status, signing requirements, and wallet type specific data" }, "WalletsV1Alpha2TransactionResponseDTO": { "discriminator": { "propertyName": "walletType" }, "oneOf": [ { "type": "object", "properties": { "walletType": { "type": "string", "enum": ["evm-smart-wallet"], "description": "The type of wallet that created this transaction" }, "params": { "type": "object", "properties": { "calls": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "address": { "type": "string", "description": "The recipient address for this transaction call" }, "functionName": { "type": "string", "description": "The name of the function to call" }, "abi": { "type": "array", "items": {}, "description": "The ABI for the function to call" }, "args": { "type": "array", "items": {}, "description": "The arguments to pass to the function" }, "value": { "default": "0", "type": "string", "description": "The amount of native token to send in wei" } }, "required": ["address", "functionName", "abi", "args"], "title": "EVM contract call transaction parameters", "description": "Parameters for a transaction to execute a contract function" }, { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient address for this transaction call" }, "value": { "type": "string", "description": "The amount of native token to send in wei" }, "data": { "description": "The encoded calldata for this transaction" } }, "required": ["to", "value", "data"], "title": "EVM direct calldata transaction parameters", "description": "Parameters for a transaction to send a direct calldata transaction" }, { "type": "object", "properties": { "transaction": { "description": "Serialized EVM transaction" } }, "required": ["transaction"], "title": "EVM serialized transaction parameters", "description": "Parameters for a transaction to send a serialized EVM transaction" } ], "description": "Transaction data to execute" }, "minItems": 1, "description": "Array of transaction calls to execute" }, "chain": { "enum": [ "abstract", "apechain", "arbitrum", "arbitrumnova", "avalanche", "base", "bsc", "flow", "mantle", "mode", "optimism", "plume", "polygon", "scroll", "sei-pacific-1", "shape", "story", "tempo", "world-chain", "zora", "ethereum", "abstract-testnet", "arbitrum-sepolia", "avalanche-fuji", "base-sepolia", "curtis", "ethereum-sepolia", "flow-testnet", "mantle-sepolia", "mode-sepolia", "optimism-sepolia", "plume-testnet", "polygon-amoy", "scroll-sepolia", "sei-atlantic-2-testnet", "story-testnet", "world-chain-sepolia", "zora-sepolia", "arc-testnet", "tempo-testnet" ], "description": "The chain on which the transaction will be executed" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer who will submit this transaction", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "api-key:G...", "email:user@example.com", "phone:+1234567890", "device:BIVmCqMz8QJB+se2kJEpGQ..." ] } }, "required": ["calls", "chain"], "description": "EVM smart wallet transaction parameters" }, "onChain": { "type": "object", "properties": { "userOperation": { "type": "object", "properties": { "sender": { "type": "string" }, "nonce": { "type": "string" }, "callData": { "type": "string" }, "callGasLimit": { "type": "string" }, "verificationGasLimit": { "type": "string" }, "preVerificationGas": { "type": "string" }, "maxFeePerGas": { "type": "string" }, "maxPriorityFeePerGas": { "type": "string" }, "paymaster": { "type": "string" }, "paymasterVerificationGasLimit": { "type": "string" }, "paymasterData": { "type": "string" }, "paymasterPostOpGasLimit": { "type": "string" }, "signature": { "type": "string" }, "factory": { "type": "string" }, "factoryData": { "type": "string" } }, "required": [ "sender", "nonce", "callData", "callGasLimit", "verificationGasLimit", "preVerificationGas", "maxFeePerGas", "maxPriorityFeePerGas", "signature" ] }, "userOperationHash": { "type": "string" }, "txId": { "type": "string" }, "proxiedTxId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["userOperation", "userOperationHash"], "title": "EVM smart wallet transaction data", "description": "EVM smart wallet transaction data including input parameters and chain specific details" }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator of the signer that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "type": "number", "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator of the signer who submitted this signature", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "api-key:G...", "email:user@example.com", "phone:+1234567890", "device:BIVmCqMz8QJB+se2kJEpGQ..." ] }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "type": "number", "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "type": "number", "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "oneOf": [ { "type": "string" }, { "type": "object", "additionalProperties": {} } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": ["walletType", "params", "onChain", "id", "status", "createdAt"], "title": "EVM transaction response" }, { "type": "object", "properties": { "walletType": { "type": "string", "enum": ["solana-mpc-wallet"], "description": "The type of wallet that created this transaction" }, "params": { "type": "object", "properties": { "transaction": { "type": "string", "description": "Base58 encoded serialized Solana transaction", "example": "4hXTCkRzt9WyecNzV1XPgCDfGAZzQKNxLXgynz5QDuWWPSAZBZSHptvWRL3BjCvzUXRdKvHL2b7yGrRQcWyaqsaBCncVG7BFggS8w9snUts67BSh3EqKpXLUm5UMHfD7ZBe9GhARjbNQMLJ1QD3Spr6oMTBU6EhdB4RD8CP2xUxr2u3d6fos36PD98XS6oX8TQjLpsMwncs5DAMiD4nNnR8NBfyghGCWvCVifVwvA8B8TJxE1aiyiv2L429BCWfyzAme5sZW8rDb14NeCQHhZbtNqfXhcp2tAnaAT" }, "requiredSigners": { "type": "array", "items": { "type": "string", "title": "Signer Locator", "description": "A signer locator that can be either a of format '' for keypair type signers or ':'", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "api-key:G...", "email:user@example.com", "phone:+1234567890", "device:BIVmCqMz8QJB+se2kJEpGQ..." ] }, "description": "Optional array of additional signers required for the transaction" } }, "required": ["transaction"], "description": "Solana custodial wallet transaction parameters" }, "onChain": { "type": "object", "properties": { "transaction": { "type": "string" }, "lastValidBlockHeight": { "type": "number" }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["transaction"], "description": "Solana custodial wallet transaction data including input parameters and chain specific details" }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator of the signer that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "type": "number", "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator of the signer who submitted this signature", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "api-key:G...", "email:user@example.com", "phone:+1234567890", "device:BIVmCqMz8QJB+se2kJEpGQ..." ] }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "type": "number", "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "type": "number", "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "oneOf": [ { "type": "string" }, { "type": "object", "additionalProperties": {} } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": ["walletType", "params", "onChain", "id", "status", "createdAt"], "title": "Solana transaction response" }, { "type": "object", "properties": { "walletType": { "type": "string", "enum": ["evm-mpc-wallet"], "description": "The type of wallet that created this transaction" }, "params": { "type": "object", "properties": { "call": { "oneOf": [ { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient address for this transaction call" }, "data": { "description": "The encoded calldata for this transaction" } }, "required": ["to", "data"], "additionalProperties": false }, { "type": "object", "properties": { "address": { "type": "string", "description": "The recipient address for this transaction call" }, "functionName": { "type": "string", "description": "The name of the function to call" }, "abi": { "type": "array", "items": {}, "description": "The ABI for the function to call" }, "args": { "type": "array", "items": {}, "description": "The arguments to pass to the function" } }, "required": ["address", "functionName", "abi", "args"], "additionalProperties": false } ], "description": "The transaction call to execute" }, "chain": { "type": "string", "enum": [ "arbitrum-sepolia", "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 transaction will be executed" } }, "required": ["call", "chain"], "description": "EVM MPC wallet transaction parameters" }, "onChain": { "type": "object", "properties": { "call": { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient address for this transaction call" }, "data": { "description": "The encoded calldata for this transaction" } }, "required": ["to", "data"] }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["call"], "title": "EVM MPC wallet transaction data", "description": "EVM MPC wallet transaction data including input parameters and chain specific details" }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator of the signer that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "type": "number", "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator of the signer who submitted this signature", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "api-key:G...", "email:user@example.com", "phone:+1234567890", "device:BIVmCqMz8QJB+se2kJEpGQ..." ] }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "type": "number", "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "type": "number", "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "oneOf": [ { "type": "string" }, { "type": "object", "additionalProperties": {} } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": ["walletType", "params", "onChain", "id", "status", "createdAt"], "title": "EVM MPC transaction response" }, { "type": "object", "properties": { "walletType": { "type": "string", "enum": ["solana-smart-wallet"], "description": "The type of wallet that created this transaction" }, "params": { "type": "object", "properties": { "transaction": { "type": "string", "description": "Base58 encoded serialized Solana transaction", "example": "4hXTCkRzt9WyecNzV1XPgCDfGAZzQKNxLXgynz5QDuWWPSAZBZSHptvWRL3BjCvzUXRdKvHL2b7yGrRQcWyaqsaBCncVG7BFggS8w9snUts67BSh3EqKpXLUm5UMHfD7ZBe9GhARjbNQMLJ1QD3Spr6oMTBU6EhdB4RD8CP2xUxr2u3d6fos36PD98XS6oX8TQjLpsMwncs5DAMiD4nNnR8NBfyghGCWvCVifVwvA8B8TJxE1aiyiv2L429BCWfyzAme5sZW8rDb14NeCQHhZbtNqfXhcp2tAnaAT" }, "requiredSigners": { "type": "array", "items": { "type": "string", "title": "Signer Locator", "description": "A signer locator that can be either a of format '' for keypair type signers or ':'", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "api-key:G...", "email:user@example.com", "phone:+1234567890", "device:BIVmCqMz8QJB+se2kJEpGQ..." ] }, "description": "Optional array of additional signers required for the transaction" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer who will submit this transaction. Defaults to the admin signer.", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "api-key:G...", "email:user@example.com", "phone:+1234567890", "device:BIVmCqMz8QJB+se2kJEpGQ..." ] }, "feeConfig": { "oneOf": [ { "type": "object", "properties": { "feePayer": { "type": "string", "description": "The address that will pay for the transaction" }, "token": { "type": "string", "enum": ["sol", "usdc", "usdt"], "description": "The token to use for the fee" }, "amount": { "type": "string", "description": "The amount of the fee" } }, "required": ["feePayer", "token", "amount"] }, { "type": "object", "properties": { "feePayer": { "type": "string", "enum": ["crossmint"] }, "amount": { "type": "string", "description": "The amount of the fee" } }, "required": ["feePayer", "amount"] } ] } }, "required": ["transaction", "feeConfig"], "description": "Solana smart wallet transaction parameters" }, "onChain": { "type": "object", "properties": { "transaction": { "type": "string" }, "lastValidBlockHeight": { "type": "number" }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["transaction"], "description": "Solana smart wallet transaction data including input parameters and chain specific details" }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator of the signer that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "type": "number", "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator of the signer who submitted this signature", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "api-key:G...", "email:user@example.com", "phone:+1234567890", "device:BIVmCqMz8QJB+se2kJEpGQ..." ] }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "type": "number", "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "type": "number", "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "oneOf": [ { "type": "string" }, { "type": "object", "additionalProperties": {} } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": ["walletType", "params", "onChain", "id", "status", "createdAt"], "title": "Solana smart wallet transaction response" } ], "description": "Complete transaction response including status, signing requirements, and wallet type specific data", "example": { "id": "tx-b984491a-5785-43c0-8811-45d46fe6e520", "walletType": "evm-smart-wallet", "status": "awaiting-approval", "approvals": { "pending": [{ "signer": "evm-keypair:0xdeadbeef", "message": "Please sign this transaction" }], "submitted": [] }, "params": { "calls": [ { "to": "0x1234567890123456789012345678901234567890", "value": "1000000000000000000", "data": "0x" } ], "chain": "base", "signer": "evm-keypair:0xdeadbeef" }, "onChain": { "userOperation": "... full user operation object", "userOperationHash": "0xf719f9570671c6eb016f1f4a95ada4278b8e91f55bc384d70c69fd756919a41c" }, "createdAt": "2024-01-01T00:00:00Z" } }, "WalletsV1Alpha2TransactionResponseWithSendParamsDTO": { "discriminator": { "propertyName": "walletType" }, "oneOf": [ { "type": "object", "properties": { "walletType": { "type": "string", "enum": ["evm-smart-wallet"], "description": "The type of wallet that created this transaction" }, "params": { "type": "object", "properties": { "calls": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "address": { "type": "string", "description": "The recipient address for this transaction call" }, "functionName": { "type": "string", "description": "The name of the function to call" }, "abi": { "type": "array", "items": {}, "description": "The ABI for the function to call" }, "args": { "type": "array", "items": {}, "description": "The arguments to pass to the function" }, "value": { "default": "0", "type": "string", "description": "The amount of native token to send in wei" } }, "required": ["address", "functionName", "abi", "args"], "title": "EVM contract call transaction parameters", "description": "Parameters for a transaction to execute a contract function" }, { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient address for this transaction call" }, "value": { "type": "string", "description": "The amount of native token to send in wei" }, "data": { "description": "The encoded calldata for this transaction" } }, "required": ["to", "value", "data"], "title": "EVM direct calldata transaction parameters", "description": "Parameters for a transaction to send a direct calldata transaction" }, { "type": "object", "properties": { "transaction": { "description": "Serialized EVM transaction" } }, "required": ["transaction"], "title": "EVM serialized transaction parameters", "description": "Parameters for a transaction to send a serialized EVM transaction" } ], "description": "Transaction data to execute" }, "minItems": 1, "description": "Array of transaction calls to execute" }, "chain": { "enum": [ "abstract", "apechain", "arbitrum", "arbitrumnova", "avalanche", "base", "bsc", "flow", "mantle", "mode", "optimism", "plume", "polygon", "scroll", "sei-pacific-1", "shape", "story", "tempo", "world-chain", "zora", "ethereum", "abstract-testnet", "arbitrum-sepolia", "avalanche-fuji", "base-sepolia", "curtis", "ethereum-sepolia", "flow-testnet", "mantle-sepolia", "mode-sepolia", "optimism-sepolia", "plume-testnet", "polygon-amoy", "scroll-sepolia", "sei-atlantic-2-testnet", "story-testnet", "world-chain-sepolia", "zora-sepolia", "arc-testnet", "tempo-testnet" ], "description": "The chain on which the transaction will be executed" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer who will submit this transaction", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "api-key:G...", "email:user@example.com", "phone:+1234567890", "device:BIVmCqMz8QJB+se2kJEpGQ..." ] } }, "required": ["calls", "chain"], "description": "EVM smart wallet transaction parameters" }, "onChain": { "type": "object", "properties": { "userOperation": { "type": "object", "properties": { "sender": { "type": "string" }, "nonce": { "type": "string" }, "callData": { "type": "string" }, "callGasLimit": { "type": "string" }, "verificationGasLimit": { "type": "string" }, "preVerificationGas": { "type": "string" }, "maxFeePerGas": { "type": "string" }, "maxPriorityFeePerGas": { "type": "string" }, "paymaster": { "type": "string" }, "paymasterVerificationGasLimit": { "type": "string" }, "paymasterData": { "type": "string" }, "paymasterPostOpGasLimit": { "type": "string" }, "signature": { "type": "string" }, "factory": { "type": "string" }, "factoryData": { "type": "string" } }, "required": [ "sender", "nonce", "callData", "callGasLimit", "verificationGasLimit", "preVerificationGas", "maxFeePerGas", "maxPriorityFeePerGas", "signature" ] }, "userOperationHash": { "type": "string" }, "txId": { "type": "string" }, "proxiedTxId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["userOperation", "userOperationHash"], "title": "EVM smart wallet transaction data", "description": "EVM smart wallet transaction data including input parameters and chain specific details" }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator of the signer that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "type": "number", "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator of the signer who submitted this signature", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "api-key:G...", "email:user@example.com", "phone:+1234567890", "device:BIVmCqMz8QJB+se2kJEpGQ..." ] }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "type": "number", "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "type": "number", "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "oneOf": [ { "type": "string" }, { "type": "object", "additionalProperties": {} } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": ["walletType", "params", "onChain", "id", "status", "createdAt"], "title": "EVM transaction response" }, { "type": "object", "properties": { "walletType": { "type": "string", "enum": ["solana-mpc-wallet"], "description": "The type of wallet that created this transaction" }, "params": { "type": "object", "properties": { "transaction": { "type": "string", "description": "Base58 encoded serialized Solana transaction", "example": "4hXTCkRzt9WyecNzV1XPgCDfGAZzQKNxLXgynz5QDuWWPSAZBZSHptvWRL3BjCvzUXRdKvHL2b7yGrRQcWyaqsaBCncVG7BFggS8w9snUts67BSh3EqKpXLUm5UMHfD7ZBe9GhARjbNQMLJ1QD3Spr6oMTBU6EhdB4RD8CP2xUxr2u3d6fos36PD98XS6oX8TQjLpsMwncs5DAMiD4nNnR8NBfyghGCWvCVifVwvA8B8TJxE1aiyiv2L429BCWfyzAme5sZW8rDb14NeCQHhZbtNqfXhcp2tAnaAT" }, "requiredSigners": { "type": "array", "items": { "type": "string", "title": "Signer Locator", "description": "A signer locator that can be either a of format '' for keypair type signers or ':'", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "api-key:G...", "email:user@example.com", "phone:+1234567890", "device:BIVmCqMz8QJB+se2kJEpGQ..." ] }, "description": "Optional array of additional signers required for the transaction" } }, "required": ["transaction"], "description": "Solana custodial wallet transaction parameters" }, "onChain": { "type": "object", "properties": { "transaction": { "type": "string" }, "lastValidBlockHeight": { "type": "number" }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["transaction"], "description": "Solana custodial wallet transaction data including input parameters and chain specific details" }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator of the signer that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "type": "number", "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator of the signer who submitted this signature", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "api-key:G...", "email:user@example.com", "phone:+1234567890", "device:BIVmCqMz8QJB+se2kJEpGQ..." ] }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "type": "number", "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "type": "number", "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "oneOf": [ { "type": "string" }, { "type": "object", "additionalProperties": {} } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": ["walletType", "params", "onChain", "id", "status", "createdAt"], "title": "Solana transaction response" }, { "type": "object", "properties": { "walletType": { "type": "string", "enum": ["evm-mpc-wallet"], "description": "The type of wallet that created this transaction" }, "params": { "type": "object", "properties": { "call": { "oneOf": [ { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient address for this transaction call" }, "data": { "description": "The encoded calldata for this transaction" } }, "required": ["to", "data"], "additionalProperties": false }, { "type": "object", "properties": { "address": { "type": "string", "description": "The recipient address for this transaction call" }, "functionName": { "type": "string", "description": "The name of the function to call" }, "abi": { "type": "array", "items": {}, "description": "The ABI for the function to call" }, "args": { "type": "array", "items": {}, "description": "The arguments to pass to the function" } }, "required": ["address", "functionName", "abi", "args"], "additionalProperties": false } ], "description": "The transaction call to execute" }, "chain": { "type": "string", "enum": [ "arbitrum-sepolia", "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 transaction will be executed" } }, "required": ["call", "chain"], "description": "EVM MPC wallet transaction parameters" }, "onChain": { "type": "object", "properties": { "call": { "type": "object", "properties": { "to": { "type": "string", "description": "The recipient address for this transaction call" }, "data": { "description": "The encoded calldata for this transaction" } }, "required": ["to", "data"] }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["call"], "title": "EVM MPC wallet transaction data", "description": "EVM MPC wallet transaction data including input parameters and chain specific details" }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator of the signer that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "type": "number", "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator of the signer who submitted this signature", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "api-key:G...", "email:user@example.com", "phone:+1234567890", "device:BIVmCqMz8QJB+se2kJEpGQ..." ] }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "type": "number", "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "type": "number", "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "oneOf": [ { "type": "string" }, { "type": "object", "additionalProperties": {} } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": ["walletType", "params", "onChain", "id", "status", "createdAt"], "title": "EVM MPC transaction response" }, { "type": "object", "properties": { "walletType": { "type": "string", "enum": ["solana-smart-wallet"], "description": "The type of wallet that created this transaction" }, "params": { "type": "object", "properties": { "transaction": { "type": "string", "description": "Base58 encoded serialized Solana transaction", "example": "4hXTCkRzt9WyecNzV1XPgCDfGAZzQKNxLXgynz5QDuWWPSAZBZSHptvWRL3BjCvzUXRdKvHL2b7yGrRQcWyaqsaBCncVG7BFggS8w9snUts67BSh3EqKpXLUm5UMHfD7ZBe9GhARjbNQMLJ1QD3Spr6oMTBU6EhdB4RD8CP2xUxr2u3d6fos36PD98XS6oX8TQjLpsMwncs5DAMiD4nNnR8NBfyghGCWvCVifVwvA8B8TJxE1aiyiv2L429BCWfyzAme5sZW8rDb14NeCQHhZbtNqfXhcp2tAnaAT" }, "requiredSigners": { "type": "array", "items": { "type": "string", "title": "Signer Locator", "description": "A signer locator that can be either a of format '' for keypair type signers or ':'", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "api-key:G...", "email:user@example.com", "phone:+1234567890", "device:BIVmCqMz8QJB+se2kJEpGQ..." ] }, "description": "Optional array of additional signers required for the transaction" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator for the signer who will submit this transaction. Defaults to the admin signer.", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "api-key:G...", "email:user@example.com", "phone:+1234567890", "device:BIVmCqMz8QJB+se2kJEpGQ..." ] }, "feeConfig": { "oneOf": [ { "type": "object", "properties": { "feePayer": { "type": "string", "description": "The address that will pay for the transaction" }, "token": { "type": "string", "enum": ["sol", "usdc", "usdt"], "description": "The token to use for the fee" }, "amount": { "type": "string", "description": "The amount of the fee" } }, "required": ["feePayer", "token", "amount"] }, { "type": "object", "properties": { "feePayer": { "type": "string", "enum": ["crossmint"] }, "amount": { "type": "string", "description": "The amount of the fee" } }, "required": ["feePayer", "amount"] } ] } }, "required": ["transaction", "feeConfig"], "description": "Solana smart wallet transaction parameters" }, "onChain": { "type": "object", "properties": { "transaction": { "type": "string" }, "lastValidBlockHeight": { "type": "number" }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["transaction"], "description": "Solana smart wallet transaction data including input parameters and chain specific details" }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": ["awaiting-approval", "pending", "failed", "success"], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "type": "string", "description": "The locator of the signer that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "type": "number", "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "type": "string", "title": "Signer Locator", "description": "The locator of the signer who submitted this signature", "example": [ "evm-keypair:0x1234567890123456789012345678901234567890", "evm-passkey:credential-id-123", "evm-fireblocks-custodial:0x1234567890123456789012345678901234567890", "solana-keypair:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "solana-fireblocks-custodial:DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ", "api-key:G...", "email:user@example.com", "phone:+1234567890", "device:BIVmCqMz8QJB+se2kJEpGQ..." ] }, "message": { "type": "string", "description": "The message that was signed" }, "metadata": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": ["signature", "submittedAt", "signer", "message"] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "type": "number", "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "type": "number", "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "oneOf": [ { "type": "string" }, { "type": "object", "additionalProperties": {} } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": ["recipient", "recipientAddress"], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] } }, "required": ["walletType", "params", "onChain", "id", "status", "createdAt"], "title": "Solana smart wallet transaction response" } ], "description": "Complete transaction response including status, signing requirements, and wallet type specific data", "example": { "id": "tx-b984491a-5785-43c0-8811-45d46fe6e520", "walletType": "evm-smart-wallet", "status": "awaiting-approval", "approvals": { "pending": [{ "signer": "evm-keypair:0xdeadbeef", "message": "Please sign this transaction" }], "submitted": [] }, "params": { "calls": [ { "to": "0x1234567890123456789012345678901234567890", "value": "1000000000000000000", "data": "0x" } ], "chain": "base", "signer": "evm-keypair:0xdeadbeef" }, "onChain": { "userOperation": "... full user operation object", "userOperationHash": "0xf719f9570671c6eb016f1f4a95ada4278b8e91f55bc384d70c69fd756919a41c" }, "createdAt": "2024-01-01T00:00:00Z", "sendParams": { "params": { "recipient": "0x1234567890123456789012345678901234567890", "recipientAddress": "0x1234567890123456789012345678901234567890", "amount": "42.42" }, "token": "base-sepolia:usdc" } } }, "WalletV1Alpha2ErrorDTO": { "type": "object", "properties": { "error": { "type": "boolean", "enum": [true] }, "message": { "type": "string", "description": "Error message", "example": "" } }, "required": ["error", "message"], "description": "Wallet error" }, "WalletV1Alpha2TransactionErrorDTO": { "type": "object", "properties": { "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": ["contract_call", "wallet_authorization", "wallet_deployment"] }, "reason": { "type": "string" }, "reasonData": { "oneOf": [ { "type": "string" }, { "type": "object", "additionalProperties": {} } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error" }, "message": { "type": "string", "description": "Error message" } }, "required": ["error", "message"], "description": "Wallet transaction error", "example": { "error": { "reason": "execution_reverted", "message": "Execution reverted, see 'revert' for details", "revert": { "type": "contract_call", "reason": "ERC20: transfer amount exceeds balance", "reasonData": "0x08c379a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002645524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63650000000000000000000000000000000000000000000000000000", "simulationLink": "https://www.tdly.co/shared/simulation/185311d1-d174-4805-babe-771da4e5b40f" } }, "message": "Transaction reverted during execution. Please check 'error' for more information." } }, "WalletV2025ResponseDTO": { "discriminator": { "propertyName": "chainType" }, "oneOf": [ { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["evm"], "description": "The blockchain type of the wallet" }, "type": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)", "example": "smart" }, "config": { "type": "object", "properties": { "adminSigner": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"], "description": "Identifier for external wallet signer type" }, "address": { "type": "string", "description": "The blockchain address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Configuration for an external wallet signer", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890", "locator": "external-wallet:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"], "description": "Identifier for server signer type" }, "address": { "type": "string", "description": "The blockchain address of the server signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "Server Signer", "description": "Configuration for a server signer", "example": { "type": "server", "address": "0x1234567890123456789012345678901234567890", "locator": "server:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"], "description": "Identifier for API key signer type" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string", "description": "A base58-encoded Solana public key address" }, { "type": "string" } ], "description": "The blockchain address of the custodial signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Configuration for a custodial signer managed by Crossmint. Contact sales (https://www.crossmint.com/contact/sales) for access.", "example": { "type": "api-key", "address": "0x1234567890123456789012345678901234567890", "locator": "api-key:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"], "description": "Identifier for the Passkey signer type" }, "id": { "type": "string", "description": "Credential ID from the WebAuthn registration response" }, "name": { "type": "string", "description": "Human-readable name for the passkey" }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "X coordinate of the public key as a decimal string" }, "y": { "type": "string", "description": "Y coordinate of the public key as a decimal string" } }, "required": ["x", "y"], "description": "The public key coordinates from the WebAuthn credential" }, "validatorContractVersion": { "type": "string", "description": "ERC-7579 webAuthn validator contract version" }, "locator": { "type": "string", "description": "Unique identifier for locating this passkey signer" } }, "required": [ "type", "id", "name", "publicKey", "validatorContractVersion", "locator" ], "description": "Response schema for a registered Passkey signer including validator contract details", "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", "enum": ["email"], "description": "Identifier for email signer type" }, "email": { "type": "string", "description": "The email address for the signer" }, "locator": { "type": "string", "description": "The locator of the signer" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "email", "locator", "address"], "title": "Email Signer", "description": "Configuration for an email signer", "example": { "type": "email", "email": "user@example.com", "locator": "email:user@example.com", "address": "0x1234567890abcdef..." } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"], "description": "Identifier for phone signer type" }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" }, "locator": { "type": "string", "description": "The locator of the signer" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "phone", "locator", "address"], "title": "Phone Signer", "description": "Configuration for a phone signer", "example": { "type": "phone", "phone": "+1234567890", "locator": "phone:+1234567890", "address": "0x1234567890abcdef..." } } ] }, "delegatedSigners": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"], "description": "Identifier for external wallet signer type" }, "address": { "type": "string", "description": "The blockchain address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Configuration for an external wallet signer", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890", "locator": "external-wallet:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"], "description": "Identifier for server signer type" }, "address": { "type": "string", "description": "The blockchain address of the server signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "Server Signer", "description": "Configuration for a server signer", "example": { "type": "server", "address": "0x1234567890123456789012345678901234567890", "locator": "server:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"], "description": "Identifier for API key signer type" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string", "description": "A base58-encoded Solana public key address" }, { "type": "string" } ], "description": "The blockchain address of the custodial signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Configuration for a custodial signer managed by Crossmint. Contact sales (https://www.crossmint.com/contact/sales) for access.", "example": { "type": "api-key", "address": "0x1234567890123456789012345678901234567890", "locator": "api-key:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"], "description": "Identifier for the Passkey signer type" }, "id": { "type": "string", "description": "Credential ID from the WebAuthn registration response" }, "name": { "type": "string", "description": "Human-readable name for the passkey" }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "X coordinate of the public key as a decimal string" }, "y": { "type": "string", "description": "Y coordinate of the public key as a decimal string" } }, "required": ["x", "y"], "description": "The public key coordinates from the WebAuthn credential" }, "validatorContractVersion": { "type": "string", "description": "ERC-7579 webAuthn validator contract version" }, "locator": { "type": "string", "description": "Unique identifier for locating this passkey signer" } }, "required": [ "type", "id", "name", "publicKey", "validatorContractVersion", "locator" ], "description": "Response schema for a registered Passkey signer including validator contract details", "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", "enum": ["email"], "description": "Identifier for email signer type" }, "email": { "type": "string", "description": "The email address for the signer" }, "locator": { "type": "string", "description": "The locator of the signer" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "email", "locator", "address"], "title": "Email Signer", "description": "Configuration for an email signer", "example": { "type": "email", "email": "user@example.com", "locator": "email:user@example.com", "address": "0x1234567890abcdef..." } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"], "description": "Identifier for phone signer type" }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" }, "locator": { "type": "string", "description": "The locator of the signer" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "phone", "locator", "address"], "title": "Phone Signer", "description": "Configuration for a phone signer", "example": { "type": "phone", "phone": "+1234567890", "locator": "phone:+1234567890", "address": "0x1234567890abcdef..." } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"], "description": "Identifier for device signer type" }, "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": { "type": "string", "description": "The locator of the signer" }, "name": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Configuration for a device signer", "example": { "type": "device", "publicKey": { "x": "decimal_string_x", "y": "decimal_string_y" }, "locator": "device:BIVmCqMz8QJB+se2kJEpGQ...", "name": "my-device" } } ] }, "description": "Optional array of additional signers for the wallet" } }, "required": ["adminSigner"], "description": "EVM wallet type specific configuration settings" }, "address": { "type": "string", "description": "The onchain address of the wallet", "example": "0x1234567890123456789012345678901234567890" }, "owner": { "type": "string", "description": "The user that owns this wallet in format :", "example": "email:test@example.com" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp of when the wallet was created", "example": "2024-01-01T00:00:00.000Z" }, "alias": { "type": "string", "description": "The wallet alias", "example": "my-usdc-wallet" } }, "required": ["chainType", "type", "address"], "title": "EVM wallet output" }, { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["solana"], "description": "The blockchain type of the wallet" }, "type": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)", "example": "smart" }, "config": { "type": "object", "properties": { "adminSigner": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"], "description": "Identifier for external wallet signer type" }, "address": { "type": "string", "description": "The blockchain address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Configuration for an external wallet signer", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890", "locator": "external-wallet:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"], "description": "Identifier for server signer type" }, "address": { "type": "string", "description": "The blockchain address of the server signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "Server Signer", "description": "Configuration for a server signer", "example": { "type": "server", "address": "0x1234567890123456789012345678901234567890", "locator": "server:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"], "description": "Identifier for API key signer type" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string", "description": "A base58-encoded Solana public key address" }, { "type": "string" } ], "description": "The blockchain address of the custodial signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Configuration for a custodial signer managed by Crossmint. Contact sales (https://www.crossmint.com/contact/sales) for access.", "example": { "type": "api-key", "address": "0x1234567890123456789012345678901234567890", "locator": "api-key:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"], "description": "Identifier for email signer type" }, "email": { "type": "string", "description": "The email address for the signer" }, "locator": { "type": "string", "description": "The locator of the signer" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "email", "locator", "address"], "title": "Email Signer", "description": "Configuration for an email signer", "example": { "type": "email", "email": "user@example.com", "locator": "email:user@example.com", "address": "0x1234567890abcdef..." } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"], "description": "Identifier for phone signer type" }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" }, "locator": { "type": "string", "description": "The locator of the signer" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "phone", "locator", "address"], "title": "Phone Signer", "description": "Configuration for a phone signer", "example": { "type": "phone", "phone": "+1234567890", "locator": "phone:+1234567890", "address": "0x1234567890abcdef..." } } ] }, "delegatedSigners": { "type": "array", "items": { "allOf": [ { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"], "description": "Identifier for the Passkey signer type" }, "id": { "type": "string", "description": "Credential ID from the WebAuthn registration response" }, "name": { "type": "string", "description": "Human-readable name for the passkey" }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "X coordinate of the public key as a decimal string" }, "y": { "type": "string", "description": "Y coordinate of the public key as a decimal string" } }, "required": ["x", "y"], "description": "The public key coordinates from the WebAuthn credential" }, "validatorContractVersion": { "type": "string", "description": "ERC-7579 webAuthn validator contract version" }, "locator": { "type": "string", "description": "Unique identifier for locating this passkey signer" } }, "required": [ "type", "id", "name", "publicKey", "validatorContractVersion", "locator" ], "description": "Response schema for a registered Passkey signer including validator contract details", "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", "enum": ["api-key"], "description": "Identifier for API key signer type" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string", "description": "A base58-encoded Solana public key address" }, { "type": "string" } ], "description": "The blockchain address of the custodial signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Configuration for a custodial signer managed by Crossmint. Contact sales (https://www.crossmint.com/contact/sales) for access.", "example": { "type": "api-key", "address": "0x1234567890123456789012345678901234567890", "locator": "api-key:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"], "description": "Identifier for external wallet signer type" }, "address": { "type": "string", "description": "The blockchain address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Configuration for an external wallet signer", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890", "locator": "external-wallet:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"], "description": "Identifier for server signer type" }, "address": { "type": "string", "description": "The blockchain address of the server signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "Server Signer", "description": "Configuration for a server signer", "example": { "type": "server", "address": "0x1234567890123456789012345678901234567890", "locator": "server:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"], "description": "Identifier for email signer type" }, "email": { "type": "string", "description": "The email address for the signer" }, "locator": { "type": "string", "description": "The locator of the signer" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "email", "locator", "address"], "title": "Email Signer", "description": "Configuration for an email signer", "example": { "type": "email", "email": "user@example.com", "locator": "email:user@example.com", "address": "0x1234567890abcdef..." } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"], "description": "Identifier for phone signer type" }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" }, "locator": { "type": "string", "description": "The locator of the signer" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "phone", "locator", "address"], "title": "Phone Signer", "description": "Configuration for a phone signer", "example": { "type": "phone", "phone": "+1234567890", "locator": "phone:+1234567890", "address": "0x1234567890abcdef..." } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"], "description": "Identifier for device signer type" }, "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": { "type": "string", "description": "The locator of the signer" }, "name": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Configuration for a device signer", "example": { "type": "device", "publicKey": { "x": "decimal_string_x", "y": "decimal_string_y" }, "locator": "device:BIVmCqMz8QJB+se2kJEpGQ...", "name": "my-device" } } ], "description": "Response schema for a registered signer" }, { "type": "object", "properties": { "transaction": { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["solana"] }, "onChain": { "type": "object", "properties": { "transaction": { "type": "string" }, "lastValidBlockHeight": { "type": "number" }, "txId": { "type": "string" }, "explorerLink": { "type": "string" } }, "required": ["transaction"] }, "id": { "type": "string", "description": "Unique identifier for the transaction" }, "status": { "type": "string", "enum": [ "awaiting-approval", "pending", "failed", "success" ], "description": "Current status of the transaction" }, "approvals": { "type": "object", "properties": { "pending": { "type": "array", "items": { "type": "object", "properties": { "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": [ "external-wallet" ] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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 that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": [ "external-wallet" ] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": [ "signature", "submittedAt", "signer", "message" ] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "oneOf": [ { "type": "string" }, { "type": "object", "additionalProperties": {} } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": [ "recipient", "recipientAddress" ], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] }, "walletType": { "type": "string", "enum": ["smart"] } }, "required": [ "chainType", "onChain", "id", "status", "createdAt", "walletType" ], "description": "The transaction for the signer" } } } ], "title": "Delegated Signer Response", "description": "Complete delegated signer response including the signer and authorization transaction", "example": { "type": "external-wallet", "address": "DzaYNi6XtWt9DNwFV61bzWEiaSxfTgWbFDgFmurJzwdo", "locator": "external-wallet:DzaYNi6XtWt9DNwFV61bzWEiaSxfTgWbFDgFmurJzwdo", "transaction": { "chainType": "solana", "walletType": "smart", "onChain": { "transaction": "4B9yzZoEV45cngasy9dP2MVxhZ2iro72eqdKitTj62pqFYHk4wVoR4NCc3xkEamWbFGXLjVotyPrDqEn11WUYHoq98b5aKCSDUrLWaQDZgb3xLxF1EvaY82Vui7Ntbv682tYnu5Ngnv4Eun1wrDJ6r4aRsUSQ3XF3jvNq8bRMn4HavBjPyErQSgXX9ytCDKntCEQcY3wfMHYbRFg5zgFU1QCqhuoLa5oBpZLCUYT8DCYu3Ado7W4xzP5aCAAwVd2tj8iAnwJEujQvBnr7wWkf2mCS1cNoCTbCFAvNVaVaau6vXBWKZqS7sDNmUD3KLQVqLwxhLLNeRuvUTkD5VQ5D21VcDiYWQWQTuYYAcQ3RUhn4Vt4ymijgRGbUXZHoeN26UHoGSBFJJ7gjqCruAtFXQZxHRDKSWN9jhYXugPYVVXSpGFA5BYWBuztUtEMF4u96tk6YTgPGdkTgrQybkNxRwbVCbpsKRG1kAbjQgBxDLAX89eMCZVbzWXnAgGA6aDBQPLAyQru8awZBDasrirnxCSQq9cWwMLePQGhY5gJZykswFKtyYF4CHeto", "lastValidBlockHeight": 343486121 }, "id": "30ef7527-eb5a-4862-92de-aa96947ee705", "status": "pending", "approvals": { "required": 1, "pending": [ { "signer": { "type": "external-wallet", "address": "GsMTPi8utYnuWakS8uvPah3UKd13dWcAshirnNmXDr3d", "locator": "external-wallet:GsMTPi8utYnuWakS8uvPah3UKd13dWcAshirnNmXDr3d" }, "message": "2kwN1iuY6Y6Br2i5D1QphaS28H7vDdAiwtABgtRdYqjx7s85rRwqF9y6iVBdv9dDZ8F1JAZo8iQdFBAx2Eg9tL3P4sbAznPZgkZcGrbUSCe5jTZ7ULZrcSd377SGEjsZcwx7h7ozrUKB6FnjHB7wGaCqEeeUXE2CfCjC1SjEc8ZzZeyNmeEv5hJSkGsK62syoAE4V5ScZs7idhxXWzpeJiRt3wfWJRevr1pJY7BBd8HaEYurXtXqwCox1uzQnnuZTiUNu7cUWUajYXBWUae4NJGJxmtFJvqnPAa5HXB4nZWXMDdcBis4tQkLCfFT6GXMauQTFCaKmcMgLRh218n51nTNopR7gTaY66ysRH536wmxt9dLqkS9okG3HF5GEXufXPLX6iT7e7" } ], "submitted": [] }, "createdAt": "2025-01-20T13:49:08.910Z" } } }, "description": "Optional array of additional signers for the wallet" } }, "required": ["adminSigner"], "description": "Solana wallet type specific configuration settings" }, "address": { "type": "string", "description": "The onchain address of the wallet", "example": "0x1234567890123456789012345678901234567890" }, "owner": { "type": "string", "description": "The user that owns this wallet in format :", "example": "email:test@example.com" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp of when the wallet was created", "example": "2024-01-01T00:00:00.000Z" }, "alias": { "type": "string", "description": "The wallet alias", "example": "my-usdc-wallet" } }, "required": ["chainType", "type", "address"], "title": "Solana wallet output" }, { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["aptos"], "description": "The blockchain type of the wallet" }, "type": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)", "example": "smart" }, "config": { "description": "Aptos wallet type specific configuration settings" }, "address": { "type": "string", "description": "The onchain address of the wallet", "example": "0x1234567890123456789012345678901234567890" }, "owner": { "type": "string", "description": "The user that owns this wallet in format :", "example": "email:test@example.com" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp of when the wallet was created", "example": "2024-01-01T00:00:00.000Z" }, "alias": { "type": "string", "description": "The wallet alias", "example": "my-usdc-wallet" } }, "required": ["chainType", "type", "address"], "title": "Aptos wallet output" }, { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["sui"], "description": "The blockchain type of the wallet" }, "type": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)", "example": "smart" }, "config": { "description": "Sui wallet type specific configuration settings" }, "address": { "type": "string", "description": "The onchain address of the wallet", "example": "0x1234567890123456789012345678901234567890" }, "owner": { "type": "string", "description": "The user that owns this wallet in format :", "example": "email:test@example.com" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp of when the wallet was created", "example": "2024-01-01T00:00:00.000Z" }, "alias": { "type": "string", "description": "The wallet alias", "example": "my-usdc-wallet" } }, "required": ["chainType", "type", "address"], "title": "Sui wallet output" }, { "type": "object", "properties": { "chainType": { "type": "string", "enum": ["stellar"], "description": "The blockchain type of the wallet" }, "type": { "type": "string", "enum": ["smart", "mpc"], "description": "The wallet type (smart or mpc)", "example": "smart" }, "config": { "type": "object", "properties": { "adminSigner": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"], "description": "Identifier for external wallet signer type" }, "address": { "type": "string", "description": "The blockchain address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Configuration for an external wallet signer", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890", "locator": "external-wallet:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"], "description": "Identifier for server signer type" }, "address": { "type": "string", "description": "The blockchain address of the server signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "Server Signer", "description": "Configuration for a server signer", "example": { "type": "server", "address": "0x1234567890123456789012345678901234567890", "locator": "server:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"], "description": "Identifier for email signer type" }, "email": { "type": "string", "description": "The email address for the signer" }, "locator": { "type": "string", "description": "The locator of the signer" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "email", "locator", "address"], "title": "Email Signer", "description": "Configuration for an email signer", "example": { "type": "email", "email": "user@example.com", "locator": "email:user@example.com", "address": "0x1234567890abcdef..." } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"], "description": "Identifier for phone signer type" }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" }, "locator": { "type": "string", "description": "The locator of the signer" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "phone", "locator", "address"], "title": "Phone Signer", "description": "Configuration for a phone signer", "example": { "type": "phone", "phone": "+1234567890", "locator": "phone:+1234567890", "address": "0x1234567890abcdef..." } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["api-key"], "description": "Identifier for API key signer type" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string", "description": "A base58-encoded Solana public key address" }, { "type": "string" } ], "description": "The blockchain address of the custodial signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Configuration for a custodial signer managed by Crossmint. Contact sales (https://www.crossmint.com/contact/sales) for access.", "example": { "type": "api-key", "address": "0x1234567890123456789012345678901234567890", "locator": "api-key:0x1234567890123456789012345678901234567890" } } ] }, "delegatedSigners": { "type": "array", "items": { "allOf": [ { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["passkey"], "description": "Identifier for the Passkey signer type" }, "id": { "type": "string", "description": "Credential ID from the WebAuthn registration response" }, "name": { "type": "string", "description": "Human-readable name for the passkey" }, "publicKey": { "type": "object", "properties": { "x": { "type": "string", "description": "X coordinate of the public key as a decimal string" }, "y": { "type": "string", "description": "Y coordinate of the public key as a decimal string" } }, "required": ["x", "y"], "description": "The public key coordinates from the WebAuthn credential" }, "validatorContractVersion": { "type": "string", "description": "ERC-7579 webAuthn validator contract version" }, "locator": { "type": "string", "description": "Unique identifier for locating this passkey signer" } }, "required": [ "type", "id", "name", "publicKey", "validatorContractVersion", "locator" ], "description": "Response schema for a registered Passkey signer including validator contract details", "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", "enum": ["api-key"], "description": "Identifier for API key signer type" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string", "description": "A base58-encoded Solana public key address" }, { "type": "string" } ], "description": "The blockchain address of the custodial signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "API Key Signer", "description": "Configuration for a custodial signer managed by Crossmint. Contact sales (https://www.crossmint.com/contact/sales) for access.", "example": { "type": "api-key", "address": "0x1234567890123456789012345678901234567890", "locator": "api-key:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-wallet"], "description": "Identifier for external wallet signer type" }, "address": { "type": "string", "description": "The blockchain address of the external wallet" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "External Wallet Signer", "description": "Configuration for an external wallet signer", "example": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890", "locator": "external-wallet:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["server"], "description": "Identifier for server signer type" }, "address": { "type": "string", "description": "The blockchain address of the server signer" }, "locator": { "type": "string", "description": "The locator of the signer" } }, "required": ["type", "address", "locator"], "title": "Server Signer", "description": "Configuration for a server signer", "example": { "type": "server", "address": "0x1234567890123456789012345678901234567890", "locator": "server:0x1234567890123456789012345678901234567890" } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["email"], "description": "Identifier for email signer type" }, "email": { "type": "string", "description": "The email address for the signer" }, "locator": { "type": "string", "description": "The locator of the signer" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "email", "locator", "address"], "title": "Email Signer", "description": "Configuration for an email signer", "example": { "type": "email", "email": "user@example.com", "locator": "email:user@example.com", "address": "0x1234567890abcdef..." } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["phone"], "description": "Identifier for phone signer type" }, "phone": { "type": "string", "description": "The phone number for the signer in E164 format" }, "locator": { "type": "string", "description": "The locator of the signer" }, "address": { "oneOf": [ { "type": "string", "description": "An EVM address string" }, { "type": "string" } ], "description": "The address of the signer" } }, "required": ["type", "phone", "locator", "address"], "title": "Phone Signer", "description": "Configuration for a phone signer", "example": { "type": "phone", "phone": "+1234567890", "locator": "phone:+1234567890", "address": "0x1234567890abcdef..." } }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["device"], "description": "Identifier for device signer type" }, "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": { "type": "string", "description": "The locator of the signer" }, "name": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "required": ["type", "publicKey", "locator"], "title": "Device Signer", "description": "Configuration for a device signer", "example": { "type": "device", "publicKey": { "x": "decimal_string_x", "y": "decimal_string_y" }, "locator": "device:BIVmCqMz8QJB+se2kJEpGQ...", "name": "my-device" } } ], "description": "Response schema for a registered signer" }, { "type": "object", "properties": { "permissions": { "type": "array", "items": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": ["external-policy"] }, "address": { "type": "string" } }, "required": ["type", "address"], "title": "External Policy", "description": "Permission to use an external policy", "example": { "type": "external-policy", "address": "CCRBPM5HBMVLORGVXROAGIRHIGJC73PSFK3FKBB6KNRJBLHNJPBOI3AB" } } ] }, "description": "Optional array of permissions to be used for the signer", "example": [ { "type": "external-policy", "address": "CCRBPM5HBMVLORGVXROAGIRHIGJC73PSFK3FKBB6KNRJBLHNJPBOI3AB" } ] }, "transaction": { "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": { "type": "string", "description": "The transaction hash" }, "ledger": { "type": "number", "description": "The ledger number where the transaction was included" }, "expiration": { "type": "number", "description": "The expiration of the transaction" }, "result": { "description": "The Transaction Result in XDR format" }, "explorerLink": { "type": "string", "description": "Optional link to view the transaction in an explorer" } }, "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": { "discriminator": { "propertyName": "type" }, "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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 that's pending approval" }, "message": { "type": "string", "description": "The message that needs to be signed" } }, "required": ["signer", "message"] }, "description": "List of pending signatures" }, "submitted": { "type": "array", "items": { "type": "object", "properties": { "signature": { "type": "string", "description": "The cryptographic signature" }, "submittedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "When the signature was submitted", "example": "2024-01-01T00:00:00.000Z" }, "signer": { "discriminator": { "propertyName": "type" }, "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": [ "external-wallet" ] }, "address": { "type": "string", "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": { "type": "string", "description": "Optional human-readable name for the device signer" } }, "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" }, "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": { "type": "object", "properties": { "deviceInfo": { "type": "string" }, "ipAddress": { "type": "string" }, "userAgent": { "type": "string" } }, "description": "Additional metadata about the signature submission" } }, "required": [ "signature", "submittedAt", "signer", "message" ] }, "description": "Record of all submitted signatures" }, "required": { "type": "number", "description": "Number of required approvals for the transaction" } }, "required": ["pending", "submitted"], "description": "Complete approval data including requirements, pending and submitted signatures" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction was created", "example": "2024-01-01T00:00:00.000Z" }, "completedAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp when the transaction reached finality", "example": "2024-01-01T00:00:00.000Z" }, "error": { "oneOf": [ { "type": "object", "properties": { "reason": { "type": "string", "enum": [ "build_failed", "failed_to_land_on_chain", "unknown", "sanctioned_wallet_address" ] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} } }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["program_error"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "logs": {} }, "required": ["reason", "message"] }, { "type": "object", "properties": { "reason": { "type": "string", "enum": ["execution_reverted"] }, "message": { "type": "string" }, "revertData": { "type": "object", "additionalProperties": {} }, "revert": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "contract_call", "wallet_authorization", "wallet_deployment" ] }, "reason": { "type": "string" }, "reasonData": { "oneOf": [ { "type": "string" }, { "type": "object", "additionalProperties": {} } ] }, "explorerLink": { "type": "string" }, "simulationLink": { "type": "string" } }, "required": ["type", "reason"] } }, "required": ["reason", "message"] } ], "description": "Error message if the transaction fails after submission" }, "sendParams": { "type": "object", "properties": { "token": { "type": "string", "description": "The token locator that's being sent" }, "params": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount of the token to send" }, "recipient": { "type": "string", "description": "The recipient locator for the token" }, "recipientAddress": { "type": "string", "description": "The recipient address for the token" } }, "required": [ "recipient", "recipientAddress" ], "description": "The parameters for the send token transaction" } }, "required": ["token", "params"] }, "walletType": { "type": "string", "enum": ["smart"] } }, "required": [ "chainType", "onChain", "id", "status", "createdAt", "walletType" ], "description": "The transaction for the signer" } } } ], "title": "Delegated Signer Response", "description": "Complete delegated signer response including the signer and authorization transaction", "example": { "type": "external-wallet", "address": "GDUCX62IF76FFIYRNI25LJDS2V43QEZDY4YNF2DJWVIASN5LKX76Q4TW", "locator": "external-wallet:GDUCX62IF76FFIYRNI25LJDS2V43QEZDY4YNF2DJWVIASN5LKX76Q4TW", "permissions": [ { "type": "external-policy", "address": "CCRBPM5HBMVLORGVXROAGIRHIGJC73PSFK3FKBB6KNRJBLHNJPBOI3AB" } ], "transaction": { "chainType": "stellar", "walletType": "smart", "onChain": { "transaction": { "method": "add_signer", "tx": "AAAAAQAAAAAAAAAA6Cv7SC/8UqMRajXVpHLVebgTI8cw0uhptVAJN6tV/+gNtr9lA7hE6QAOwAgAAAABAAAAAAAAAAEksa3so67z/hhpBWMPQdw+PT2ms33JDRSDbYjqW683yQAAABFkZXBsb3lfaWRlbXBvdGVudAAAAAAAAAIAAAASAAAAAAAAAADoK/tIL/xSoxFqNdWkctV5uBMjxzDS6Gm1UAk3q1X/6AAAABEAAAABAAAAAwAAAA8AAAAQY29uc3RydWN0b3JfYXJncwAAABAAAAABAAAAAgAAABAAAAABAAAAAQAAABAAAAABAAAAAwAAAA8AAAAHRWQyNTUxOQAAAAARAAAAAQAAAAEAAAAPAAAACnB1YmxpY19rZXkAAAAAAA0AAAAgyLZLslvAtPSvrch4dTYQT5Q6NI/DdJtTWQmkH7gbreIAAAAQAAAAAQAAAAEAAAAPAAAABUFkbWluAAAAAAAAEAAAAAEAAAAAAAAADwAAAARzYWx0AAAADQAAACBRdLqIKRSPYpduY8VwZmLfFmD5nTDM10wNlHCbyfvOCAAAAA8AAAAJd2FzbV9oYXNoAAAAAAAADQAAACA9PARHNRwk5Pra7OFAiMck10LoFypYcCLZzWWvnOkIngAAAAA=" }, "expiration": 1718281200 }, "id": "30ef7527-eb5a-4862-92de-aa96947ee705", "status": "pending", "approvals": { "required": 1, "pending": [ { "signer": { "type": "external-wallet", "address": "GDUCX62IF76FFIYRNI25LJDS2V43QEZDY4YNF2DJWVIASN5LKX76Q4TW", "locator": "external-wallet:GsMTPi8utYnuWakS8uvPah3UKd13dWcAshirnNmXDr3d" }, "message": "2kwN1iuY6Y6Br2i5D1QphaS28H7vDdAiwtABgtRdYqjx7s85rRwqF9y6iVBdv9dDZ8F1JAZo8iQdFBAx2Eg9tL3P4sbAznPZgkZcGrbUSCe5jTZ7ULZrcSd377SGEjsZcwx7h7ozrUKB6FnjHB7wGaCqEeeUXE2CfCjC1SjEc8ZzZeyNmeEv5hJSkGsK62syoAE4V5ScZs7idhxXWzpeJiRt3wfWJRevr1pJY7BBd8HaEYurXtXqwCox1uzQnnuZTiUNu7cUWUajYXBWUae4NJGJxmtFJvqnPAa5HXB4nZWXMDdcBis4tQkLCfFT6GXMauQTFCaKmcMgLRh218n51nTNopR7gTaY66ysRH536wmxt9dLqkS9okG3HF5GEXufXPLX6iT7e7" } ], "submitted": [] }, "createdAt": "2025-01-20T13:49:08.910Z" } } }, "description": "Optional array of additional signers for the wallet" }, "plugins": { "type": "array", "items": { "type": "string" }, "description": "Optional array of plugins used for the wallet", "example": ["CA3SGE76PWYAM4OVKETY47GASUGYDF3Y3QFFSPIWFCNKQLUOO4SOIT2W"] } }, "required": ["adminSigner"], "description": "Stellar wallet type specific configuration settings" }, "address": { "type": "string", "description": "The onchain address of the wallet", "example": "0x1234567890123456789012345678901234567890" }, "owner": { "type": "string", "description": "The user that owns this wallet in format :", "example": "email:test@example.com" }, "createdAt": { "oneOf": [ { "type": "number", "description": "ISO 8601 formatted timestamp", "example": "2024-01-01T00:00:00.000Z" }, { "type": "string" } ], "description": "ISO timestamp of when the wallet was created", "example": "2024-01-01T00:00:00.000Z" }, "alias": { "type": "string", "description": "The wallet alias", "example": "my-usdc-wallet" } }, "required": ["chainType", "type", "address"], "title": "Stellar wallet output" } ], "description": "Complete wallet configuration including type-specific settings", "example": { "chainType": "evm", "type": "smart", "owner": "email:user@example.com", "address": "0x1234567890123456789012345678901234567890", "config": { "adminSigner": { "type": "external-wallet", "address": "0x1234567890123456789012345678901234567890", "locator": "external-wallet:0x1234567890123456789012345678901234567890" } } } } } } }