openapi: 3.1.0 info: title: Fordefi Address Book Vaults API version: 0.2.0 description: These endpoints allow you to list the contacts in your address book.

To add/remove contacts, visit the Fordefi web console. See the user guide for more info. servers: - url: https://api.fordefi.com/ description: Production security: - bearerAuth: [] tags: - name: Vaults description: "These endpoints allow you to manage vaults.\n

\n A vault is the basic unit to manage funds.\n Each vault supports a single \"chain family\", such as EVM, Bitcoin, Solana, Cosmos, etc.,\n determined by the vault's type. A vault supports all the chains within the chain family\n (e.g., an EVM vault supports all EVM chains)." paths: /api/v1/vaults: get: tags: - Vaults summary: List Vaults description: Get a list of all vaults in an organization. operationId: list_vaults_api_v1_vaults_get parameters: - name: sort_by in: query required: false schema: type: array items: $ref: '#/components/schemas/ListVaultsSortableFields' title: Sort By - name: page in: query required: false schema: type: integer minimum: 1 description: The page number to fetch. default: 1 title: Page description: The page number to fetch. - name: size in: query required: false schema: type: integer maximum: 100 minimum: 0 description: The number of items per page. default: 50 title: Size description: The number of items per page. - name: skip_count in: query required: false schema: type: boolean description: Whether to skip counting the total number of items. default: false title: Skip Count description: Whether to skip counting the total number of items. - name: vault_ids in: query required: false schema: description: Vault IDs to filter on. title: Vault Ids type: array items: type: string format: uuid description: Vault IDs to filter on. - name: names in: query required: false schema: description: List of full names to filter on. title: Names type: array items: type: string description: List of full names to filter on. - name: vault_types in: query required: false schema: description: Vault types to filter on. title: Vault Types type: array items: $ref: '#/components/schemas/VaultType' description: Vault types to filter on. - name: vault_states in: query required: false schema: description: Vault states to filter on. title: Vault States type: array items: $ref: '#/components/schemas/VaultState' description: Vault states to filter on. - name: key_holder_ids in: query required: false schema: description: List of key holder IDs to filter on. title: Key Holder Ids type: array items: type: string format: uuid description: List of key holder IDs to filter on. - name: vault_group_ids in: query required: false schema: description: List of vault group IDs to filter on. Filter applies to current and pending vault groups. title: Vault Group Ids type: array items: type: string format: uuid description: List of vault group IDs to filter on. Filter applies to current and pending vault groups. - name: exclude_vault_group_ids in: query required: false schema: description: List of vault group IDs to exclude. title: Exclude Vault Group Ids type: array items: type: string format: uuid description: List of vault group IDs to exclude. - name: exclude_vault_ids in: query required: false schema: description: Vault IDs to exclude. title: Exclude Vault Ids type: array items: type: string format: uuid description: Vault IDs to exclude. - name: origin_type in: query required: false schema: description: Origin type to filter on. title: Origin Type $ref: '#/components/schemas/VaultOriginType' description: Origin type to filter on. - name: account_addresses in: query required: false schema: description: List of account addresses to filter on. title: Account Addresses type: array items: type: string description: List of account addresses to filter on. - name: positive_native_balance_chain_ids in: query required: false schema: description: List of chain IDs to fetch native assets for. Only vaults with positive native balance in any of these chains will be included in native_assets response. title: Positive Native Balance Chain Ids type: array items: type: string minLength: 1 description: The unique chain ID.
Can be either one of those supported by the default chains below or a custom numeric EVM chain ID `evm_` if one was added to your organization. title: ChainUniqueId description: List of chain IDs to fetch native assets for. Only vaults with positive native balance in any of these chains will be included in native_assets response. responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ListVaultsResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/PreconditionFailedError' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationError' '500': description: Unexpected Error content: application/json: schema: $ref: '#/components/schemas/BaseError' '401': description: Unauthorized User content: application/json: schema: $ref: '#/components/schemas/BaseError' '403': description: Forbidden User content: application/json: schema: $ref: '#/components/schemas/BaseError' '408': description: Request Timeout content: application/json: schema: $ref: '#/components/schemas/BaseError' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/RateLimitError' post: tags: - Vaults summary: Create Vault description: Create a new vault. operationId: create_vault_api_v1_vaults_post requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateVaultRequest' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/CreateVaultResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/DefinedPreconditionError_CreateVaultErrorType_' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationError' '500': description: Unexpected Error content: application/json: schema: $ref: '#/components/schemas/BaseError' '401': description: Unauthorized User content: application/json: schema: $ref: '#/components/schemas/BaseError' '403': description: Forbidden User content: application/json: schema: $ref: '#/components/schemas/BaseError' '408': description: Request Timeout content: application/json: schema: $ref: '#/components/schemas/BaseError' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/RateLimitError' '409': description: Already Exists content: application/json: schema: $ref: '#/components/schemas/ResourceError' /api/v1/vaults/export_async: get: tags: - Vaults summary: Export Vaults With Assets Async description: Get a CSV-format list of balances of all vaults and their assets. operationId: export_vaults_with_assets_async_api_v1_vaults_export_async_get parameters: - name: limit in: query required: false schema: description: The number of vault/asset pairs to export, unlimited if not set. title: Limit type: integer description: The number of vault/asset pairs to export, unlimited if not set. - name: vaults_ids in: query required: false schema: description: Vault IDs to filter on. title: Vaults Ids type: array items: type: string format: uuid description: Vault IDs to filter on. - name: vault_types in: query required: false schema: description: Vault types to filter on. title: Vault Types type: array items: $ref: '#/components/schemas/VaultType' description: Vault types to filter on. responses: '200': description: Successful Response content: application/json: schema: title: Response Export Vaults With Assets Async Api V1 Vaults Export Async Get $ref: '#/components/schemas/Export' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/PreconditionFailedError' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationError' '500': description: Unexpected Error content: application/json: schema: $ref: '#/components/schemas/BaseError' '401': description: Unauthorized User content: application/json: schema: $ref: '#/components/schemas/BaseError' '403': description: Forbidden User content: application/json: schema: $ref: '#/components/schemas/BaseError' '408': description: Request Timeout content: application/json: schema: $ref: '#/components/schemas/BaseError' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/RateLimitError' '204': description: No Content /api/v1/vaults/{id}: get: tags: - Vaults summary: Get Vault description: Retrieve vault details. operationId: get_vault_api_v1_vaults__id__get parameters: - name: id in: path required: true schema: type: string format: uuid description: ID of the vault to retrieve. title: Id description: ID of the vault to retrieve. responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/GetVaultResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/PreconditionFailedError' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationError' '500': description: Unexpected Error content: application/json: schema: $ref: '#/components/schemas/BaseError' '401': description: Unauthorized User content: application/json: schema: $ref: '#/components/schemas/BaseError' '403': description: Forbidden User content: application/json: schema: $ref: '#/components/schemas/BaseError' '408': description: Request Timeout content: application/json: schema: $ref: '#/components/schemas/BaseError' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/RateLimitError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ResourceError' /api/v1/vaults/{id}/assets/{asset_id}: get: tags: - Vaults summary: Get Vault Asset description: Get a specific asset in a vault. operationId: get_vault_asset_api_v1_vaults__id__assets__asset_id__get parameters: - name: id in: path required: true schema: type: string format: uuid description: ID of the vault to retrieve. title: Id description: ID of the vault to retrieve. - name: asset_id in: path required: true schema: type: string format: uuid description: ID of the asset to retrieve. title: Asset Id description: ID of the asset to retrieve. - name: page in: query required: false schema: type: integer minimum: 1 description: The page number to fetch. default: 1 title: Page description: The page number to fetch. - name: size in: query required: false schema: type: integer maximum: 100 minimum: 0 description: The number of items per page. default: 50 title: Size description: The number of items per page. - name: skip_count in: query required: false schema: type: boolean description: Whether to skip counting the total number of items. default: false title: Skip Count description: Whether to skip counting the total number of items. responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/GetOwnedAssetResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/PreconditionFailedError' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationError' '500': description: Unexpected Error content: application/json: schema: $ref: '#/components/schemas/BaseError' '401': description: Unauthorized User content: application/json: schema: $ref: '#/components/schemas/BaseError' '403': description: Forbidden User content: application/json: schema: $ref: '#/components/schemas/BaseError' '408': description: Request Timeout content: application/json: schema: $ref: '#/components/schemas/BaseError' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/RateLimitError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ResourceError' /api/v1/vaults/{id}/assets: get: tags: - Vaults summary: Get Vault Assets description: Get a list of all assets in a vault. operationId: get_vault_assets_api_v1_vaults__id__assets_get parameters: - name: id in: path required: true schema: type: string format: uuid description: ID of the vault to retrieve. title: Id description: ID of the vault to retrieve. - name: page in: query required: false schema: type: integer minimum: 1 description: The page number to fetch. default: 1 title: Page description: The page number to fetch. - name: size in: query required: false schema: type: integer maximum: 100 minimum: 0 description: The number of items per page. default: 50 title: Size description: The number of items per page. - name: skip_count in: query required: false schema: type: boolean description: Whether to skip counting the total number of items. default: false title: Skip Count description: Whether to skip counting the total number of items. - name: chains in: query required: false schema: title: Chains type: array items: type: string minLength: 1 description: The unique chain ID.
Can be either one of those supported by the default chains below or a custom numeric EVM chain ID `evm_` if one was added to your organization. title: ChainUniqueId - name: asset_ids in: query required: false schema: title: Asset Ids type: array items: type: string format: uuid - name: is_hidden in: query required: false schema: title: Is Hidden type: boolean - name: search in: query required: false schema: title: Search type: string - name: sort_by in: query required: false schema: title: Sort By type: array items: $ref: '#/components/schemas/OwnedAssetsSortableFields' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ListOwnedAssetsResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/PreconditionFailedError' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationError' '500': description: Unexpected Error content: application/json: schema: $ref: '#/components/schemas/BaseError' '401': description: Unauthorized User content: application/json: schema: $ref: '#/components/schemas/BaseError' '403': description: Forbidden User content: application/json: schema: $ref: '#/components/schemas/BaseError' '408': description: Request Timeout content: application/json: schema: $ref: '#/components/schemas/BaseError' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/RateLimitError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ResourceError' /api/v1/vaults/{id}/proposals: post: tags: - Vaults summary: Submit Update Vault Change Proposal description: Submit an update vault change proposal. Verify, approve, and abort are handled via the user-actions API. operationId: submit_update_vault_change_proposal_api_v1_vaults__id__proposals_post parameters: - name: id in: path required: true schema: type: string format: uuid description: ID of the vault to submit a change proposal for. title: Id description: ID of the vault to submit a change proposal for. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SubmitUpdateVaultChangeProposalRequest' responses: '204': description: Successful Response '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/PreconditionFailedError' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationError' '500': description: Unexpected Error content: application/json: schema: $ref: '#/components/schemas/BaseError' '401': description: Unauthorized User content: application/json: schema: $ref: '#/components/schemas/BaseError' '403': description: Forbidden User content: application/json: schema: $ref: '#/components/schemas/BaseError' '408': description: Request Timeout content: application/json: schema: $ref: '#/components/schemas/BaseError' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/RateLimitError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ResourceError' /api/v1/vaults/{id}/archive: post: tags: - Vaults summary: Archive Vault description: Archive an existing vault. operationId: archive_vault_api_v1_vaults__id__archive_post parameters: - name: id in: path required: true schema: type: string format: uuid description: ID of the vault to archive. title: Id description: ID of the vault to archive. responses: '204': description: Successful Response '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/PreconditionFailedError' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationError' '500': description: Unexpected Error content: application/json: schema: $ref: '#/components/schemas/BaseError' '401': description: Unauthorized User content: application/json: schema: $ref: '#/components/schemas/BaseError' '403': description: Forbidden User content: application/json: schema: $ref: '#/components/schemas/BaseError' '408': description: Request Timeout content: application/json: schema: $ref: '#/components/schemas/BaseError' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/RateLimitError' /api/v1/vaults/{id}/restore: post: tags: - Vaults summary: Restore Vault description: Restore an archived vault. operationId: restore_vault_api_v1_vaults__id__restore_post parameters: - name: id in: path required: true schema: type: string format: uuid description: ID of the vault to restore. title: Id description: ID of the vault to restore. responses: '204': description: Successful Response '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/PreconditionFailedError' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationError' '500': description: Unexpected Error content: application/json: schema: $ref: '#/components/schemas/BaseError' '401': description: Unauthorized User content: application/json: schema: $ref: '#/components/schemas/BaseError' '403': description: Forbidden User content: application/json: schema: $ref: '#/components/schemas/BaseError' '408': description: Request Timeout content: application/json: schema: $ref: '#/components/schemas/BaseError' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/RateLimitError' /api/v1/vaults/{id}/name: put: tags: - Vaults summary: Rename Vault description: Rename an existing vault. operationId: rename_vault_api_v1_vaults__id__name_put parameters: - name: id in: path required: true schema: type: string format: uuid description: ID of the vault to rename. title: Id description: ID of the vault to rename. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RenameVaultRequest' responses: '204': description: Successful Response '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/PreconditionFailedError' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationError' '500': description: Unexpected Error content: application/json: schema: $ref: '#/components/schemas/BaseError' '401': description: Unauthorized User content: application/json: schema: $ref: '#/components/schemas/BaseError' '403': description: Forbidden User content: application/json: schema: $ref: '#/components/schemas/BaseError' '408': description: Request Timeout content: application/json: schema: $ref: '#/components/schemas/BaseError' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/RateLimitError' '409': description: Already Exists content: application/json: schema: $ref: '#/components/schemas/ResourceError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ResourceError' /api/v1/vaults/{id}/addresses: post: tags: - Vaults summary: Create Address description: Create a new address. operationId: create_address_api_v1_vaults__id__addresses_post parameters: - name: id in: path required: true schema: type: string format: uuid description: ID of the vault to create address in. title: Id description: ID of the vault to create address in. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateVaultAddressRequest' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/CreateVaultAddressResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/DefinedPreconditionError_CreateVaultAddressErrorType_' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationError' '500': description: Unexpected Error content: application/json: schema: $ref: '#/components/schemas/BaseError' '401': description: Unauthorized User content: application/json: schema: $ref: '#/components/schemas/BaseError' '403': description: Forbidden User content: application/json: schema: $ref: '#/components/schemas/BaseError' '408': description: Request Timeout content: application/json: schema: $ref: '#/components/schemas/BaseError' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/RateLimitError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ResourceError' get: tags: - Vaults summary: List Vault Addresses description: Get a list of all addresses in a vault. operationId: list_vault_addresses_api_v1_vaults__id__addresses_get parameters: - name: id in: path required: true schema: type: string format: uuid description: ID of the vault. title: Id description: ID of the vault. - name: sort_by in: query required: false schema: type: array items: $ref: '#/components/schemas/VaultAddressSortableFields' title: Sort By - name: page in: query required: false schema: type: integer minimum: 1 description: The page number to fetch. default: 1 title: Page description: The page number to fetch. - name: size in: query required: false schema: type: integer maximum: 100 minimum: 0 description: The number of items per page. default: 50 title: Size description: The number of items per page. - name: skip_count in: query required: false schema: type: boolean description: Whether to skip counting the total number of items. default: false title: Skip Count description: Whether to skip counting the total number of items. - name: search in: query required: false schema: title: Search type: string - name: addresses in: query required: false schema: description: List of addresses to filter on. title: Addresses type: array items: type: string description: List of addresses to filter on. - name: address_types in: query required: false schema: description: List of address types to filter on. title: Address Types type: array items: $ref: '#/components/schemas/UtxoAddressType' description: List of address types to filter on. responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ListVaultAddressesResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/PreconditionFailedError' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationError' '500': description: Unexpected Error content: application/json: schema: $ref: '#/components/schemas/BaseError' '401': description: Unauthorized User content: application/json: schema: $ref: '#/components/schemas/BaseError' '403': description: Forbidden User content: application/json: schema: $ref: '#/components/schemas/BaseError' '408': description: Request Timeout content: application/json: schema: $ref: '#/components/schemas/BaseError' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/RateLimitError' /api/v1/vaults/addresses/{id}/name: put: tags: - Vaults summary: Rename Vault Address description: Rename an existing vault address. operationId: rename_vault_address_api_v1_vaults_addresses__id__name_put parameters: - name: id in: path required: true schema: type: string format: uuid description: ID of the vault address to rename. title: Id description: ID of the vault address to rename. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RenameVaultRequest' responses: '204': description: Successful Response '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/PreconditionFailedError' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationError' '500': description: Unexpected Error content: application/json: schema: $ref: '#/components/schemas/BaseError' '401': description: Unauthorized User content: application/json: schema: $ref: '#/components/schemas/BaseError' '403': description: Forbidden User content: application/json: schema: $ref: '#/components/schemas/BaseError' '408': description: Request Timeout content: application/json: schema: $ref: '#/components/schemas/BaseError' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/RateLimitError' '409': description: Already Exists content: application/json: schema: $ref: '#/components/schemas/ResourceError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ResourceError' components: schemas: StacksAssetIdentifier: properties: type: type: string const: stacks title: Type description: Stacks asset identifier type. details: oneOf: - $ref: '#/components/schemas/StacksNativeAssetIdentifierRequest' - $ref: '#/components/schemas/StacksSip10AssetIdentifierRequest' discriminator: propertyName: type mapping: native: '#/components/schemas/StacksNativeAssetIdentifierRequest' sip10: '#/components/schemas/StacksSip10AssetIdentifierRequest' chain: $ref: '#/components/schemas/EnrichedStacksChain' type: object required: - type - details - chain title: StacksAssetIdentifier EnrichedUtxoChain: properties: chain_type: type: string const: utxo title: Chain Type description: The type of the chain. unique_id: $ref: '#/components/schemas/UtxoChainUniqueId' description: The UTXO chain unique ID. name: type: string minLength: 1 title: Name description: The full blockchain name. native_currency_symbol: type: string minLength: 1 title: Native Currency Symbol description: The native currency symbol. example: ETH native_currency_name: type: string minLength: 1 title: Native Currency Name description: The native currency name. example: Ether blockchain_explorer: $ref: '#/components/schemas/BlockchainExplorer' logo_url: type: string maxLength: 2083 minLength: 1 format: uri title: Logo Url description: The logo URL of the chain. is_testnet: type: boolean title: Is Testnet description: Whether the chain is on a testnet. is_enabled: type: boolean title: Is Enabled description: Whether the chain is enabled. type: object required: - chain_type - unique_id - name - native_currency_symbol - native_currency_name - logo_url - is_testnet - is_enabled title: EnrichedUtxoChain CreateVaultResponse: oneOf: - $ref: '#/components/schemas/AptosVault' - $ref: '#/components/schemas/ArchVault' - $ref: '#/components/schemas/BlackBoxVault' - $ref: '#/components/schemas/CantonVault' - $ref: '#/components/schemas/CosmosVault' - $ref: '#/components/schemas/EvmVault' - $ref: '#/components/schemas/SolanaVault' - $ref: '#/components/schemas/StacksVault' - $ref: '#/components/schemas/StarknetVault' - $ref: '#/components/schemas/StellarVault' - $ref: '#/components/schemas/SuiVault' - $ref: '#/components/schemas/TonVault' - $ref: '#/components/schemas/TronVault' - $ref: '#/components/schemas/UtxoVault' - $ref: '#/components/schemas/ExchangeVault' - $ref: '#/components/schemas/SafeVault' discriminator: propertyName: type mapping: aptos: '#/components/schemas/AptosVault' arch: '#/components/schemas/ArchVault' black_box: '#/components/schemas/BlackBoxVault' canton: '#/components/schemas/CantonVault' cosmos: '#/components/schemas/CosmosVault' evm: '#/components/schemas/EvmVault' exchange: '#/components/schemas/ExchangeVault' safe: '#/components/schemas/SafeVault' solana: '#/components/schemas/SolanaVault' stacks: '#/components/schemas/StacksVault' starknet: '#/components/schemas/StarknetVault' stellar: '#/components/schemas/StellarVault' sui: '#/components/schemas/SuiVault' ton: '#/components/schemas/TonVault' tron: '#/components/schemas/TronVault' utxo: '#/components/schemas/UtxoVault' TonVault: properties: id: type: string format: uuid title: Id description: The unique identifier of the object in the Fordefi platform. created_at: type: string format: date-time title: Created At description: The date and time when the object was created. modified_at: type: string format: date-time title: Modified At description: The date and time when the object was last modified. Any change to any field of the resource is considered a modification. metadata: title: Metadata description: 'Metadata in a form: .' additionalProperties: anyOf: - items: type: string type: array - type: string - type: integer - type: boolean type: object name: type: string title: Name description: The name of the vault. created_by: $ref: '#/components/schemas/UserRef' description: Details of the vault creator. vault_group: description: The vault group this vault belongs to. deprecated: true $ref: '#/components/schemas/VaultGroupRef' vault_groups: items: $ref: '#/components/schemas/VaultGroupRef' type: array title: Vault Groups description: The vault groups this vault belongs to. skip_indexing_reason: description: Reason why the vault is not being indexed. $ref: '#/components/schemas/SkipIndexingReason' is_external_signer: type: boolean title: Is External Signer description: Whether the vault uses an externally imported key (external signer). default: false native_assets: title: Native Assets description: List of native asset information for requested chains. Chain info is in asset_identifier. items: $ref: '#/components/schemas/OwnedAsset' type: array derivation_path: title: Derivation Path description: The BIP 44 derivation path of the vault. deprecated: true example: m/44/60/0/0/0 type: string public_key_compressed: type: string title: Public Key Compressed description: 'The public key of the vault in its compressed form:
  • For ECDSA and Schnorr keys, the public key is represented as 33 bytes (0x02 or 0x03 followed by the x-coordinate) according to the [SEC1 standard](https://www.secg.org/SEC1-Ver-1.0.pdf).
  • For EdDSA, the public key is represented as a 32-byte value, as defined by [RFC 8032](https://datatracker.ietf.org/doc/html/rfc8032).
' example: SGVsbG8= derivation_info: $ref: '#/components/schemas/VaultDerivationInfo' description: The derivation info of the vault. key_holder: description: The user who owns the keyset of the vault. If not provided, the vault is owned by the organization. $ref: '#/components/schemas/EndUserRef' origin_type: $ref: '#/components/schemas/VaultOriginType' description: The origin type of the vault. state: $ref: '#/components/schemas/MpcVaultState' description: New state of the vault. type: type: string const: ton title: Type description: TON vault type. raw_account: type: string maxLength: 67 pattern: ^[-0-9]+:[A-Fa-f0-9]{64}$ title: Raw Account description: The address TON contract in a raw format. base64_url_bounceable_account: type: string maxLength: 48 minLength: 48 title: Base64 Url Bounceable Account description: The bounceable address of the contract in base64 url format example: UQBxs5hnTxjzvzsnDofRfbJeXsylUcxR8OSW7UUv317csHZ1 base64_url_non_bounceable_account: type: string maxLength: 48 minLength: 48 title: Base64 Url Non Bounceable Account description: The non-bounceable address of the contract in base64 url format example: UQBxs5hnTxjzvzsnDofRfbJeXsylUcxR8OSW7UUv317csHZ1 state_init: type: string title: State Init description: The wallet contract state init. type: object required: - id - created_at - modified_at - name - created_by - vault_groups - are_all_chains_disabled - derivation_path - public_key_compressed - derivation_info - origin_type - state - type - raw_account - base64_url_bounceable_account - base64_url_non_bounceable_account - state_init title: TonVault description: Represents an TON vault in the Fordefi platform TronChainUniqueId: type: string enum: - tron_mainnet - tron_shasta title: TronChainUniqueId StarknetChainUniqueId: type: string enum: - starknet_mainnet title: StarknetChainUniqueId TonNativeAssetIdentifierRequest: properties: type: type: string const: native title: Type description: TON asset identifier type. chain: $ref: '#/components/schemas/TonChainUniqueId' description: The details of the chain of the native asset. type: object required: - type - chain title: TonNativeAssetIdentifierRequest ImportVaultUtxoOptions: properties: default_address_derivation_path: title: Default Address Derivation Path description: The BIP-32 derivation path of the default address. example: m/44/60/0/0/0 type: string pattern: ^(m/44/[0-9]+/[0-9]+/[0-9]+/[0-9]+|m)$ default_address_name: type: string title: Default Address Name description: The name of the default address. key_id: type: string format: uuid title: Key Id description: The ID of the imported key to use for the default address. type: object required: - default_address_name - key_id title: ImportVaultUtxoOptions ExternalVaultImportOptions: properties: origin: type: string const: external_signer title: Origin description: Discriminator for external signer vault creation. public_key_compressed: type: string title: Public Key Compressed description: Base64-encoded compressed public key. chain_code: title: Chain Code description: Base64-encoded 32-byte BIP32 chain code. type: string type: object required: - origin - public_key_compressed title: ExternalVaultImportOptions OwnedAsset: properties: priced_asset: $ref: '#/components/schemas/PricedAsset' balances: $ref: '#/components/schemas/Balances' balance: title: Balance deprecated: true type: string pattern: ^\d+$ example: '1000000000000000000' type: object required: - priced_asset - balances title: OwnedAsset StarknetErc20AssetIdentifierRequest: properties: type: type: string const: erc20 title: Type description: Erc20 asset identifier type. erc20: $ref: '#/components/schemas/StarknetAddressRequest' description: The Erc20 details. type: object required: - type - erc20 title: StarknetErc20AssetIdentifierRequest ExchangeVaultState: type: string enum: - active - pending title: ExchangeVaultState TronTrc20AssetIdentifierRequest: properties: type: type: string const: trc20 title: Type description: Trc20 asset identifier type. trc20: $ref: '#/components/schemas/TronAddressRequest' description: The Trc20 details. type: object required: - type - trc20 title: TronTrc20AssetIdentifierRequest ExchangeChainUniqueId: type: string enum: - exchange_binance - exchange_bybit - exchange_coinbase_international - exchange_coinbase_us - exchange_okx - exchange_kraken title: ExchangeChainUniqueId ExchangePortfolio: properties: portfolio_id: type: string title: Portfolio Id description: The ID of the exchange portfolio. portfolio_name: type: string title: Portfolio Name description: The name of the exchange portfolio. type: object required: - portfolio_id - portfolio_name title: ExchangePortfolio CreateTronVaultRequest: properties: name: type: string minLength: 1 title: Name description: The name of the vault. end_user_id: title: End User Id description: The end user id to create a vault for.This field is required for end-user vault creation, otherwise, it's optional. If not provided, the organization's default keyset will be used. type: string format: uuid vault_group_id: title: Vault Group Id description: The group to add this vault to. If not provided, the vault will be created in the Default vault group. type: string format: uuid import_options: description: 'Import options: use for organizations with imported keys, to create a vault from an external public key and chain code.' oneOf: - $ref: '#/components/schemas/ImportVaultDefaultOptions' - $ref: '#/components/schemas/ExternalVaultImportOptions' discriminator: propertyName: origin mapping: external_signer: '#/components/schemas/ExternalVaultImportOptions' imported_keys: '#/components/schemas/ImportVaultDefaultOptions' import_vault: description: 'Additional information when creating a vault from an imported key. This field is relevant only for organizations using imported keys. Deprecated: use import_options with origin=imported_keys instead.' $ref: '#/components/schemas/ImportVaultDefaultOptions' type: type: string const: tron title: Type description: TRON vault type. type: object required: - name - type title: CreateTronVaultRequest CreateVaultAddressErrorType: type: string enum: - invalid_vault_type title: CreateVaultAddressErrorType SolanaSplTokenAssetIdentifierRequest: properties: type: type: string const: spl_token title: Type description: SPL token asset identifier type. token: $ref: '#/components/schemas/SolanaAddressRequest' description: The SPL token details. type: object required: - type - token title: SolanaSplTokenAssetIdentifierRequest CreateArchVaultRequest: properties: name: type: string minLength: 1 title: Name description: The name of the vault. end_user_id: title: End User Id description: The end user id to create a vault for.This field is required for end-user vault creation, otherwise, it's optional. If not provided, the organization's default keyset will be used. type: string format: uuid vault_group_id: title: Vault Group Id description: The group to add this vault to. If not provided, the vault will be created in the Default vault group. type: string format: uuid type: type: string const: arch title: Type description: Arch vault type. type: object required: - name - type title: CreateArchVaultRequest VaultType: type: string enum: - aptos - arch - black_box - canton - cosmos - evm - safe - solana - stacks - starknet - stellar - sui - ton - tron - utxo - exchange title: VaultType CreateTonVaultRequest: properties: name: type: string minLength: 1 title: Name description: The name of the vault. end_user_id: title: End User Id description: The end user id to create a vault for.This field is required for end-user vault creation, otherwise, it's optional. If not provided, the organization's default keyset will be used. type: string format: uuid vault_group_id: title: Vault Group Id description: The group to add this vault to. If not provided, the vault will be created in the Default vault group. type: string format: uuid import_options: description: 'Import options: use for organizations with imported keys, to create a vault from an external public key and chain code.' oneOf: - $ref: '#/components/schemas/ImportVaultDefaultOptions' - $ref: '#/components/schemas/ExternalVaultImportOptions' discriminator: propertyName: origin mapping: external_signer: '#/components/schemas/ExternalVaultImportOptions' imported_keys: '#/components/schemas/ImportVaultDefaultOptions' import_vault: description: 'Additional information when creating a vault from an imported key. This field is relevant only for organizations using imported keys. Deprecated: use import_options with origin=imported_keys instead.' $ref: '#/components/schemas/ImportVaultDefaultOptions' type: type: string const: ton title: Type description: TON vault type. type: object required: - name - type title: CreateTonVaultRequest StarknetVaultState: type: string enum: - inactive - activating - active title: StarknetVaultState MpcVaultState: type: string enum: - active - archived title: MpcVaultState TronAddressRequest: properties: chain: $ref: '#/components/schemas/TronChainUniqueId' description: The chain details this address is of. base58_repr: type: string maxLength: 34 minLength: 34 pattern: ^T[a-km-zA-HJ-NP-Z1-9]+$ title: Base58 Repr description: Base58 representation of the address in the chain. example: TJCnKsPa7y5okkXvQAidZBzqx3QyQ6sxMW type: object required: - chain - base58_repr title: TronAddressRequest description: Address represents a blockchain address. MasterAccount: properties: type: type: string const: master title: Type description: Exchange vault for a master account. api_key: type: string title: Api Key description: The API-key of this exchange account. type: object required: - type - api_key title: MasterAccount SuiAssetIdentifier: properties: type: type: string const: sui title: Type description: Sui asset identifier type. details: oneOf: - $ref: '#/components/schemas/SuiNativeAssetIdentifierRequest' - $ref: '#/components/schemas/SuiCoinAssetIdentifierRequest' discriminator: propertyName: type mapping: coin: '#/components/schemas/SuiCoinAssetIdentifierRequest' native: '#/components/schemas/SuiNativeAssetIdentifierRequest' chain: $ref: '#/components/schemas/EnrichedSuiChain' type: object required: - type - details - chain title: SuiAssetIdentifier ListVaultAddressesResponse: properties: total: type: integer title: Total page: type: integer title: Page size: type: integer title: Size addresses: items: $ref: '#/components/schemas/UtxoVaultAddress' type: array title: Addresses type: object required: - total - page - size - addresses title: ListVaultAddressesResponse CantonNativeAssetIdentifierRequest: properties: type: type: string const: native title: Type description: Canton asset identifier type. chain: $ref: '#/components/schemas/CantonChainUniqueId' description: The details of the chain of the native asset. type: object required: - type - chain title: CantonNativeAssetIdentifierRequest TronAssetIdentifier: properties: type: type: string const: tron title: Type description: TRON asset identifier type. details: oneOf: - $ref: '#/components/schemas/TronNativeAssetIdentifierRequest' - $ref: '#/components/schemas/TronTrc20AssetIdentifierRequest' discriminator: propertyName: type mapping: native: '#/components/schemas/TronNativeAssetIdentifierRequest' trc20: '#/components/schemas/TronTrc20AssetIdentifierRequest' chain: $ref: '#/components/schemas/EnrichedTronChain' type: object required: - type - details - chain title: TronAssetIdentifier SolanaNativeAssetIdentifierRequest: properties: type: type: string const: native title: Type description: Solana asset identifier type. chain: $ref: '#/components/schemas/SolanaChainUniqueId' description: The details of the chain of the native asset. type: object required: - type - chain title: SolanaNativeAssetIdentifierRequest EnrichedStarknetChain: properties: chain_type: type: string const: starknet title: Chain Type description: The type of the chain. unique_id: $ref: '#/components/schemas/StarknetChainUniqueId' description: The type of the Starknet-based chain. name: type: string minLength: 1 title: Name description: The full blockchain name. native_currency_symbol: type: string minLength: 1 title: Native Currency Symbol description: The native currency symbol. example: ETH native_currency_name: type: string minLength: 1 title: Native Currency Name description: The native currency name. example: Ether blockchain_explorer: $ref: '#/components/schemas/BlockchainExplorer' logo_url: type: string maxLength: 2083 minLength: 1 format: uri title: Logo Url description: The logo URL of the chain. is_testnet: type: boolean title: Is Testnet description: Whether the chain is on a testnet. is_enabled: type: boolean title: Is Enabled description: Whether the chain is enabled. type: object required: - chain_type - unique_id - name - native_currency_symbol - native_currency_name - logo_url - is_testnet - is_enabled title: EnrichedStarknetChain CreateAptosVaultRequest: properties: name: type: string minLength: 1 title: Name description: The name of the vault. end_user_id: title: End User Id description: The end user id to create a vault for.This field is required for end-user vault creation, otherwise, it's optional. If not provided, the organization's default keyset will be used. type: string format: uuid vault_group_id: title: Vault Group Id description: The group to add this vault to. If not provided, the vault will be created in the Default vault group. type: string format: uuid import_options: description: 'Import options: use for organizations with imported keys, to create a vault from an external public key and chain code.' oneOf: - $ref: '#/components/schemas/ImportVaultDefaultOptions' - $ref: '#/components/schemas/ExternalVaultImportOptions' discriminator: propertyName: origin mapping: external_signer: '#/components/schemas/ExternalVaultImportOptions' imported_keys: '#/components/schemas/ImportVaultDefaultOptions' import_vault: description: 'Additional information when creating a vault from an imported key. This field is relevant only for organizations using imported keys. Deprecated: use import_options with origin=imported_keys instead.' $ref: '#/components/schemas/ImportVaultDefaultOptions' type: type: string const: aptos title: Type description: Aptos vault type. type: object required: - name - type title: CreateAptosVaultRequest PersonRef: properties: id: type: string format: uuid title: Id description: The unique identifier of the user in the Fordefi platform. user_type: type: string const: person title: User Type description: The type of user. Can be a person, or (in programmatic scenarios) an API user or API Signer. name: title: Name description: The name of the user. example: John Doe type: string email: type: string title: Email description: The email of the user. state: $ref: '#/components/schemas/UserState' description: The state of the user in the organization. role: $ref: '#/components/schemas/UserRole' description: The role of the user. type: object required: - id - user_type - email - state - role title: PersonRef SuiChainUniqueId: type: string enum: - sui_mainnet - sui_testnet title: SuiChainUniqueId StarknetAssetIdentifier: properties: type: type: string const: starknet title: Type description: Starknet asset identifier type. details: oneOf: - $ref: '#/components/schemas/StarknetNativeAssetIdentifierRequest' - $ref: '#/components/schemas/StarknetErc20AssetIdentifierRequest' discriminator: propertyName: type mapping: erc20: '#/components/schemas/StarknetErc20AssetIdentifierRequest' native: '#/components/schemas/StarknetNativeAssetIdentifierRequest' chain: $ref: '#/components/schemas/EnrichedStarknetChain' type: object required: - type - details - chain title: StarknetAssetIdentifier ArchAssetIdentifier: properties: type: type: string const: arch title: Type description: Arch asset identifier type. details: oneOf: - $ref: '#/components/schemas/ArchNativeAssetIdentifierRequest' - $ref: '#/components/schemas/ArchAplTokenAssetIdentifierRequest' discriminator: propertyName: type mapping: apl_token: '#/components/schemas/ArchAplTokenAssetIdentifierRequest' native: '#/components/schemas/ArchNativeAssetIdentifierRequest' chain: $ref: '#/components/schemas/EnrichedArchChain' type: object required: - type - details - chain title: ArchAssetIdentifier EvmNativeAssetIdentifierRequest: properties: type: type: string const: native title: Type description: EVM asset identifier type. chain: type: string minLength: 1 title: EvmChainUniqueId description: The details of the chain of the native asset. type: object required: - type - chain title: EvmNativeAssetIdentifierRequest UtxoNativeAssetIdentifierRequest: properties: type: type: string const: native title: Type description: Utxo asset identifier type. chain: $ref: '#/components/schemas/UtxoChainUniqueId' description: The unique id of the chain of the asset. type: object required: - type - chain title: UtxoNativeAssetIdentifierRequest SolanaVault: properties: id: type: string format: uuid title: Id description: The unique identifier of the object in the Fordefi platform. created_at: type: string format: date-time title: Created At description: The date and time when the object was created. modified_at: type: string format: date-time title: Modified At description: The date and time when the object was last modified. Any change to any field of the resource is considered a modification. metadata: title: Metadata description: 'Metadata in a form: .' additionalProperties: anyOf: - items: type: string type: array - type: string - type: integer - type: boolean type: object name: type: string title: Name description: The name of the vault. created_by: $ref: '#/components/schemas/UserRef' description: Details of the vault creator. vault_group: description: The vault group this vault belongs to. deprecated: true $ref: '#/components/schemas/VaultGroupRef' vault_groups: items: $ref: '#/components/schemas/VaultGroupRef' type: array title: Vault Groups description: The vault groups this vault belongs to. skip_indexing_reason: description: Reason why the vault is not being indexed. $ref: '#/components/schemas/SkipIndexingReason' is_external_signer: type: boolean title: Is External Signer description: Whether the vault uses an externally imported key (external signer). default: false native_assets: title: Native Assets description: List of native asset information for requested chains. Chain info is in asset_identifier. items: $ref: '#/components/schemas/OwnedAsset' type: array derivation_path: title: Derivation Path description: The BIP 44 derivation path of the vault. deprecated: true example: m/44/60/0/0/0 type: string public_key_compressed: type: string title: Public Key Compressed description: 'The public key of the vault in its compressed form:
  • For ECDSA and Schnorr keys, the public key is represented as 33 bytes (0x02 or 0x03 followed by the x-coordinate) according to the [SEC1 standard](https://www.secg.org/SEC1-Ver-1.0.pdf).
  • For EdDSA, the public key is represented as a 32-byte value, as defined by [RFC 8032](https://datatracker.ietf.org/doc/html/rfc8032).
' example: SGVsbG8= derivation_info: $ref: '#/components/schemas/VaultDerivationInfo' description: The derivation info of the vault. key_holder: description: The user who owns the keyset of the vault. If not provided, the vault is owned by the organization. $ref: '#/components/schemas/EndUserRef' origin_type: $ref: '#/components/schemas/VaultOriginType' description: The origin type of the vault. state: $ref: '#/components/schemas/MpcVaultState' description: New state of the vault. type: type: string const: solana title: Type description: Solana vault type. address: type: string maxLength: 44 minLength: 32 pattern: ^[a-km-zA-HJ-NP-Z1-9]+$ title: Address description: The address of the vault in the Solana blockchain. example: 4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA type: object required: - id - created_at - modified_at - name - created_by - vault_groups - are_all_chains_disabled - derivation_path - public_key_compressed - derivation_info - origin_type - state - type - address title: SolanaVault description: Represents a Solana vault in the Fordefi platform CosmosNativeAssetIdentifierRequest: properties: type: type: string const: native title: Type description: Cosmos asset identifier type. chain: $ref: '#/components/schemas/CosmosChainUniqueId' description: The unique id of the chain of the asset. type: object required: - type - chain title: CosmosNativeAssetIdentifierRequest Export: properties: id: type: string format: uuid title: Id description: ID of the export. creation_time: type: string format: date-time title: Creation Time description: The date and time when the object was created. type: $ref: '#/components/schemas/ExportType' description: Type of the export. state: $ref: '#/components/schemas/ExportState' description: The current state of the export. organization_id: type: string format: uuid title: Organization Id description: The id of the organization. user_id: type: string title: User Id description: The id of the user. resource_type: $ref: '#/components/schemas/ExportedResource' description: The type of the resource being exported. successful_items_count: type: integer title: Successful Items Count description: The number of items that were successfully exported. failed_items_count: type: integer title: Failed Items Count description: The number of items that failed to be exported. total_items_count: type: integer title: Total Items Count description: The total number of items to be exported. request_id: type: string title: Request Id description: The request id of the export. download_url: type: string title: Download Url description: The download url of the export. expiration_time: type: string format: date-time title: Expiration Time description: The date and time when the object will expire. type: object required: - id - creation_time - type - state - organization_id - user_id - resource_type - successful_items_count - failed_items_count - total_items_count - request_id - download_url - expiration_time title: Export ValidationError: properties: title: type: string title: Title description: Human-readable error message. detail: items: $ref: '#/components/schemas/ValidationErrorDetail' type: array title: Detail full_detail: title: Full Detail description: Full error message with additional details, if available. type: string request_id: title: Request Id description: Request ID - for debugging purposes. type: string type: object required: - title - detail title: ValidationError EvmAssetIdentifier: properties: type: type: string const: evm title: Type description: Asset identifier type. details: oneOf: - $ref: '#/components/schemas/EvmNativeAssetIdentifierRequest' - $ref: '#/components/schemas/EvmErc20AssetIdentifierRequest' - $ref: '#/components/schemas/EvmErc721AssetIdentifierRequest' - $ref: '#/components/schemas/EvmErc1155AssetIdentifierRequest' - $ref: '#/components/schemas/EvmHyperLiquidAssetIdentifierRequest' discriminator: propertyName: type mapping: erc1155: '#/components/schemas/EvmErc1155AssetIdentifierRequest' erc20: '#/components/schemas/EvmErc20AssetIdentifierRequest' erc721: '#/components/schemas/EvmErc721AssetIdentifierRequest' hyperliquid: '#/components/schemas/EvmHyperLiquidAssetIdentifierRequest' native: '#/components/schemas/EvmNativeAssetIdentifierRequest' chain: $ref: '#/components/schemas/EnrichedEvmChain' type: object required: - type - details - chain title: EvmAssetIdentifier EndUserRef: properties: id: type: string format: uuid title: Id description: The unique identifier of the user in the Fordefi platform. user_type: type: string const: end_user title: User Type description: The type of the user. external_id: type: string title: External Id description: External id of the user. example: user|1234 state: type: string enum: - active - deleted title: State description: The state of the user. type: object required: - id - user_type - external_id - state title: EndUserRef AptosCoinAssetIdentifierRequest: properties: type: type: string const: coin title: Type description: Legacy coin asset identifier type. coin_type: $ref: '#/components/schemas/AptosCoinTypeRequest' description: The legacy coin details. type: object required: - type - coin_type title: AptosCoinAssetIdentifierRequest EnrichedSolanaChain: properties: chain_type: type: string const: solana title: Chain Type description: The type of the chain. unique_id: $ref: '#/components/schemas/SolanaChainUniqueId' description: The type of the Solana-based chain. name: type: string minLength: 1 title: Name description: The full blockchain name. native_currency_symbol: type: string minLength: 1 title: Native Currency Symbol description: The native currency symbol. example: ETH native_currency_name: type: string minLength: 1 title: Native Currency Name description: The native currency name. example: Ether blockchain_explorer: $ref: '#/components/schemas/BlockchainExplorer' logo_url: type: string maxLength: 2083 minLength: 1 format: uri title: Logo Url description: The logo URL of the chain. is_testnet: type: boolean title: Is Testnet description: Whether the chain is on a testnet. is_enabled: type: boolean title: Is Enabled description: Whether the chain is enabled. type: object required: - chain_type - unique_id - name - native_currency_symbol - native_currency_name - logo_url - is_testnet - is_enabled title: EnrichedSolanaChain CreateStarknetVaultRequest: properties: name: type: string minLength: 1 title: Name description: The name of the vault. end_user_id: title: End User Id description: The end user id to create a vault for.This field is required for end-user vault creation, otherwise, it's optional. If not provided, the organization's default keyset will be used. type: string format: uuid vault_group_id: title: Vault Group Id description: The group to add this vault to. If not provided, the vault will be created in the Default vault group. type: string format: uuid import_options: description: 'Import options: use for organizations with imported keys, to create a vault from an external public key and chain code.' oneOf: - $ref: '#/components/schemas/ImportVaultDefaultOptions' - $ref: '#/components/schemas/ExternalVaultImportOptions' discriminator: propertyName: origin mapping: external_signer: '#/components/schemas/ExternalVaultImportOptions' imported_keys: '#/components/schemas/ImportVaultDefaultOptions' import_vault: description: 'Additional information when creating a vault from an imported key. This field is relevant only for organizations using imported keys. Deprecated: use import_options with origin=imported_keys instead.' $ref: '#/components/schemas/ImportVaultDefaultOptions' type: type: string const: starknet title: Type description: Starknet vault type. type: object required: - name - type title: CreateStarknetVaultRequest EcdsaSecp256k1BlackBoxVault: properties: type: type: string const: ecdsa_secp256k1 title: Type description: ECDSA over the secp256k1 curve signing scheme. type: object required: - type title: EcdsaSecp256k1BlackBoxVault TonJettonAssetIdentifierRequest: properties: type: type: string const: jetton title: Type description: Jetton asset identifier type. jetton: $ref: '#/components/schemas/TonAddressRequest' description: The Jetton details. type: object required: - type - jetton title: TonJettonAssetIdentifierRequest ExportState: type: string enum: - created - in_progress - aborted - ready - error title: ExportState AptosVault: properties: id: type: string format: uuid title: Id description: The unique identifier of the object in the Fordefi platform. created_at: type: string format: date-time title: Created At description: The date and time when the object was created. modified_at: type: string format: date-time title: Modified At description: The date and time when the object was last modified. Any change to any field of the resource is considered a modification. metadata: title: Metadata description: 'Metadata in a form: .' additionalProperties: anyOf: - items: type: string type: array - type: string - type: integer - type: boolean type: object name: type: string title: Name description: The name of the vault. created_by: $ref: '#/components/schemas/UserRef' description: Details of the vault creator. vault_group: description: The vault group this vault belongs to. deprecated: true $ref: '#/components/schemas/VaultGroupRef' vault_groups: items: $ref: '#/components/schemas/VaultGroupRef' type: array title: Vault Groups description: The vault groups this vault belongs to. skip_indexing_reason: description: Reason why the vault is not being indexed. $ref: '#/components/schemas/SkipIndexingReason' is_external_signer: type: boolean title: Is External Signer description: Whether the vault uses an externally imported key (external signer). default: false native_assets: title: Native Assets description: List of native asset information for requested chains. Chain info is in asset_identifier. items: $ref: '#/components/schemas/OwnedAsset' type: array derivation_path: title: Derivation Path description: The BIP 44 derivation path of the vault. deprecated: true example: m/44/60/0/0/0 type: string public_key_compressed: type: string title: Public Key Compressed description: 'The public key of the vault in its compressed form:
  • For ECDSA and Schnorr keys, the public key is represented as 33 bytes (0x02 or 0x03 followed by the x-coordinate) according to the [SEC1 standard](https://www.secg.org/SEC1-Ver-1.0.pdf).
  • For EdDSA, the public key is represented as a 32-byte value, as defined by [RFC 8032](https://datatracker.ietf.org/doc/html/rfc8032).
' example: SGVsbG8= derivation_info: $ref: '#/components/schemas/VaultDerivationInfo' description: The derivation info of the vault. key_holder: description: The user who owns the keyset of the vault. If not provided, the vault is owned by the organization. $ref: '#/components/schemas/EndUserRef' origin_type: $ref: '#/components/schemas/VaultOriginType' description: The origin type of the vault. state: $ref: '#/components/schemas/MpcVaultState' description: New state of the vault. type: type: string const: aptos title: Type description: Aptos vault type. address: type: string maxLength: 66 minLength: 66 pattern: ^0[xX][a-fA-F0-9]+$ title: Address description: The address of the vault on Aptos chain types. example: '0x3300c18e7b931bdfc73dccf3e2d043ad1c9d120c777fff5aeeb9956224e5247a' type: object required: - id - created_at - modified_at - name - created_by - vault_groups - are_all_chains_disabled - derivation_path - public_key_compressed - derivation_info - origin_type - state - type - address title: AptosVault description: Represents an Aptos vault in the Fordefi platform VaultDerivationInfo: properties: derivation_path: type: string pattern: ^(m/44/[0-9]+/[0-9]+/[0-9]+/[0-9]+|m)$ title: Derivation Path description: The BIP 44 derivation path of the vault. example: m/44/60/0/0/0 master_public_key: $ref: '#/components/schemas/MasterPublicKey' description: The public key of the vault. type: object required: - derivation_path - master_public_key title: VaultDerivationInfo SolanaChainUniqueId: type: string enum: - solana_mainnet - solana_devnet - solana_eclipse_mainnet - solana_fogo_mainnet - solana_fogo_testnet title: SolanaChainUniqueId UtxoAddressBalance: properties: address: $ref: '#/components/schemas/UtxoAddress' description: The address of the vault on the utxo chain. balances: $ref: '#/components/schemas/Balances' description: The balances of the address. priced_asset: $ref: '#/components/schemas/PricedAsset' description: The priced asset of the address. type: object required: - address - balances - priced_asset title: UtxoAddressBalance CreateSafeVaultRequest: properties: name: type: string minLength: 1 title: Name description: The name of the vault. end_user_id: title: End User Id description: The end user id to create a vault for.This field is required for end-user vault creation, otherwise, it's optional. If not provided, the organization's default keyset will be used. type: string format: uuid vault_group_id: title: Vault Group Id description: The group to add this vault to. If not provided, the vault will be created in the Default vault group. type: string format: uuid type: type: string const: safe title: Type description: Safe vault type. address: type: string pattern: ^0x[a-fA-F0-9]{40}$ title: Address description: The address of the Safe multisig wallet to import. type: object required: - name - type - address title: CreateSafeVaultRequest description: Request to create a Safe vault via POST /api/v1/vaults. VaultRef: properties: id: type: string format: uuid title: Id description: The unique identifier of the vault in the Fordefi platform. vault_group_id: title: Vault Group Id description: The unique identifier of the vault group this vault belongs to. deprecated: true type: string format: uuid vault_group_ids: items: type: string format: uuid type: array title: Vault Group Ids description: The unique identifiers of the vault groups this vault belongs to. name: type: string title: Name description: The name of the vault. address: title: Address description: The address of the vault. type: string state: $ref: '#/components/schemas/VaultState' description: The state of the vault. type: $ref: '#/components/schemas/VaultType' description: The vault type. logo_url: title: Logo Url description: The logo of the vault. Supported for exchange and Safe vaults. type: string maxLength: 2083 minLength: 1 format: uri end_user: description: The end user that owns this vault if it is in a Consumer Wallet organization. `None` otherwise. $ref: '#/components/schemas/EndUserRef' is_external_signer: type: boolean title: Is External Signer description: Whether the vault uses an externally imported key (external signer). default: false type: object required: - id - vault_group_ids - name - state - type title: VaultRef description: Represents a reference to a vault in the Fordefi platform StacksVault: properties: id: type: string format: uuid title: Id description: The unique identifier of the object in the Fordefi platform. created_at: type: string format: date-time title: Created At description: The date and time when the object was created. modified_at: type: string format: date-time title: Modified At description: The date and time when the object was last modified. Any change to any field of the resource is considered a modification. metadata: title: Metadata description: 'Metadata in a form: .' additionalProperties: anyOf: - items: type: string type: array - type: string - type: integer - type: boolean type: object name: type: string title: Name description: The name of the vault. created_by: $ref: '#/components/schemas/UserRef' description: Details of the vault creator. vault_group: description: The vault group this vault belongs to. deprecated: true $ref: '#/components/schemas/VaultGroupRef' vault_groups: items: $ref: '#/components/schemas/VaultGroupRef' type: array title: Vault Groups description: The vault groups this vault belongs to. skip_indexing_reason: description: Reason why the vault is not being indexed. $ref: '#/components/schemas/SkipIndexingReason' is_external_signer: type: boolean title: Is External Signer description: Whether the vault uses an externally imported key (external signer). default: false native_assets: title: Native Assets description: List of native asset information for requested chains. Chain info is in asset_identifier. items: $ref: '#/components/schemas/OwnedAsset' type: array derivation_path: title: Derivation Path description: The BIP 44 derivation path of the vault. deprecated: true example: m/44/60/0/0/0 type: string public_key_compressed: type: string title: Public Key Compressed description: 'The public key of the vault in its compressed form:
  • For ECDSA and Schnorr keys, the public key is represented as 33 bytes (0x02 or 0x03 followed by the x-coordinate) according to the [SEC1 standard](https://www.secg.org/SEC1-Ver-1.0.pdf).
  • For EdDSA, the public key is represented as a 32-byte value, as defined by [RFC 8032](https://datatracker.ietf.org/doc/html/rfc8032).
' example: SGVsbG8= derivation_info: $ref: '#/components/schemas/VaultDerivationInfo' description: The derivation info of the vault. key_holder: description: The user who owns the keyset of the vault. If not provided, the vault is owned by the organization. $ref: '#/components/schemas/EndUserRef' origin_type: $ref: '#/components/schemas/VaultOriginType' description: The origin type of the vault. state: $ref: '#/components/schemas/MpcVaultState' description: New state of the vault. type: type: string const: stacks title: Type description: Stacks vault type. address: type: string maxLength: 171 pattern: ^S[0-9A-Za-z._-]+$ title: Address description: The address of the vault on Stacks chain types. example: SP3J4NWQXC312DK0GXVRZKSRFBZG8S5FG1D2160E9 type: object required: - id - created_at - modified_at - name - created_by - vault_groups - are_all_chains_disabled - derivation_path - public_key_compressed - derivation_info - origin_type - state - type - address title: StacksVault description: Represents a Stacks vault in the Fordefi platform ChainSource: type: string enum: - default - custom title: ChainSource CosmosAssetIdentifier: properties: type: type: string const: cosmos title: Type description: Cosmos asset identifier type. details: oneOf: - $ref: '#/components/schemas/CosmosNativeAssetIdentifierRequest' - $ref: '#/components/schemas/CosmosTokenAssetIdentifierRequest' discriminator: propertyName: type mapping: native: '#/components/schemas/CosmosNativeAssetIdentifierRequest' token: '#/components/schemas/CosmosTokenAssetIdentifierRequest' chain: $ref: '#/components/schemas/EnrichedCosmosChain' type: object required: - type - details - chain title: CosmosAssetIdentifier CreateVaultErrorType: type: string enum: - vault_type_not_supported - max_vaults_reached - mpc_key_is_missing - keyset_is_missing - keyset_not_ready - vault_creation_lock_failed title: CreateVaultErrorType UtxoChain: properties: chain_type: type: string const: utxo title: Chain Type description: The type of the chain. unique_id: $ref: '#/components/schemas/UtxoChainUniqueId' description: The UTXO chain unique ID. type: object required: - chain_type - unique_id title: UtxoChain EnrichedEvmChain: properties: chain_type: type: string const: evm title: Chain Type description: The type of the chain. named_chain_id: title: EvmChainName description: The EVM chain name can be either one of those supported by the default chains below or a custom chain name if one was added to your organization.
  • `arbitrum_mainnet`
  • `arbitrum_sepolia`
  • `aster_mainnet`
  • `avalanche_chain`
  • `avalanche_fuji`
  • `base_mainnet`
  • `berachain_mainnet`
  • `blast_mainnet`
  • `bsc_mainnet`
  • `canto_mainnet`
  • `clink_mainnet`
  • `clink_testnet`
  • `conflux_mainnet`
  • `dymension_mainnet`
  • `ethereum_goerli`
  • `ethereum_holesky`
  • `ethereum_mainnet`
  • `ethereum_sepolia`
  • `fantom_mainnet`
  • `flare_mainnet`
  • `flare_testnet`
  • `gnosis_mainnet`
  • `hypercore_mainnet`
  • `hyperevm_mainnet`
  • `ink_mainnet`
  • `kava_mainnet`
  • `katana_mainnet`
  • `linea_mainnet`
  • `optimism_mainnet`
  • `pharos_mainnet`
  • `plasma_mainnet`
  • `manta_pacific_mainnet`
  • `mantle_mainnet`
  • `merlin_mainnet`
  • `monad_mainnet`
  • `polygon_mainnet`
  • `polygon_mumbai`
  • `polygon_zkevm_mainnet`
  • `reya_mainnet`
  • `robinhood_mainnet`
  • `rootstock_mainnet`
  • `scroll_mainnet`
  • `sei_mainnet`
  • `sonic_mainnet`
  • `tempo_mainnet`
  • `unichain_mainnet`
  • `xai_mainnet`
  • `x_layer_mainnet`
  • `zero_gravity_mainnet`
  • `zeta_mainnet`
  • `zklink_nova_mainnet`
  • `zksync_era_mainnet`
type: string minLength: 1 chain_id: type: integer minimum: 1.0 title: EvmChainId description: The EVM chain ID can be either one of those supported by the default chains below or a custom chain ID if one was added to your organization.
  • 1=`ethereum_mainnet`
  • 5=`ethereum_goerli`
  • 10=`optimism_mainnet`
  • 14=`flare_mainnet`
  • 16=`flare_testnet`
  • 30=`rootstock_mainnet`
  • 56=`bsc_mainnet`
  • 100=`gnosis_mainnet`
  • 130=`unichain_mainnet`
  • 137=`polygon_mainnet`
  • 143=`monad_mainnet`
  • 146=`sonic_mainnet`
  • 169=`manta_pacific_mainnet`
  • 196=`x_layer_mainnet`
  • 250=`fantom_mainnet`
  • 324=`zksync_era_mainnet`
  • 999=`hyperevm_mainnet`
  • 1030=`conflux_mainnet`
  • 1100=`dymension_mainnet`
  • 1101=`polygon_zkevm_mainnet`
  • 1329=`sei_mainnet`
  • 1337=`hypercore_mainnet`
  • 1666=`aster_mainnet`
  • 1672=`pharos_mainnet`
  • 1729=`reya_mainnet`
  • 2222=`kava_mainnet`
  • 4200=`merlin_mainnet`
  • 4217=`tempo_mainnet`
  • 4663=`robinhood_mainnet`
  • 5000=`mantle_mainnet`
  • 7000=`zeta_mainnet`
  • 7700=`canto_mainnet`
  • 8453=`base_mainnet`
  • 8818=`clink_mainnet`
  • 8819=`clink_testnet`
  • 9745=`plasma_mainnet`
  • 16661=`zero_gravity_mainnet`
  • 17000=`ethereum_holesky`
  • 80001=`polygon_mumbai`
  • 80094=`berachain_mainnet`
  • 42161=`arbitrum_mainnet`
  • 43113=`avalanche_fuji`
  • 43114=`avalanche_chain`
  • 57073=`ink_mainnet`
  • 59144=`linea_mainnet`
  • 81457=`blast_mainnet`
  • 421614=`arbitrum_sepolia`
  • 534352=`scroll_mainnet`
  • 660279=`xai_mainnet`
  • 747474=`katana_mainnet`
  • 810180=`zklink_nova_mainnet`
  • 11155111=`ethereum_sepolia`
unique_id: type: string minLength: 1 title: EvmChainUniqueId description: The unique EVM chain ID.
Can be either one of those supported by the default chains below or a custom numeric chain ID `evm_` if one was added to your organization.
  • `"evm_1"`
  • `"evm_5"`
  • `"evm_10"`
  • `"evm_14"`
  • `"evm_16"`
  • `"evm_30"`
  • `"evm_56"`
  • `"evm_100"`
  • `"evm_130"`
  • `"evm_137"`
  • `"evm_143"`
  • `"evm_146"`
  • `"evm_169"`
  • `"evm_196"`
  • `"evm_250"`
  • `"evm_324"`
  • `"evm_999"`
  • `"evm_1030"`
  • `"evm_1100"`
  • `"evm_1101"`
  • `"evm_1329"`
  • `"evm_1337"`
  • `"evm_1666"`
  • `"evm_1672"`
  • `"evm_1729"`
  • `"evm_2222"`
  • `"evm_4200"`
  • `"evm_4217"`
  • `"evm_4663"`
  • `"evm_5000"`
  • `"evm_7000"`
  • `"evm_7700"`
  • `"evm_8453"`
  • `"evm_8818"`
  • `"evm_8819"`
  • `"evm_9745"`
  • `"evm_16661"`
  • `"evm_17000"`
  • `"evm_80001"`
  • `"evm_80094"`
  • `"evm_42161"`
  • `"evm_43113"`
  • `"evm_43114"`
  • `"evm_57073"`
  • `"evm_59144"`
  • `"evm_81457"`
  • `"evm_421614"`
  • `"evm_534352"`
  • `"evm_660279"`
  • `"evm_747474"`
  • `"evm_810180"`
  • `"evm_11155111"`
  • `"evm_ethereum_mainnet"`
  • `"evm_ethereum_goerli"`
  • `"evm_optimism_mainnet"`
  • `"evm_flare_mainnet"`
  • `"evm_flare_testnet"`
  • `"evm_rootstock_mainnet"`
  • `"evm_bsc_mainnet"`
  • `"evm_gnosis_mainnet"`
  • `"evm_unichain_mainnet"`
  • `"evm_polygon_mainnet"`
  • `"evm_monad_mainnet"`
  • `"evm_sonic_mainnet"`
  • `"evm_manta_pacific_mainnet"`
  • `"evm_x_layer_mainnet"`
  • `"evm_fantom_mainnet"`
  • `"evm_zksync_era_mainnet"`
  • `"evm_hyperevm_mainnet"`
  • `"evm_conflux_mainnet"`
  • `"evm_dymension_mainnet"`
  • `"evm_polygon_zkevm_mainnet"`
  • `"evm_sei_mainnet"`
  • `"evm_hypercore_mainnet"`
  • `"evm_aster_mainnet"`
  • `"evm_pharos_mainnet"`
  • `"evm_reya_mainnet"`
  • `"evm_kava_mainnet"`
  • `"evm_merlin_mainnet"`
  • `"evm_tempo_mainnet"`
  • `"evm_robinhood_mainnet"`
  • `"evm_mantle_mainnet"`
  • `"evm_zeta_mainnet"`
  • `"evm_canto_mainnet"`
  • `"evm_base_mainnet"`
  • `"evm_clink_mainnet"`
  • `"evm_clink_testnet"`
  • `"evm_plasma_mainnet"`
  • `"evm_zero_gravity_mainnet"`
  • `"evm_ethereum_holesky"`
  • `"evm_polygon_mumbai"`
  • `"evm_berachain_mainnet"`
  • `"evm_arbitrum_mainnet"`
  • `"evm_avalanche_fuji"`
  • `"evm_avalanche_chain"`
  • `"evm_ink_mainnet"`
  • `"evm_linea_mainnet"`
  • `"evm_blast_mainnet"`
  • `"evm_arbitrum_sepolia"`
  • `"evm_scroll_mainnet"`
  • `"evm_xai_mainnet"`
  • `"evm_katana_mainnet"`
  • `"evm_zklink_nova_mainnet"`
  • `"evm_ethereum_sepolia"`
name: type: string minLength: 1 title: Name description: The full blockchain name. native_currency_symbol: type: string minLength: 1 title: Native Currency Symbol description: The native currency symbol. example: ETH native_currency_name: type: string minLength: 1 title: Native Currency Name description: The native currency name. example: Ether blockchain_explorer: $ref: '#/components/schemas/BlockchainExplorer' logo_url: type: string maxLength: 2083 minLength: 1 format: uri title: Logo Url description: The logo URL of the chain. is_testnet: type: boolean title: Is Testnet description: Whether the chain is on a testnet. is_enabled: type: boolean title: Is Enabled description: Whether the chain is enabled. gas_type: $ref: '#/components/schemas/GasType' description: The type of gas used by the chain. supports_secure_node: title: Supports Secure Node description: '`True` if the chain supports secure nodes, `False` otherwise.' deprecated: true type: boolean supports_mev_protected_node: type: boolean title: Supports Mev Protected Node description: '`True` if the chain supports MEV protected nodes, `False` otherwise.' default: false rpc_url: title: Rpc Url description: The URL of the chain's RPC. Exists only for custom chains. type: string source: $ref: '#/components/schemas/ChainSource' description: 'The source of the chain. Can be:
  • `default`: Chains with built-in support on Fordefi''s platform.
  • `custom`: User-added chains with support on Fordefi''s platform.
' supports_7702: type: boolean title: Supports 7702 description: '`True` if the chain supports 7702, `False` otherwise.' default: false type: object required: - chain_type - chain_id - unique_id - name - native_currency_symbol - native_currency_name - logo_url - is_testnet - is_enabled - gas_type - source title: EnrichedEvmChain SuiNativeAssetIdentifierRequest: properties: type: type: string const: native title: Type description: Sui asset identifier type. chain: $ref: '#/components/schemas/SuiChainUniqueId' description: The details of the chain of the native asset. type: object required: - type - chain title: SuiNativeAssetIdentifierRequest UtxoAddress: properties: type: type: string const: utxo title: Type address: type: string maxLength: 74 minLength: 14 title: Address description: The UTXO string address. example: bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq address_type: $ref: '#/components/schemas/UtxoAddressType' description: The type of the address. chain: $ref: '#/components/schemas/UtxoChain' description: The UTXO chain unique ID. type: object required: - type - address - address_type - chain title: UtxoAddress UtxoVault: properties: id: type: string format: uuid title: Id description: The unique identifier of the object in the Fordefi platform. created_at: type: string format: date-time title: Created At description: The date and time when the object was created. modified_at: type: string format: date-time title: Modified At description: The date and time when the object was last modified. Any change to any field of the resource is considered a modification. metadata: title: Metadata description: 'Metadata in a form: .' additionalProperties: anyOf: - items: type: string type: array - type: string - type: integer - type: boolean type: object name: type: string title: Name description: The name of the vault. created_by: $ref: '#/components/schemas/UserRef' description: Details of the vault creator. vault_group: description: The vault group this vault belongs to. deprecated: true $ref: '#/components/schemas/VaultGroupRef' vault_groups: items: $ref: '#/components/schemas/VaultGroupRef' type: array title: Vault Groups description: The vault groups this vault belongs to. skip_indexing_reason: description: Reason why the vault is not being indexed. $ref: '#/components/schemas/SkipIndexingReason' is_external_signer: type: boolean title: Is External Signer description: Whether the vault uses an externally imported key (external signer). default: false native_assets: title: Native Assets description: List of native asset information for requested chains. Chain info is in asset_identifier. items: $ref: '#/components/schemas/OwnedAsset' type: array derivation_path: title: Derivation Path description: The BIP 44 derivation path of the vault. deprecated: true example: m/44/60/0/0/0 type: string public_key_compressed: type: string title: Public Key Compressed description: 'The public key of the vault in its compressed form:
  • For ECDSA and Schnorr keys, the public key is represented as 33 bytes (0x02 or 0x03 followed by the x-coordinate) according to the [SEC1 standard](https://www.secg.org/SEC1-Ver-1.0.pdf).
  • For EdDSA, the public key is represented as a 32-byte value, as defined by [RFC 8032](https://datatracker.ietf.org/doc/html/rfc8032).
' example: SGVsbG8= derivation_info: $ref: '#/components/schemas/VaultDerivationInfo' description: The derivation info of the vault. key_holder: description: The user who owns the keyset of the vault. If not provided, the vault is owned by the organization. $ref: '#/components/schemas/EndUserRef' origin_type: $ref: '#/components/schemas/VaultOriginType' description: The origin type of the vault. state: $ref: '#/components/schemas/MpcVaultState' description: New state of the vault. type: type: string const: utxo title: Type description: UTXO vault type. chain: $ref: '#/components/schemas/EnrichedUtxoChain' description: The UTXO chain. default_address: $ref: '#/components/schemas/UtxoVaultAddress' description: The default address of the vault on the chain. default_next_address_name: type: string title: Default Next Address Name description: The default name of the next address to be created. taproot_key_public_compressed: title: Taproot Key Public Compressed description: 'The compressed public key of the second key (taproot key for UTXO vault). As defined in the SEC1 standard: https://www.secg.org/SEC1-Ver-1.0.pdf.' type: string example: SGVsbG8= taproot_key_derivation_info: description: The derivation info of the second key (taproot key for UTXO vault). $ref: '#/components/schemas/VaultDerivationInfo' type: object required: - id - created_at - modified_at - name - created_by - vault_groups - are_all_chains_disabled - derivation_path - public_key_compressed - derivation_info - origin_type - state - type - chain - default_address - default_next_address_name title: UtxoVault description: Represents a Utxo vault in the Fordefi platform UserState: type: string enum: - active - onboarding_pending_code_generation - onboarding_pending_activation - reset_device_pending_code_generation - reset_device_pending_activation - pending_approval - deleted title: UserState CreateBlackBoxVaultRequest: properties: name: type: string minLength: 1 title: Name description: The name of the vault. end_user_id: title: End User Id description: The end user id to create a vault for.This field is required for end-user vault creation, otherwise, it's optional. If not provided, the organization's default keyset will be used. type: string format: uuid vault_group_id: title: Vault Group Id description: The group to add this vault to. If not provided, the vault will be created in the Default vault group. type: string format: uuid import_options: description: 'Import options: use for organizations with imported keys, to create a vault from an external public key and chain code.' oneOf: - $ref: '#/components/schemas/ImportVaultDefaultOptions' - $ref: '#/components/schemas/ExternalVaultImportOptions' discriminator: propertyName: origin mapping: external_signer: '#/components/schemas/ExternalVaultImportOptions' imported_keys: '#/components/schemas/ImportVaultDefaultOptions' import_vault: description: 'Additional information when creating a vault from an imported key. This field is relevant only for organizations using imported keys. Deprecated: use import_options with origin=imported_keys instead.' $ref: '#/components/schemas/ImportVaultDefaultOptions' type: type: string const: black_box title: Type description: Black Box vault type. key_type: type: string enum: - ecdsa_stark - ecdsa_secp256k1 - eddsa_ed25519 - schnorr_secp256k1 title: Key Type description: 'The key type of the signing scheme used by the vault. Can be:
  • `ecdsa_stark`
  • `ecdsa_secp256k1`
  • `eddsa_ed25519`
  • `schnorr_secp256k1`
' type: object required: - name - type - key_type title: CreateBlackBoxVaultRequest ArchAplTokenAssetIdentifierRequest: properties: type: type: string const: apl_token title: Type description: APL token asset identifier type. token: $ref: '#/components/schemas/ArchAddressRequest' description: The APL token details. type: object required: - type - token title: ArchAplTokenAssetIdentifierRequest ArchChainUniqueId: type: string enum: - arch_mainnet - arch_testnet title: ArchChainUniqueId CantonChainUniqueId: type: string enum: - canton_mainnet title: CantonChainUniqueId PricedAsset: properties: type: type: string const: asset_price title: Type asset_info: $ref: '#/components/schemas/AssetInfo' description: The asset info. price: description: The price of the asset (if it exists in the system). $ref: '#/components/schemas/Price' type: object required: - type - asset_info title: PricedAsset BoundCount: properties: count: type: integer minimum: 0.0 title: Count description: The number of items in the bound count. has_more: type: boolean title: Has More description: Whether there are more items in the bound count. type: object required: - count - has_more title: BoundCount description: BoundCount represents a bound count of items. StellarClassicAssetIdentifierRequest: properties: type: type: string const: classic_asset title: Type description: Stellar asset identifier type. code: type: string maxLength: 12 minLength: 1 pattern: ^[A-Za-z0-9]{1,12}$ title: Code description: The 1-4 character asset code. issuer: $ref: '#/components/schemas/StellarAddressRequest' description: The issuer address. chain: $ref: '#/components/schemas/StellarChainUniqueId' description: The chain of the Classic Asset. type: object required: - type - code - issuer - chain title: StellarClassicAssetIdentifierRequest StellarSorobanAssetIdentifierRequest: properties: type: type: string const: soroban_asset title: Type description: Stellar asset identifier type. address: type: string maxLength: 56 minLength: 56 pattern: ^[GCL][A-Z2-7]{55}$ title: Address description: The Soroban asset address. example: GBRPYHIL2CI3FNQ4BXLFMNDLFJHO7W3B6FSHLTAVM2A4P45SHO4ZB7I2 chain: $ref: '#/components/schemas/StellarChainUniqueId' description: The chain of the Soroban asset. type: object required: - type - address - chain title: StellarSorobanAssetIdentifierRequest TronVaultEnergyAndBandwidthData: properties: energy_used: type: integer title: Energy Used description: The amount of energy used by the vault. energy_limit: type: integer title: Energy Limit description: The energy limit of the vault. bandwidth_used: type: integer title: Bandwidth Used description: The amount of bandwidth used by the vault. bandwidth_limit: type: integer title: Bandwidth Limit description: The bandwidth limit of the vault. type: object required: - energy_used - energy_limit - bandwidth_used - bandwidth_limit title: TronVaultEnergyAndBandwidthData description: Represents the energy and bandwidth data of a TRON vault SystemUserRef: properties: id: type: string format: uuid title: Id description: The unique identifier of the user in the Fordefi platform. user_type: type: string const: system title: User Type description: The type of the user. name: type: string title: Name description: The name is Fordefi CARE type: object required: - id - user_type - name title: SystemUserRef TronNativeAssetIdentifierRequest: properties: type: type: string const: native title: Type description: TRON asset identifier type. chain: $ref: '#/components/schemas/TronChainUniqueId' description: The details of the chain of the native asset. type: object required: - type - chain title: TronNativeAssetIdentifierRequest CreateVaultRequest: oneOf: - $ref: '#/components/schemas/CreateAptosVaultRequest' - $ref: '#/components/schemas/CreateArchVaultRequest' - $ref: '#/components/schemas/CreateBlackBoxVaultRequest' - $ref: '#/components/schemas/CreateCantonVaultRequest' - $ref: '#/components/schemas/CreateCosmosVaultRequest' - $ref: '#/components/schemas/CreateEvmVaultRequest' - $ref: '#/components/schemas/CreateSafeVaultRequest' - $ref: '#/components/schemas/CreateSolanaVaultRequest' - $ref: '#/components/schemas/CreateStacksVaultRequest' - $ref: '#/components/schemas/CreateStarknetVaultRequest' - $ref: '#/components/schemas/CreateStellarVaultRequest' - $ref: '#/components/schemas/CreateSuiVaultRequest' - $ref: '#/components/schemas/CreateTonVaultRequest' - $ref: '#/components/schemas/CreateTronVaultRequest' - $ref: '#/components/schemas/CreateUtxoVaultRequest' discriminator: propertyName: type mapping: aptos: '#/components/schemas/CreateAptosVaultRequest' arch: '#/components/schemas/CreateArchVaultRequest' black_box: '#/components/schemas/CreateBlackBoxVaultRequest' canton: '#/components/schemas/CreateCantonVaultRequest' cosmos: '#/components/schemas/CreateCosmosVaultRequest' evm: '#/components/schemas/CreateEvmVaultRequest' safe: '#/components/schemas/CreateSafeVaultRequest' solana: '#/components/schemas/CreateSolanaVaultRequest' stacks: '#/components/schemas/CreateStacksVaultRequest' starknet: '#/components/schemas/CreateStarknetVaultRequest' stellar: '#/components/schemas/CreateStellarVaultRequest' sui: '#/components/schemas/CreateSuiVaultRequest' ton: '#/components/schemas/CreateTonVaultRequest' tron: '#/components/schemas/CreateTronVaultRequest' utxo: '#/components/schemas/CreateUtxoVaultRequest' StellarAssetIdentifier: properties: type: type: string const: stellar title: Type description: Stellar asset identifier type. details: oneOf: - $ref: '#/components/schemas/StellarNativeAssetIdentifierRequest' - $ref: '#/components/schemas/StellarClassicAssetIdentifierRequest' - $ref: '#/components/schemas/StellarSorobanAssetIdentifierRequest' discriminator: propertyName: type mapping: classic_asset: '#/components/schemas/StellarClassicAssetIdentifierRequest' native: '#/components/schemas/StellarNativeAssetIdentifierRequest' soroban_asset: '#/components/schemas/StellarSorobanAssetIdentifierRequest' chain: $ref: '#/components/schemas/EnrichedStellarChain' type: object required: - type - details - chain title: StellarAssetIdentifier Price: properties: price: title: Price description: The price in the given fiat currency. deprecated: true type: string pattern: ^\d+$ example: '1000000000000000000' price_float: type: string pattern: ^\d+(\.\d+)?$ title: Price Float description: The absolute price in the given fiat currency. When is_negative is true the asset's value is the negative of this (e.g. a debt token). example: '1000000000000000000' is_negative: type: boolean title: Is Negative description: Whether the asset's value is negative (e.g. a debt token). price_float holds the absolute value. default: false fiat_currency: $ref: '#/components/schemas/FiatCurrency' type: object required: - price - price_float - fiat_currency title: Price description: Price represents a price in a given FiatCurrency. DefinedPreconditionError_CreateVaultAddressErrorType_: properties: title: type: string title: Title description: Human-readable error message. detail: type: string title: Detail description: Detailed error message. full_detail: title: Full Detail description: Full error message with additional details, if available. type: string request_id: title: Request Id description: Request ID - for debugging purposes. type: string system_error_code: title: System Error Code description: An additional system error code in Fordefi. type: string error_type: $ref: '#/components/schemas/CreateVaultAddressErrorType' type: object required: - title - detail title: DefinedPreconditionError[CreateVaultAddressErrorType] BlockchainExplorer: properties: transaction_url: type: string maxLength: 2083 minLength: 1 format: uri title: Transaction Url example: https://etherscan.io/tx/ address_url: type: string maxLength: 2083 minLength: 1 format: uri title: Address Url example: https://etherscan.io/address/ root_url: type: string maxLength: 2083 minLength: 1 format: uri title: Root Url example: https://etherscan.io/ transaction_format_url: title: Transaction Format Url example: https://etherscan.io/tx/%s type: string maxLength: 2083 minLength: 1 format: uri address_format_url: title: Address Format Url example: https://etherscan.io/address/%s type: string maxLength: 2083 minLength: 1 format: uri asset_format_url: title: Asset Format Url example: https://etherscan.io/address/%s type: string maxLength: 2083 minLength: 1 format: uri type: object required: - transaction_url - address_url - root_url title: BlockchainExplorer description: A blockchain explorer entry point. ListVaultsResponse: properties: total: type: integer title: Total page: type: integer title: Page size: type: integer title: Size vaults: items: $ref: '#/components/schemas/Vault' type: array title: Vaults type: object required: - total - page - size - vaults title: ListVaultsResponse AssetInfo: properties: id: type: string format: uuid title: Id description: The asset ID. asset_identifier: $ref: '#/components/schemas/AssetIdentifier' description: The asset identifier. name: type: string title: Name description: The name of the asset. symbol: type: string title: Symbol description: The symbol (ticker) of the asset. decimals: type: integer minimum: 0.0 title: Decimals verified: type: boolean title: Verified description: '`True` if this asset is verified by Fordefi, `False` otherwise.' metadata_uri: title: Metadata Uri description: The URI of the asset metadata. type: string is_spam: type: boolean title: Is Spam description: '`True` if this asset is spam, `False` otherwise.' logo_url: title: Logo Url description: The URL of the asset logo. type: string minLength: 1 format: uri explorer_url: title: Explorer Url description: The URL of a blockchain explorer that provides real-time information about the asset. type: string maxLength: 2083 minLength: 1 format: uri type: object required: - id - asset_identifier - name - symbol - decimals - verified - is_spam title: AssetInfo VaultState: type: string enum: - active - archived - deleted - pending - aborted title: VaultState CantonCip56TokenAssetIdentifierRequest: properties: type: type: string const: cip56_token title: Type description: CIP56 token asset identifier type. token: $ref: '#/components/schemas/CantonInstrumentIdRequest' description: The CIP56 token details. type: object required: - type - token title: CantonCip56TokenAssetIdentifierRequest Resource: type: string enum: - user - user_change_proposals - user_group - user_group_change_proposal - vault - vault_address - vault_group - address_group - transaction - batch_transaction - path - keyset - auth_token - access_token - asset - asset_info - vault_derivation_path - blockchain - export - quote - import_keys_request - vault_address_account - exchange_asset_mapping - dapp_group - safe_address - audit_log title: Resource AptosAssetIdentifier: properties: type: type: string const: aptos title: Type description: Aptos asset identifier type. details: oneOf: - $ref: '#/components/schemas/AptosNativeAssetIdentifierRequest' - $ref: '#/components/schemas/AptosCoinAssetIdentifierRequest' - $ref: '#/components/schemas/AptosNewCoinAssetIdentifierRequest' discriminator: propertyName: type mapping: coin: '#/components/schemas/AptosCoinAssetIdentifierRequest' native: '#/components/schemas/AptosNativeAssetIdentifierRequest' new_coin: '#/components/schemas/AptosNewCoinAssetIdentifierRequest' chain: $ref: '#/components/schemas/EnrichedAptosChain' type: object required: - type - details - chain title: AptosAssetIdentifier EvmErc20AssetIdentifierRequest: properties: type: type: string const: erc20 title: Type description: EVM asset identifier type. token: $ref: '#/components/schemas/EvmAddressRequest' description: The ERC-20 token contract. type: object required: - type - token title: EvmErc20AssetIdentifierRequest EvmErc1155AssetIdentifierRequest: properties: type: type: string const: erc1155 title: Type description: EVM asset identifier type. token: $ref: '#/components/schemas/EvmAddressRequest' description: The ERC-1155 token contract. token_id: type: string pattern: ^\d+$ title: Token Id description: The token id of the ERC-1155 token. example: '1000000000000000000' type: object required: - type - token - token_id title: EvmErc1155AssetIdentifierRequest EnrichedCosmosChain: properties: chain_type: type: string const: cosmos title: Chain Type description: The type of the chain. unique_id: $ref: '#/components/schemas/CosmosChainUniqueId' description: The Cosmos chain unique id. name: type: string minLength: 1 title: Name description: The full blockchain name. native_currency_symbol: type: string minLength: 1 title: Native Currency Symbol description: The native currency symbol. example: ETH native_currency_name: type: string minLength: 1 title: Native Currency Name description: The native currency name. example: Ether blockchain_explorer: $ref: '#/components/schemas/BlockchainExplorer' logo_url: type: string maxLength: 2083 minLength: 1 format: uri title: Logo Url description: The logo URL of the chain. is_testnet: type: boolean title: Is Testnet description: Whether the chain is on a testnet. is_enabled: type: boolean title: Is Enabled description: Whether the chain is enabled. base_denom: type: string title: Base Denom description: The base denom of the chain. bech32_prefix: $ref: '#/components/schemas/CosmosBech32Prefix' description: The bech32 prefix for addresses on the chain. type: object required: - chain_type - unique_id - name - native_currency_symbol - native_currency_name - logo_url - is_testnet - is_enabled - base_denom - bech32_prefix title: EnrichedCosmosChain CantonInstrumentIdRequest: properties: address: $ref: '#/components/schemas/CantonAddressRequest' description: The address of the instrument provider. id: type: string title: Id description: The instrument ID within the provider's namespace. type: object required: - address - id title: CantonInstrumentIdRequest description: Instrument ID represents a Canton instrument identifier (address + id). Vault: oneOf: - $ref: '#/components/schemas/AptosVault' - $ref: '#/components/schemas/ArchVault' - $ref: '#/components/schemas/BlackBoxVault' - $ref: '#/components/schemas/CantonVault' - $ref: '#/components/schemas/CosmosVault' - $ref: '#/components/schemas/EvmVault' - $ref: '#/components/schemas/SolanaVault' - $ref: '#/components/schemas/StacksVault' - $ref: '#/components/schemas/StarknetVault' - $ref: '#/components/schemas/StellarVault' - $ref: '#/components/schemas/SuiVault' - $ref: '#/components/schemas/TonVault' - $ref: '#/components/schemas/TronVault' - $ref: '#/components/schemas/UtxoVault' - $ref: '#/components/schemas/ExchangeVault' - $ref: '#/components/schemas/SafeVault' description: Represents a vault in the Fordefi platform discriminator: propertyName: type mapping: aptos: '#/components/schemas/AptosVault' arch: '#/components/schemas/ArchVault' black_box: '#/components/schemas/BlackBoxVault' canton: '#/components/schemas/CantonVault' cosmos: '#/components/schemas/CosmosVault' evm: '#/components/schemas/EvmVault' exchange: '#/components/schemas/ExchangeVault' safe: '#/components/schemas/SafeVault' solana: '#/components/schemas/SolanaVault' stacks: '#/components/schemas/StacksVault' starknet: '#/components/schemas/StarknetVault' stellar: '#/components/schemas/StellarVault' sui: '#/components/schemas/SuiVault' ton: '#/components/schemas/TonVault' tron: '#/components/schemas/TronVault' utxo: '#/components/schemas/UtxoVault' EcdsaStarkBlackBoxVault: properties: type: type: string const: ecdsa_stark title: Type description: ECDSA over the Stark curve signing scheme. public_key: title: Public Key description: The stark public key, represented in hex format. deprecated: true type: string maxLength: 66 pattern: ^0[xX][a-fA-F0-9]+$ example: '0x19c78df8f4ff31e78de58575487ce1eaf19922ad9b8a714e61a441c12e0c8b2' stark_key: type: string maxLength: 66 pattern: ^0[xX][a-fA-F0-9]+$ title: Stark Key description: The stark public key, represented in hex format. example: '0x19c78df8f4ff31e78de58575487ce1eaf19922ad9b8a714e61a441c12e0c8b2' type: object required: - type - stark_key title: EcdsaStarkBlackBoxVault CosmosVault: properties: id: type: string format: uuid title: Id description: The unique identifier of the object in the Fordefi platform. created_at: type: string format: date-time title: Created At description: The date and time when the object was created. modified_at: type: string format: date-time title: Modified At description: The date and time when the object was last modified. Any change to any field of the resource is considered a modification. metadata: title: Metadata description: 'Metadata in a form: .' additionalProperties: anyOf: - items: type: string type: array - type: string - type: integer - type: boolean type: object name: type: string title: Name description: The name of the vault. created_by: $ref: '#/components/schemas/UserRef' description: Details of the vault creator. vault_group: description: The vault group this vault belongs to. deprecated: true $ref: '#/components/schemas/VaultGroupRef' vault_groups: items: $ref: '#/components/schemas/VaultGroupRef' type: array title: Vault Groups description: The vault groups this vault belongs to. skip_indexing_reason: description: Reason why the vault is not being indexed. $ref: '#/components/schemas/SkipIndexingReason' is_external_signer: type: boolean title: Is External Signer description: Whether the vault uses an externally imported key (external signer). default: false native_assets: title: Native Assets description: List of native asset information for requested chains. Chain info is in asset_identifier. items: $ref: '#/components/schemas/OwnedAsset' type: array derivation_path: title: Derivation Path description: The BIP 44 derivation path of the vault. deprecated: true example: m/44/60/0/0/0 type: string public_key_compressed: type: string title: Public Key Compressed description: 'The public key of the vault in its compressed form:
  • For ECDSA and Schnorr keys, the public key is represented as 33 bytes (0x02 or 0x03 followed by the x-coordinate) according to the [SEC1 standard](https://www.secg.org/SEC1-Ver-1.0.pdf).
  • For EdDSA, the public key is represented as a 32-byte value, as defined by [RFC 8032](https://datatracker.ietf.org/doc/html/rfc8032).
' example: SGVsbG8= derivation_info: $ref: '#/components/schemas/VaultDerivationInfo' description: The derivation info of the vault. key_holder: description: The user who owns the keyset of the vault. If not provided, the vault is owned by the organization. $ref: '#/components/schemas/EndUserRef' origin_type: $ref: '#/components/schemas/VaultOriginType' description: The origin type of the vault. state: $ref: '#/components/schemas/MpcVaultState' description: New state of the vault. type: type: string const: cosmos title: Type description: Cosmos vault type. main_address: type: string minLength: 40 pattern: ^[a-fA-F0-9]+$ title: Main Address description: The address of the vault on Cosmos chains (hex representation without chain prefix). example: DBCE78FD2D006A3BAC2C548D93271ABA3D63F01E evm_address: type: string pattern: ^[a-fA-F0-9]+$ title: Evm Address description: The address of the vault on Cosmos chains that uses ethermint public key format, (hex representation without 0x). chains_addresses: items: $ref: '#/components/schemas/CosmosBechAddressEnrichedChain' type: array title: Chains Addresses description: List of addresses of the vault on each chain (bech32 format) with chain info. type: object required: - id - created_at - modified_at - name - created_by - vault_groups - are_all_chains_disabled - derivation_path - public_key_compressed - derivation_info - origin_type - state - type - main_address - evm_address - chains_addresses title: CosmosVault description: Represents a Cosmos vault in the Fordefi platform CreateCosmosVaultRequest: properties: name: type: string minLength: 1 title: Name description: The name of the vault. end_user_id: title: End User Id description: The end user id to create a vault for.This field is required for end-user vault creation, otherwise, it's optional. If not provided, the organization's default keyset will be used. type: string format: uuid vault_group_id: title: Vault Group Id description: The group to add this vault to. If not provided, the vault will be created in the Default vault group. type: string format: uuid import_options: description: 'Import options: use for organizations with imported keys, to create a vault from an external public key and chain code.' oneOf: - $ref: '#/components/schemas/ImportVaultDefaultOptions' - $ref: '#/components/schemas/ExternalVaultImportOptions' discriminator: propertyName: origin mapping: external_signer: '#/components/schemas/ExternalVaultImportOptions' imported_keys: '#/components/schemas/ImportVaultDefaultOptions' import_vault: description: 'Additional information when creating a vault from an imported key. This field is relevant only for organizations using imported keys. Deprecated: use import_options with origin=imported_keys instead.' $ref: '#/components/schemas/ImportVaultDefaultOptions' type: type: string const: cosmos title: Type description: Cosmos vault type. type: object required: - name - type title: CreateCosmosVaultRequest SolanaAddressRequest: properties: chain: $ref: '#/components/schemas/SolanaChainUniqueId' description: The chain details this address is of. base58_repr: type: string maxLength: 44 minLength: 32 pattern: ^[a-km-zA-HJ-NP-Z1-9]+$ title: Base58 Repr description: Base58 representation of the address in the chain. example: 4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA type: object required: - chain - base58_repr title: SolanaAddressRequest description: Address represents a blockchain address. OwnedAssetsSortableFields: type: string enum: - asset_name_asc - asset_name_desc - chain_identifier_asc - chain_identifier_desc - balance_asc - balance_desc - market_value_asc - market_value_desc - price_asc - price_desc title: OwnedAssetsSortableFields EnrichedArchChain: properties: chain_type: type: string const: arch title: Chain Type description: The type of the chain. unique_id: $ref: '#/components/schemas/ArchChainUniqueId' description: The type of the Arch-based chain. name: type: string minLength: 1 title: Name description: The full blockchain name. native_currency_symbol: type: string minLength: 1 title: Native Currency Symbol description: The native currency symbol. example: ETH native_currency_name: type: string minLength: 1 title: Native Currency Name description: The native currency name. example: Ether blockchain_explorer: $ref: '#/components/schemas/BlockchainExplorer' logo_url: type: string maxLength: 2083 minLength: 1 format: uri title: Logo Url description: The logo URL of the chain. is_testnet: type: boolean title: Is Testnet description: Whether the chain is on a testnet. is_enabled: type: boolean title: Is Enabled description: Whether the chain is enabled. type: object required: - chain_type - unique_id - name - native_currency_symbol - native_currency_name - logo_url - is_testnet - is_enabled title: EnrichedArchChain EnrichedTonChain: properties: chain_type: type: string const: ton title: Chain Type description: The type of the chain. unique_id: $ref: '#/components/schemas/TonChainUniqueId' description: The type of the TON-based chain. name: type: string minLength: 1 title: Name description: The full blockchain name. native_currency_symbol: type: string minLength: 1 title: Native Currency Symbol description: The native currency symbol. example: ETH native_currency_name: type: string minLength: 1 title: Native Currency Name description: The native currency name. example: Ether blockchain_explorer: $ref: '#/components/schemas/BlockchainExplorer' logo_url: type: string maxLength: 2083 minLength: 1 format: uri title: Logo Url description: The logo URL of the chain. is_testnet: type: boolean title: Is Testnet description: Whether the chain is on a testnet. is_enabled: type: boolean title: Is Enabled description: Whether the chain is enabled. type: object required: - chain_type - unique_id - name - native_currency_symbol - native_currency_name - logo_url - is_testnet - is_enabled title: EnrichedTonChain PreconditionFailedError: properties: title: type: string title: Title description: Human-readable error message. detail: type: string title: Detail description: Detailed error message. full_detail: title: Full Detail description: Full error message with additional details, if available. type: string request_id: title: Request Id description: Request ID - for debugging purposes. type: string system_error_code: title: System Error Code description: An additional system error code in Fordefi. type: string type: object required: - title - detail title: PreconditionFailedError SuiVault: properties: id: type: string format: uuid title: Id description: The unique identifier of the object in the Fordefi platform. created_at: type: string format: date-time title: Created At description: The date and time when the object was created. modified_at: type: string format: date-time title: Modified At description: The date and time when the object was last modified. Any change to any field of the resource is considered a modification. metadata: title: Metadata description: 'Metadata in a form: .' additionalProperties: anyOf: - items: type: string type: array - type: string - type: integer - type: boolean type: object name: type: string title: Name description: The name of the vault. created_by: $ref: '#/components/schemas/UserRef' description: Details of the vault creator. vault_group: description: The vault group this vault belongs to. deprecated: true $ref: '#/components/schemas/VaultGroupRef' vault_groups: items: $ref: '#/components/schemas/VaultGroupRef' type: array title: Vault Groups description: The vault groups this vault belongs to. skip_indexing_reason: description: Reason why the vault is not being indexed. $ref: '#/components/schemas/SkipIndexingReason' is_external_signer: type: boolean title: Is External Signer description: Whether the vault uses an externally imported key (external signer). default: false native_assets: title: Native Assets description: List of native asset information for requested chains. Chain info is in asset_identifier. items: $ref: '#/components/schemas/OwnedAsset' type: array derivation_path: title: Derivation Path description: The BIP 44 derivation path of the vault. deprecated: true example: m/44/60/0/0/0 type: string public_key_compressed: type: string title: Public Key Compressed description: 'The public key of the vault in its compressed form:
  • For ECDSA and Schnorr keys, the public key is represented as 33 bytes (0x02 or 0x03 followed by the x-coordinate) according to the [SEC1 standard](https://www.secg.org/SEC1-Ver-1.0.pdf).
  • For EdDSA, the public key is represented as a 32-byte value, as defined by [RFC 8032](https://datatracker.ietf.org/doc/html/rfc8032).
' example: SGVsbG8= derivation_info: $ref: '#/components/schemas/VaultDerivationInfo' description: The derivation info of the vault. key_holder: description: The user who owns the keyset of the vault. If not provided, the vault is owned by the organization. $ref: '#/components/schemas/EndUserRef' origin_type: $ref: '#/components/schemas/VaultOriginType' description: The origin type of the vault. state: $ref: '#/components/schemas/MpcVaultState' description: New state of the vault. type: type: string const: sui title: Type description: Sui vault type. address: type: string maxLength: 66 minLength: 66 pattern: ^0[xX][a-fA-F0-9]+$ title: Address description: The address of the vault on SUI chain types. example: '0x3300c18e7b931bdfc73dccf3e2d043ad1c9d120c777fff5aeeb9956224e5247a' type: object required: - id - created_at - modified_at - name - created_by - vault_groups - are_all_chains_disabled - derivation_path - public_key_compressed - derivation_info - origin_type - state - type - address title: SuiVault description: Represents an SUI vault in the Fordefi platform StacksSip10AssetIdentifierRequest: properties: type: type: string const: sip10 title: Type description: Sip10 asset identifier type. sip10: $ref: '#/components/schemas/StacksAddressRequest' description: The Sip10 details. type: object required: - type - sip10 title: StacksSip10AssetIdentifierRequest CreateStacksVaultRequest: properties: name: type: string minLength: 1 title: Name description: The name of the vault. end_user_id: title: End User Id description: The end user id to create a vault for.This field is required for end-user vault creation, otherwise, it's optional. If not provided, the organization's default keyset will be used. type: string format: uuid vault_group_id: title: Vault Group Id description: The group to add this vault to. If not provided, the vault will be created in the Default vault group. type: string format: uuid type: type: string const: stacks title: Type description: Stacks vault type. type: object required: - name - type title: CreateStacksVaultRequest SolanaAssetIdentifier: properties: type: type: string const: solana title: Type description: Solana asset identifier type. details: oneOf: - $ref: '#/components/schemas/SolanaNativeAssetIdentifierRequest' - $ref: '#/components/schemas/SolanaSplTokenAssetIdentifierRequest' discriminator: propertyName: type mapping: native: '#/components/schemas/SolanaNativeAssetIdentifierRequest' spl_token: '#/components/schemas/SolanaSplTokenAssetIdentifierRequest' chain: $ref: '#/components/schemas/EnrichedSolanaChain' type: object required: - type - details - chain title: SolanaAssetIdentifier CantonAddressRequest: properties: chain: $ref: '#/components/schemas/CantonChainUniqueId' description: The chain details this address is of. account: type: string maxLength: 251 minLength: 70 title: Account description: Party representation of the address in the chain. example: 45b72ac2a9742204e6e5f521781b0648::122028536bd166988ebbb422c7f483bb32d4134127e8c171c9666ce9b518e1dd27cf type: object required: - chain - account title: CantonAddressRequest description: Address represents a blockchain address. CreateUtxoVaultAddressRequest: properties: name: title: Name description: The name of the address. type: string minLength: 1 address_type: $ref: '#/components/schemas/BitcoinVaultCreateAddressType' description: The type of the address. default: segwit import_address: description: Additional information when creating an address from an imported key. This field is relevant only for organizations using imported keys.Imported addresses much be either of type LEGACY or SEGWIT. $ref: '#/components/schemas/ImportVaultAddressOptions' type: object title: CreateUtxoVaultAddressRequest StellarAddressRequest: properties: chain: $ref: '#/components/schemas/StellarChainUniqueId' description: The chain details this address is of. base32_repr: type: string maxLength: 56 minLength: 56 pattern: ^[GCL][A-Z2-7]{55}$ title: Base32 Repr description: Hexadecimal representation of the address in the chain. example: GBRPYHIL2CI3FNQ4BXLFMNDLFJHO7W3B6FSHLTAVM2A4P45SHO4ZB7I2 type: object required: - chain - base32_repr title: StellarAddressRequest description: Address represents a blockchain address. EvmErc721AssetIdentifierRequest: properties: type: type: string const: erc721 title: Type description: EVM asset identifier type. token: $ref: '#/components/schemas/EvmAddressRequest' description: The ERC-721 token contract. token_id: type: string pattern: ^\d+$ title: Token Id description: The token id of the ERC-721 token. example: '1000000000000000000' type: object required: - type - token - token_id title: EvmErc721AssetIdentifierRequest CosmosChainUniqueId: type: string enum: - cosmos_agoric-3 - cosmos_akashnet-2 - cosmos_archway-1 - cosmos_axelar-dojo-1 - cosmos_bbn-1 - cosmos_celestia - cosmos_cosmoshub-4 - cosmos_dydx-mainnet-1 - cosmos_dydx-testnet-4 - cosmos_dymension_1100-1 - cosmos_injective-1 - cosmos_neutron-1 - cosmos_nillion-1 - cosmos_noble-1 - cosmos_osmosis-1 - cosmos_provider - cosmos_ssc-1 - cosmos_pacific-1 - cosmos_stride-1 - cosmos_thorchain-1 - cosmos_mantra-1 title: CosmosChainUniqueId CosmosKeyType: type: string enum: - secp256k1 - ethsecp256k1 title: CosmosKeyType SafeVaultState: type: string enum: - active - pending - aborted title: SafeVaultState UserRef: oneOf: - $ref: '#/components/schemas/PersonRef' - $ref: '#/components/schemas/ApiUserRef' - $ref: '#/components/schemas/ApiSignerRef' - $ref: '#/components/schemas/EndUserRef' - $ref: '#/components/schemas/SystemUserRef' description: Represents a reference to a user in the Fordefi platform discriminator: propertyName: user_type mapping: api_signer: '#/components/schemas/ApiSignerRef' api_user: '#/components/schemas/ApiUserRef' end_user: '#/components/schemas/EndUserRef' person: '#/components/schemas/PersonRef' system: '#/components/schemas/SystemUserRef' ApiUserRef: properties: id: type: string format: uuid title: Id description: The unique identifier of the user in the Fordefi platform. user_type: type: string const: api_user title: User Type description: The type of the user. name: type: string title: Name description: The name of the user. state: type: string enum: - active - deleted title: State description: The state of the user. role: $ref: '#/components/schemas/UserRole' description: The role of the user. type: object required: - id - user_type - name - state - role title: ApiUserRef UtxoAddressType: type: string enum: - legacy - p2sh - segwit - taproot - merkleroot title: UtxoAddressType EnrichedTronChain: properties: chain_type: type: string const: tron title: Chain Type description: The type of the chain. unique_id: $ref: '#/components/schemas/TronChainUniqueId' description: The type of the Tron-based chain. name: type: string minLength: 1 title: Name description: The full blockchain name. native_currency_symbol: type: string minLength: 1 title: Native Currency Symbol description: The native currency symbol. example: ETH native_currency_name: type: string minLength: 1 title: Native Currency Name description: The native currency name. example: Ether blockchain_explorer: $ref: '#/components/schemas/BlockchainExplorer' logo_url: type: string maxLength: 2083 minLength: 1 format: uri title: Logo Url description: The logo URL of the chain. is_testnet: type: boolean title: Is Testnet description: Whether the chain is on a testnet. is_enabled: type: boolean title: Is Enabled description: Whether the chain is enabled. type: object required: - chain_type - unique_id - name - native_currency_symbol - native_currency_name - logo_url - is_testnet - is_enabled title: EnrichedTronChain SuiCoinTypeRequest: properties: chain: $ref: '#/components/schemas/SuiChainUniqueId' description: The chain details this address is of. coin_type_str: type: string title: Coin Type Str description: Coin type string representation. type: object required: - chain - coin_type_str title: SuiCoinTypeRequest description: Coin type represents a blockchain coin type. AptosNewCoinTypeRequest: properties: chain: $ref: '#/components/schemas/AptosChainUniqueId' description: The chain details this address is of. metadata_address: type: string title: Metadata Address description: New coin's metadata address. type: object required: - chain - metadata_address title: AptosNewCoinTypeRequest description: New coin type represents a blockchain new coin type. FiatCurrencySymbol: type: string enum: - usd title: FiatCurrencySymbol description: FiatCurrencySymbol SubAccount: properties: type: type: string const: sub title: Type description: Exchange vault for a sub account. master_vault: $ref: '#/components/schemas/VaultRef' description: Reference to the master vault. sub_account_id: type: string title: Sub Account Id description: The ID of the sub account. sub_account_name: type: string title: Sub Account Name description: The name of the sub account. type: object required: - type - master_vault - sub_account_id - sub_account_name title: SubAccount ExportedResource: type: string enum: - transaction - backup_snapshot - vault title: ExportedResource MasterPublicKey: properties: id: type: string format: uuid title: Id description: The ID of the key. xpub: type: string title: Xpub description: The xpub encoding of the key. For more details, see https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#serialization-format type: object required: - id - xpub title: MasterPublicKey ArchVault: properties: id: type: string format: uuid title: Id description: The unique identifier of the object in the Fordefi platform. created_at: type: string format: date-time title: Created At description: The date and time when the object was created. modified_at: type: string format: date-time title: Modified At description: The date and time when the object was last modified. Any change to any field of the resource is considered a modification. metadata: title: Metadata description: 'Metadata in a form: .' additionalProperties: anyOf: - items: type: string type: array - type: string - type: integer - type: boolean type: object name: type: string title: Name description: The name of the vault. created_by: $ref: '#/components/schemas/UserRef' description: Details of the vault creator. vault_group: description: The vault group this vault belongs to. deprecated: true $ref: '#/components/schemas/VaultGroupRef' vault_groups: items: $ref: '#/components/schemas/VaultGroupRef' type: array title: Vault Groups description: The vault groups this vault belongs to. skip_indexing_reason: description: Reason why the vault is not being indexed. $ref: '#/components/schemas/SkipIndexingReason' is_external_signer: type: boolean title: Is External Signer description: Whether the vault uses an externally imported key (external signer). default: false native_assets: title: Native Assets description: List of native asset information for requested chains. Chain info is in asset_identifier. items: $ref: '#/components/schemas/OwnedAsset' type: array derivation_path: title: Derivation Path description: The BIP 44 derivation path of the vault. deprecated: true example: m/44/60/0/0/0 type: string public_key_compressed: type: string title: Public Key Compressed description: 'The public key of the vault in its compressed form:
  • For ECDSA and Schnorr keys, the public key is represented as 33 bytes (0x02 or 0x03 followed by the x-coordinate) according to the [SEC1 standard](https://www.secg.org/SEC1-Ver-1.0.pdf).
  • For EdDSA, the public key is represented as a 32-byte value, as defined by [RFC 8032](https://datatracker.ietf.org/doc/html/rfc8032).
' example: SGVsbG8= derivation_info: $ref: '#/components/schemas/VaultDerivationInfo' description: The derivation info of the vault. key_holder: description: The user who owns the keyset of the vault. If not provided, the vault is owned by the organization. $ref: '#/components/schemas/EndUserRef' origin_type: $ref: '#/components/schemas/VaultOriginType' description: The origin type of the vault. state: $ref: '#/components/schemas/MpcVaultState' description: New state of the vault. type: type: string const: arch title: Type description: Arch vault type. arch_address: type: string maxLength: 44 minLength: 32 pattern: ^[a-km-zA-HJ-NP-Z1-9]+$ title: Arch Address description: The address of the vault on Arch chain. example: 4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA arch_mainnet_deposit_address: $ref: '#/components/schemas/UtxoAddressBalance' description: The Arch deposit address of the vault on Bitcoin mainnet chain. arch_testnet_deposit_address: $ref: '#/components/schemas/UtxoAddressBalance' description: The Arch deposit address of the vault on Bitcoin testnet chain. bitcoin_mainnet_address: $ref: '#/components/schemas/UtxoAddressBalance' description: The Bitcoin mainnet address of the vault on Bitcoin mainnet chain. bitcoin_testnet_address: $ref: '#/components/schemas/UtxoAddressBalance' description: The Bitcoin testnet address of the vault on Bitcoin testnet chain. type: object required: - id - created_at - modified_at - name - created_by - vault_groups - are_all_chains_disabled - derivation_path - public_key_compressed - derivation_info - origin_type - state - type - arch_address - arch_mainnet_deposit_address - arch_testnet_deposit_address - bitcoin_mainnet_address - bitcoin_testnet_address title: ArchVault description: Represents a Arch vault in the Fordefi platform SubmitUpdateVaultChangeProposalRequest: properties: diff: $ref: '#/components/schemas/UpdateVaultChangeRequestDiff' description: The diff of the update vault change request. type: object required: - diff title: SubmitUpdateVaultChangeProposalRequest CreateStellarVaultRequest: properties: name: type: string minLength: 1 title: Name description: The name of the vault. end_user_id: title: End User Id description: The end user id to create a vault for.This field is required for end-user vault creation, otherwise, it's optional. If not provided, the organization's default keyset will be used. type: string format: uuid vault_group_id: title: Vault Group Id description: The group to add this vault to. If not provided, the vault will be created in the Default vault group. type: string format: uuid import_options: description: 'Import options: use for organizations with imported keys, to create a vault from an external public key and chain code.' oneOf: - $ref: '#/components/schemas/ImportVaultDefaultOptions' - $ref: '#/components/schemas/ExternalVaultImportOptions' discriminator: propertyName: origin mapping: external_signer: '#/components/schemas/ExternalVaultImportOptions' imported_keys: '#/components/schemas/ImportVaultDefaultOptions' import_vault: description: 'Additional information when creating a vault from an imported key. This field is relevant only for organizations using imported keys. Deprecated: use import_options with origin=imported_keys instead.' $ref: '#/components/schemas/ImportVaultDefaultOptions' type: type: string const: stellar title: Type description: Stellar vault type. type: object required: - name - type title: CreateStellarVaultRequest CreateEvmVaultRequest: properties: name: type: string minLength: 1 title: Name description: The name of the vault. end_user_id: title: End User Id description: The end user id to create a vault for.This field is required for end-user vault creation, otherwise, it's optional. If not provided, the organization's default keyset will be used. type: string format: uuid vault_group_id: title: Vault Group Id description: The group to add this vault to. If not provided, the vault will be created in the Default vault group. type: string format: uuid import_options: description: 'Import options: use for organizations with imported keys, to create a vault from an external public key and chain code.' oneOf: - $ref: '#/components/schemas/ImportVaultDefaultOptions' - $ref: '#/components/schemas/ExternalVaultImportOptions' discriminator: propertyName: origin mapping: external_signer: '#/components/schemas/ExternalVaultImportOptions' imported_keys: '#/components/schemas/ImportVaultDefaultOptions' import_vault: description: 'Additional information when creating a vault from an imported key. This field is relevant only for organizations using imported keys. Deprecated: use import_options with origin=imported_keys instead.' $ref: '#/components/schemas/ImportVaultDefaultOptions' type: type: string const: evm title: Type description: EVM vault type. type: object required: - name - type title: CreateEvmVaultRequest TonAssetIdentifier: properties: type: type: string const: ton title: Type description: TON asset identifier type. details: oneOf: - $ref: '#/components/schemas/TonNativeAssetIdentifierRequest' - $ref: '#/components/schemas/TonJettonAssetIdentifierRequest' discriminator: propertyName: type mapping: jetton: '#/components/schemas/TonJettonAssetIdentifierRequest' native: '#/components/schemas/TonNativeAssetIdentifierRequest' chain: $ref: '#/components/schemas/EnrichedTonChain' type: object required: - type - details - chain title: TonAssetIdentifier VaultOriginType: type: string enum: - native - imported title: VaultOriginType ApiSignerRef: properties: id: type: string format: uuid title: Id description: The unique identifier of the user in the Fordefi platform. user_type: type: string const: api_signer title: User Type description: The type of the user. name: type: string title: Name description: The name of the user. state: type: string enum: - active - onboarding_pending_code_generation - onboarding_pending_activation - deleted title: State description: The state of the user. type: object required: - id - user_type - name - state title: ApiSignerRef StarknetNativeAssetIdentifierRequest: properties: type: type: string const: native title: Type description: Starknet asset identifier type. chain: $ref: '#/components/schemas/StarknetChainUniqueId' description: The details of the chain of the native asset. type: object required: - type - chain title: StarknetNativeAssetIdentifierRequest TronVault: properties: id: type: string format: uuid title: Id description: The unique identifier of the object in the Fordefi platform. created_at: type: string format: date-time title: Created At description: The date and time when the object was created. modified_at: type: string format: date-time title: Modified At description: The date and time when the object was last modified. Any change to any field of the resource is considered a modification. metadata: title: Metadata description: 'Metadata in a form: .' additionalProperties: anyOf: - items: type: string type: array - type: string - type: integer - type: boolean type: object name: type: string title: Name description: The name of the vault. created_by: $ref: '#/components/schemas/UserRef' description: Details of the vault creator. vault_group: description: The vault group this vault belongs to. deprecated: true $ref: '#/components/schemas/VaultGroupRef' vault_groups: items: $ref: '#/components/schemas/VaultGroupRef' type: array title: Vault Groups description: The vault groups this vault belongs to. skip_indexing_reason: description: Reason why the vault is not being indexed. $ref: '#/components/schemas/SkipIndexingReason' is_external_signer: type: boolean title: Is External Signer description: Whether the vault uses an externally imported key (external signer). default: false native_assets: title: Native Assets description: List of native asset information for requested chains. Chain info is in asset_identifier. items: $ref: '#/components/schemas/OwnedAsset' type: array derivation_path: title: Derivation Path description: The BIP 44 derivation path of the vault. deprecated: true example: m/44/60/0/0/0 type: string public_key_compressed: type: string title: Public Key Compressed description: 'The public key of the vault in its compressed form:
  • For ECDSA and Schnorr keys, the public key is represented as 33 bytes (0x02 or 0x03 followed by the x-coordinate) according to the [SEC1 standard](https://www.secg.org/SEC1-Ver-1.0.pdf).
  • For EdDSA, the public key is represented as a 32-byte value, as defined by [RFC 8032](https://datatracker.ietf.org/doc/html/rfc8032).
' example: SGVsbG8= derivation_info: $ref: '#/components/schemas/VaultDerivationInfo' description: The derivation info of the vault. key_holder: description: The user who owns the keyset of the vault. If not provided, the vault is owned by the organization. $ref: '#/components/schemas/EndUserRef' origin_type: $ref: '#/components/schemas/VaultOriginType' description: The origin type of the vault. state: $ref: '#/components/schemas/MpcVaultState' description: New state of the vault. type: type: string const: tron title: Type description: TRON vault type. address: type: string maxLength: 34 minLength: 34 pattern: ^T[a-km-zA-HJ-NP-Z1-9]+$ title: Address description: The address of the vault on TRON chain types. example: TJCnKsPa7y5okkXvQAidZBzqx3QyQ6sxMW energy_and_bandwidth_data_map: additionalProperties: $ref: '#/components/schemas/TronVaultEnergyAndBandwidthData' type: object title: Energy And Bandwidth Data Map description: Resource usage tracking per chain type map. Key is the chain type (for example, MAINNET). type: object required: - id - created_at - modified_at - name - created_by - vault_groups - are_all_chains_disabled - derivation_path - public_key_compressed - derivation_info - origin_type - state - type - address - energy_and_bandwidth_data_map title: TronVault description: Represents a TRON vault in the Fordefi platform RenameVaultRequest: properties: name: type: string minLength: 1 title: Name description: The new name for the vault. type: object required: - name title: RenameVaultRequest SmartContractState: type: string enum: - enabled - enabling - disabling title: SmartContractState GetVaultResponse: oneOf: - $ref: '#/components/schemas/AptosVault' - $ref: '#/components/schemas/ArchVault' - $ref: '#/components/schemas/BlackBoxVault' - $ref: '#/components/schemas/CantonVault' - $ref: '#/components/schemas/CosmosVault' - $ref: '#/components/schemas/EvmVault' - $ref: '#/components/schemas/SolanaVault' - $ref: '#/components/schemas/StacksVault' - $ref: '#/components/schemas/StarknetVault' - $ref: '#/components/schemas/StellarVault' - $ref: '#/components/schemas/SuiVault' - $ref: '#/components/schemas/TonVault' - $ref: '#/components/schemas/TronVault' - $ref: '#/components/schemas/UtxoVault' - $ref: '#/components/schemas/ExchangeVault' - $ref: '#/components/schemas/SafeVault' discriminator: propertyName: type mapping: aptos: '#/components/schemas/AptosVault' arch: '#/components/schemas/ArchVault' black_box: '#/components/schemas/BlackBoxVault' canton: '#/components/schemas/CantonVault' cosmos: '#/components/schemas/CosmosVault' evm: '#/components/schemas/EvmVault' exchange: '#/components/schemas/ExchangeVault' safe: '#/components/schemas/SafeVault' solana: '#/components/schemas/SolanaVault' stacks: '#/components/schemas/StacksVault' starknet: '#/components/schemas/StarknetVault' stellar: '#/components/schemas/StellarVault' sui: '#/components/schemas/SuiVault' ton: '#/components/schemas/TonVault' tron: '#/components/schemas/TronVault' utxo: '#/components/schemas/UtxoVault' SchnorrSecp256k1BlackBoxValue: properties: type: type: string const: schnorr_secp256k1 title: Type description: Schnorr over the secp256k1 curve signing scheme. type: object required: - type title: SchnorrSecp256k1BlackBoxValue CreateSuiVaultRequest: properties: name: type: string minLength: 1 title: Name description: The name of the vault. end_user_id: title: End User Id description: The end user id to create a vault for.This field is required for end-user vault creation, otherwise, it's optional. If not provided, the organization's default keyset will be used. type: string format: uuid vault_group_id: title: Vault Group Id description: The group to add this vault to. If not provided, the vault will be created in the Default vault group. type: string format: uuid import_options: description: 'Import options: use for organizations with imported keys, to create a vault from an external public key and chain code.' oneOf: - $ref: '#/components/schemas/ImportVaultDefaultOptions' - $ref: '#/components/schemas/ExternalVaultImportOptions' discriminator: propertyName: origin mapping: external_signer: '#/components/schemas/ExternalVaultImportOptions' imported_keys: '#/components/schemas/ImportVaultDefaultOptions' import_vault: description: 'Additional information when creating a vault from an imported key. This field is relevant only for organizations using imported keys. Deprecated: use import_options with origin=imported_keys instead.' $ref: '#/components/schemas/ImportVaultDefaultOptions' type: type: string const: sui title: Type description: Sui vault type. type: object required: - name - type title: CreateSuiVaultRequest StellarVault: properties: id: type: string format: uuid title: Id description: The unique identifier of the object in the Fordefi platform. created_at: type: string format: date-time title: Created At description: The date and time when the object was created. modified_at: type: string format: date-time title: Modified At description: The date and time when the object was last modified. Any change to any field of the resource is considered a modification. metadata: title: Metadata description: 'Metadata in a form: .' additionalProperties: anyOf: - items: type: string type: array - type: string - type: integer - type: boolean type: object name: type: string title: Name description: The name of the vault. created_by: $ref: '#/components/schemas/UserRef' description: Details of the vault creator. vault_group: description: The vault group this vault belongs to. deprecated: true $ref: '#/components/schemas/VaultGroupRef' vault_groups: items: $ref: '#/components/schemas/VaultGroupRef' type: array title: Vault Groups description: The vault groups this vault belongs to. skip_indexing_reason: description: Reason why the vault is not being indexed. $ref: '#/components/schemas/SkipIndexingReason' is_external_signer: type: boolean title: Is External Signer description: Whether the vault uses an externally imported key (external signer). default: false native_assets: title: Native Assets description: List of native asset information for requested chains. Chain info is in asset_identifier. items: $ref: '#/components/schemas/OwnedAsset' type: array derivation_path: title: Derivation Path description: The BIP 44 derivation path of the vault. deprecated: true example: m/44/60/0/0/0 type: string public_key_compressed: type: string title: Public Key Compressed description: 'The public key of the vault in its compressed form:
  • For ECDSA and Schnorr keys, the public key is represented as 33 bytes (0x02 or 0x03 followed by the x-coordinate) according to the [SEC1 standard](https://www.secg.org/SEC1-Ver-1.0.pdf).
  • For EdDSA, the public key is represented as a 32-byte value, as defined by [RFC 8032](https://datatracker.ietf.org/doc/html/rfc8032).
' example: SGVsbG8= derivation_info: $ref: '#/components/schemas/VaultDerivationInfo' description: The derivation info of the vault. key_holder: description: The user who owns the keyset of the vault. If not provided, the vault is owned by the organization. $ref: '#/components/schemas/EndUserRef' origin_type: $ref: '#/components/schemas/VaultOriginType' description: The origin type of the vault. state: $ref: '#/components/schemas/MpcVaultState' description: New state of the vault. type: type: string const: stellar title: Type description: Stellar vault type. address: type: string maxLength: 56 minLength: 56 pattern: ^[GCL][A-Z2-7]{55}$ title: Address description: The address of the vault on Stellar chain types. example: GBRPYHIL2CI3FNQ4BXLFMNDLFJHO7W3B6FSHLTAVM2A4P45SHO4ZB7I2 type: object required: - id - created_at - modified_at - name - created_by - vault_groups - are_all_chains_disabled - derivation_path - public_key_compressed - derivation_info - origin_type - state - type - address title: StellarVault EnrichedExchangeChain: properties: chain_type: type: string const: exchange title: Chain Type description: The type of the chain. unique_id: $ref: '#/components/schemas/ExchangeChainUniqueId' description: The type of the Exchange-based chain. name: type: string minLength: 1 title: Name description: The full blockchain name. native_currency_symbol: type: string minLength: 1 title: Native Currency Symbol description: The native currency symbol. example: ETH native_currency_name: type: string minLength: 1 title: Native Currency Name description: The native currency name. example: Ether blockchain_explorer: $ref: '#/components/schemas/BlockchainExplorer' logo_url: type: string maxLength: 2083 minLength: 1 format: uri title: Logo Url description: The logo URL of the chain. is_testnet: type: boolean title: Is Testnet description: Whether the chain is on a testnet. is_enabled: type: boolean title: Is Enabled description: Whether the chain is enabled. type: object required: - chain_type - unique_id - name - native_currency_symbol - native_currency_name - logo_url - is_testnet - is_enabled title: EnrichedExchangeChain ExchangeVault: properties: id: type: string format: uuid title: Id description: The unique identifier of the object in the Fordefi platform. created_at: type: string format: date-time title: Created At description: The date and time when the object was created. modified_at: type: string format: date-time title: Modified At description: The date and time when the object was last modified. Any change to any field of the resource is considered a modification. metadata: title: Metadata description: 'Metadata in a form: .' additionalProperties: anyOf: - items: type: string type: array - type: string - type: integer - type: boolean type: object name: type: string title: Name description: The name of the vault. created_by: $ref: '#/components/schemas/UserRef' description: Details of the vault creator. vault_group: description: The vault group this vault belongs to. deprecated: true $ref: '#/components/schemas/VaultGroupRef' vault_groups: items: $ref: '#/components/schemas/VaultGroupRef' type: array title: Vault Groups description: The vault groups this vault belongs to. skip_indexing_reason: description: Reason why the vault is not being indexed. $ref: '#/components/schemas/SkipIndexingReason' is_external_signer: type: boolean title: Is External Signer description: Whether the vault uses an externally imported key (external signer). default: false native_assets: title: Native Assets description: List of native asset information for requested chains. Chain info is in asset_identifier. items: $ref: '#/components/schemas/OwnedAsset' type: array type: type: string const: exchange title: Type description: EXCHANGE vault type. exchange_type: $ref: '#/components/schemas/ExchangeType' description: The exchange which holds this account. portfolio: description: The portfolio of the exchange. $ref: '#/components/schemas/ExchangePortfolio' logo_url: type: string maxLength: 2083 minLength: 1 format: uri title: Logo Url description: The logo of the vault. is_balance_data_outdated: type: boolean title: Is Balance Data Outdated description: Whether the balance data is outdated. account: oneOf: - $ref: '#/components/schemas/MasterAccount' - $ref: '#/components/schemas/SubAccount' description: The account details. discriminator: propertyName: type mapping: master: '#/components/schemas/MasterAccount' sub: '#/components/schemas/SubAccount' state: $ref: '#/components/schemas/ExchangeVaultState' description: State of the vault. change_request_id: type: string format: uuid title: Change Request Id description: The ID of the change request. type: object required: - id - created_at - modified_at - name - created_by - vault_groups - are_all_chains_disabled - type - exchange_type - logo_url - is_balance_data_outdated - account - state - change_request_id title: ExchangeVault description: Represents an exchange account vault in the Fordefi platform CantonVault: properties: id: type: string format: uuid title: Id description: The unique identifier of the object in the Fordefi platform. created_at: type: string format: date-time title: Created At description: The date and time when the object was created. modified_at: type: string format: date-time title: Modified At description: The date and time when the object was last modified. Any change to any field of the resource is considered a modification. metadata: title: Metadata description: 'Metadata in a form: .' additionalProperties: anyOf: - items: type: string type: array - type: string - type: integer - type: boolean type: object name: type: string title: Name description: The name of the vault. created_by: $ref: '#/components/schemas/UserRef' description: Details of the vault creator. vault_group: description: The vault group this vault belongs to. deprecated: true $ref: '#/components/schemas/VaultGroupRef' vault_groups: items: $ref: '#/components/schemas/VaultGroupRef' type: array title: Vault Groups description: The vault groups this vault belongs to. skip_indexing_reason: description: Reason why the vault is not being indexed. $ref: '#/components/schemas/SkipIndexingReason' is_external_signer: type: boolean title: Is External Signer description: Whether the vault uses an externally imported key (external signer). default: false native_assets: title: Native Assets description: List of native asset information for requested chains. Chain info is in asset_identifier. items: $ref: '#/components/schemas/OwnedAsset' type: array derivation_path: title: Derivation Path description: The BIP 44 derivation path of the vault. deprecated: true example: m/44/60/0/0/0 type: string public_key_compressed: type: string title: Public Key Compressed description: 'The public key of the vault in its compressed form:
  • For ECDSA and Schnorr keys, the public key is represented as 33 bytes (0x02 or 0x03 followed by the x-coordinate) according to the [SEC1 standard](https://www.secg.org/SEC1-Ver-1.0.pdf).
  • For EdDSA, the public key is represented as a 32-byte value, as defined by [RFC 8032](https://datatracker.ietf.org/doc/html/rfc8032).
' example: SGVsbG8= derivation_info: $ref: '#/components/schemas/VaultDerivationInfo' description: The derivation info of the vault. key_holder: description: The user who owns the keyset of the vault. If not provided, the vault is owned by the organization. $ref: '#/components/schemas/EndUserRef' origin_type: $ref: '#/components/schemas/VaultOriginType' description: The origin type of the vault. state: $ref: '#/components/schemas/MpcVaultState' description: New state of the vault. type: type: string const: canton title: Type description: Canton vault type. address: type: string maxLength: 251 minLength: 70 title: Address description: The address of the vault on Canton chain types. example: 45b72ac2a9742204e6e5f521781b0648::122028536bd166988ebbb422c7f483bb32d4134127e8c171c9666ce9b518e1dd27cf chain_state_map: additionalProperties: $ref: '#/components/schemas/CantonChainStateData' type: object title: Chain State Map description: Map of Canton chain type to state data (registration and approval states). type: object required: - id - created_at - modified_at - name - created_by - vault_groups - are_all_chains_disabled - derivation_path - public_key_compressed - derivation_info - origin_type - state - type - address - chain_state_map title: CantonVault SuiCoinAssetIdentifierRequest: properties: type: type: string const: coin title: Type description: Coin asset identifier type. coin_type: $ref: '#/components/schemas/SuiCoinTypeRequest' description: The Coin details. type: object required: - type - coin_type title: SuiCoinAssetIdentifierRequest ListOwnedAssetsResponse: properties: total: type: integer title: Total page: type: integer title: Page size: type: integer title: Size owned_assets: items: $ref: '#/components/schemas/OwnedAsset' type: array title: Owned Assets type: object required: - total - page - size - owned_assets title: ListOwnedAssetsResponse BitcoinVaultCreateAddressType: type: string enum: - legacy - segwit - taproot title: BitcoinVaultCreateAddressType StacksChainUniqueId: type: string enum: - stacks_mainnet title: StacksChainUniqueId RateLimitError: properties: {} type: object title: RateLimitError CreateSolanaVaultRequest: properties: name: type: string minLength: 1 title: Name description: The name of the vault. end_user_id: title: End User Id description: The end user id to create a vault for.This field is required for end-user vault creation, otherwise, it's optional. If not provided, the organization's default keyset will be used. type: string format: uuid vault_group_id: title: Vault Group Id description: The group to add this vault to. If not provided, the vault will be created in the Default vault group. type: string format: uuid import_options: description: 'Import options: use for organizations with imported keys, to create a vault from an external public key and chain code.' oneOf: - $ref: '#/components/schemas/ImportVaultDefaultOptions' - $ref: '#/components/schemas/ExternalVaultImportOptions' discriminator: propertyName: origin mapping: external_signer: '#/components/schemas/ExternalVaultImportOptions' imported_keys: '#/components/schemas/ImportVaultDefaultOptions' import_vault: description: 'Additional information when creating a vault from an imported key. This field is relevant only for organizations using imported keys. Deprecated: use import_options with origin=imported_keys instead.' $ref: '#/components/schemas/ImportVaultDefaultOptions' type: type: string const: solana title: Type description: Solana vault type. type: object required: - name - type title: CreateSolanaVaultRequest ArchNativeAssetIdentifierRequest: properties: type: type: string const: native title: Type description: Arch asset identifier type. chain: $ref: '#/components/schemas/ArchChainUniqueId' description: The details of the chain of the native asset. type: object required: - type - chain title: ArchNativeAssetIdentifierRequest ImportVaultAddressOptions: properties: derivation_path: type: string pattern: ^(m/44/[0-9]+/[0-9]+/[0-9]+/[0-9]+|m)$ title: Derivation Path description: The BIP-32 derivation path of the address. example: m/44/60/0/0/0 type: object required: - derivation_path title: ImportVaultAddressOptions ResourceError: properties: title: type: string title: Title description: Human-readable error message. detail: type: string title: Detail description: Detailed error message. full_detail: title: Full Detail description: Full error message with additional details, if available. type: string request_id: title: Request Id description: Request ID - for debugging purposes. type: string resource: description: The type of resource. $ref: '#/components/schemas/Resource' type: object required: - title - detail title: ResourceError DefinedPreconditionError_CreateVaultErrorType_: properties: title: type: string title: Title description: Human-readable error message. detail: type: string title: Detail description: Detailed error message. full_detail: title: Full Detail description: Full error message with additional details, if available. type: string request_id: title: Request Id description: Request ID - for debugging purposes. type: string system_error_code: title: System Error Code description: An additional system error code in Fordefi. type: string error_type: $ref: '#/components/schemas/CreateVaultErrorType' type: object required: - title - detail title: DefinedPreconditionError[CreateVaultErrorType] TonAddressRequest: properties: chain: $ref: '#/components/schemas/TonChainUniqueId' description: The chain details this address is of. address: type: string maxLength: 67 pattern: ^[-0-9]+:[A-Fa-f0-9]{64}$ title: Address description: Contract address in a raw format. type: object required: - chain - address title: TonAddressRequest description: Address represents a blockchain address. EnrichedStellarChain: properties: chain_type: type: string const: stellar title: Chain Type description: The type of the chain. unique_id: $ref: '#/components/schemas/StellarChainUniqueId' description: The type of the Stellar chain. name: type: string minLength: 1 title: Name description: The full blockchain name. native_currency_symbol: type: string minLength: 1 title: Native Currency Symbol description: The native currency symbol. example: ETH native_currency_name: type: string minLength: 1 title: Native Currency Name description: The native currency name. example: Ether blockchain_explorer: $ref: '#/components/schemas/BlockchainExplorer' logo_url: type: string maxLength: 2083 minLength: 1 format: uri title: Logo Url description: The logo URL of the chain. is_testnet: type: boolean title: Is Testnet description: Whether the chain is on a testnet. is_enabled: type: boolean title: Is Enabled description: Whether the chain is enabled. type: object required: - chain_type - unique_id - name - native_currency_symbol - native_currency_name - logo_url - is_testnet - is_enabled title: EnrichedStellarChain StarknetAddressRequest: properties: chain: $ref: '#/components/schemas/StarknetChainUniqueId' description: The chain details this address is of. hex_repr: type: string maxLength: 66 minLength: 66 pattern: ^0[xX][a-fA-F0-9]+$ title: Hex Repr description: Hexadecimal representation of the address in the chain. example: '0x0448f450e64B50dDF49e9F95C5b63a15cD21E21a39cA2D45628d9E5B27e5e1D8' type: object required: - chain - hex_repr title: StarknetAddressRequest description: Address represents a blockchain address. EvmAddressRequest: properties: chain: type: string minLength: 1 title: EvmChainUniqueId description: The chain details this address is of. hex_repr: type: string maxLength: 42 minLength: 42 pattern: ^0[xX][a-fA-F0-9]+$ title: Hex Repr description: Hexadecimal representation of the address in the chain. example: '0x71C7656EC7ab88b098defB751B7401B5f6d8976F' type: object required: - chain - hex_repr title: EvmAddressRequest description: Address represents a blockchain address. StacksAddressRequest: properties: chain: $ref: '#/components/schemas/StacksChainUniqueId' description: The chain details this address is of. hex_repr: type: string maxLength: 171 pattern: ^S[0-9A-Za-z._-]+$ title: Hex Repr description: Hexadecimal representation of the address in the chain. example: SP3J4NWQXC312DK0GXVRZKSRFBZG8S5FG1D2160E9 type: object required: - chain - hex_repr title: StacksAddressRequest description: Address represents a blockchain address. AptosNewCoinAssetIdentifierRequest: properties: type: type: string const: new_coin title: Type description: New coin asset identifier type. new_coin_type: $ref: '#/components/schemas/AptosNewCoinTypeRequest' description: The new coin details. type: object required: - type - new_coin_type title: AptosNewCoinAssetIdentifierRequest UtxoChainUniqueId: type: string enum: - bitcoin_mainnet - bitcoin_testnet - bitcoin_testnet_v4 - dogecoin_mainnet - bitcoin_cash_mainnet - pearl_testnet - pearl_mainnet title: UtxoChainUniqueId EvmVault: properties: id: type: string format: uuid title: Id description: The unique identifier of the object in the Fordefi platform. created_at: type: string format: date-time title: Created At description: The date and time when the object was created. modified_at: type: string format: date-time title: Modified At description: The date and time when the object was last modified. Any change to any field of the resource is considered a modification. metadata: title: Metadata description: 'Metadata in a form: .' additionalProperties: anyOf: - items: type: string type: array - type: string - type: integer - type: boolean type: object name: type: string title: Name description: The name of the vault. created_by: $ref: '#/components/schemas/UserRef' description: Details of the vault creator. vault_group: description: The vault group this vault belongs to. deprecated: true $ref: '#/components/schemas/VaultGroupRef' vault_groups: items: $ref: '#/components/schemas/VaultGroupRef' type: array title: Vault Groups description: The vault groups this vault belongs to. skip_indexing_reason: description: Reason why the vault is not being indexed. $ref: '#/components/schemas/SkipIndexingReason' is_external_signer: type: boolean title: Is External Signer description: Whether the vault uses an externally imported key (external signer). default: false native_assets: title: Native Assets description: List of native asset information for requested chains. Chain info is in asset_identifier. items: $ref: '#/components/schemas/OwnedAsset' type: array derivation_path: title: Derivation Path description: The BIP 44 derivation path of the vault. deprecated: true example: m/44/60/0/0/0 type: string public_key_compressed: type: string title: Public Key Compressed description: 'The public key of the vault in its compressed form:
  • For ECDSA and Schnorr keys, the public key is represented as 33 bytes (0x02 or 0x03 followed by the x-coordinate) according to the [SEC1 standard](https://www.secg.org/SEC1-Ver-1.0.pdf).
  • For EdDSA, the public key is represented as a 32-byte value, as defined by [RFC 8032](https://datatracker.ietf.org/doc/html/rfc8032).
' example: SGVsbG8= derivation_info: $ref: '#/components/schemas/VaultDerivationInfo' description: The derivation info of the vault. key_holder: description: The user who owns the keyset of the vault. If not provided, the vault is owned by the organization. $ref: '#/components/schemas/EndUserRef' origin_type: $ref: '#/components/schemas/VaultOriginType' description: The origin type of the vault. state: $ref: '#/components/schemas/MpcVaultState' description: New state of the vault. type: type: string const: evm title: Type description: EVM vault type. address: type: string maxLength: 42 minLength: 42 pattern: ^0[xX][a-fA-F0-9]+$ title: Address description: The address of the vault on EVM chain types. example: '0x71C7656EC7ab88b098defB751B7401B5f6d8976F' smart_contract_states: additionalProperties: $ref: '#/components/schemas/SmartContractState' type: object title: Smart Contract States description: A dictionary of chain IDs to smart contract states. type: object required: - id - created_at - modified_at - name - created_by - vault_groups - are_all_chains_disabled - derivation_path - public_key_compressed - derivation_info - origin_type - state - type - address title: EvmVault description: Represents an EVM vault in the Fordefi platform CantonRegistrationState: type: string enum: - not_registered - in_progress - registered title: CantonRegistrationState ListVaultsSortableFields: type: string enum: - created_at_asc - created_at_desc - name_asc - name_desc - vault_type_asc - vault_type_desc - is_favorite_asc - is_favorite_desc title: ListVaultsSortableFields CreateVaultAddressRequest: $ref: '#/components/schemas/CreateUtxoVaultAddressRequest' title: CreateVaultAddressRequest GetOwnedAssetResponse: $ref: '#/components/schemas/OwnedAsset' title: GetOwnedAssetResponse StarknetVault: properties: id: type: string format: uuid title: Id description: The unique identifier of the object in the Fordefi platform. created_at: type: string format: date-time title: Created At description: The date and time when the object was created. modified_at: type: string format: date-time title: Modified At description: The date and time when the object was last modified. Any change to any field of the resource is considered a modification. metadata: title: Metadata description: 'Metadata in a form: .' additionalProperties: anyOf: - items: type: string type: array - type: string - type: integer - type: boolean type: object name: type: string title: Name description: The name of the vault. created_by: $ref: '#/components/schemas/UserRef' description: Details of the vault creator. vault_group: description: The vault group this vault belongs to. deprecated: true $ref: '#/components/schemas/VaultGroupRef' vault_groups: items: $ref: '#/components/schemas/VaultGroupRef' type: array title: Vault Groups description: The vault groups this vault belongs to. skip_indexing_reason: description: Reason why the vault is not being indexed. $ref: '#/components/schemas/SkipIndexingReason' is_external_signer: type: boolean title: Is External Signer description: Whether the vault uses an externally imported key (external signer). default: false native_assets: title: Native Assets description: List of native asset information for requested chains. Chain info is in asset_identifier. items: $ref: '#/components/schemas/OwnedAsset' type: array derivation_path: title: Derivation Path description: The BIP 44 derivation path of the vault. deprecated: true example: m/44/60/0/0/0 type: string public_key_compressed: type: string title: Public Key Compressed description: 'The public key of the vault in its compressed form:
  • For ECDSA and Schnorr keys, the public key is represented as 33 bytes (0x02 or 0x03 followed by the x-coordinate) according to the [SEC1 standard](https://www.secg.org/SEC1-Ver-1.0.pdf).
  • For EdDSA, the public key is represented as a 32-byte value, as defined by [RFC 8032](https://datatracker.ietf.org/doc/html/rfc8032).
' example: SGVsbG8= derivation_info: $ref: '#/components/schemas/VaultDerivationInfo' description: The derivation info of the vault. key_holder: description: The user who owns the keyset of the vault. If not provided, the vault is owned by the organization. $ref: '#/components/schemas/EndUserRef' origin_type: $ref: '#/components/schemas/VaultOriginType' description: The origin type of the vault. state: $ref: '#/components/schemas/MpcVaultState' description: New state of the vault. type: type: string const: starknet title: Type description: Starknet vault type. address: type: string maxLength: 66 minLength: 66 pattern: ^0[xX][a-fA-F0-9]+$ title: Address description: The address of the vault on Starknet chain types. example: '0x0448f450e64B50dDF49e9F95C5b63a15cD21E21a39cA2D45628d9E5B27e5e1D8' activation_state: $ref: '#/components/schemas/StarknetVaultState' description: State of the vault on the Starknet chain. activating_transaction_id: title: Activating Transaction Id description: The transaction id of the activating transaction. type: string format: uuid type: object required: - id - created_at - modified_at - name - created_by - vault_groups - are_all_chains_disabled - derivation_path - public_key_compressed - derivation_info - origin_type - state - type - address - activation_state title: StarknetVault description: Represents a Starknet vault in the Fordefi platform EnrichedAptosChain: properties: chain_type: type: string const: aptos title: Chain Type description: The type of the chain. unique_id: $ref: '#/components/schemas/AptosChainUniqueId' description: The type of the Aptos-based chain. name: type: string minLength: 1 title: Name description: The full blockchain name. native_currency_symbol: type: string minLength: 1 title: Native Currency Symbol description: The native currency symbol. example: ETH native_currency_name: type: string minLength: 1 title: Native Currency Name description: The native currency name. example: Ether blockchain_explorer: $ref: '#/components/schemas/BlockchainExplorer' logo_url: type: string maxLength: 2083 minLength: 1 format: uri title: Logo Url description: The logo URL of the chain. is_testnet: type: boolean title: Is Testnet description: Whether the chain is on a testnet. is_enabled: type: boolean title: Is Enabled description: Whether the chain is enabled. type: object required: - chain_type - unique_id - name - native_currency_symbol - native_currency_name - logo_url - is_testnet - is_enabled title: EnrichedAptosChain VaultAddressSortableFields: type: string enum: - created_at_asc - created_at_desc - name_asc - name_desc title: VaultAddressSortableFields ArchAddressRequest: properties: chain: $ref: '#/components/schemas/ArchChainUniqueId' description: The chain details this address is of. base58_repr: type: string maxLength: 44 minLength: 32 pattern: ^[a-km-zA-HJ-NP-Z1-9]+$ title: Base58 Repr description: Base58 representation of the address in the chain. example: 4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA type: object required: - chain - base58_repr title: ArchAddressRequest description: Address represents a blockchain address. CosmosBech32Prefix: type: string enum: - agoric - akash - archway - axelar - bbn - celestia - cosmos - dydx - dym - inj - neutron - nillion - noble - osmo - saga - sei - stride - thor - mantra title: CosmosBech32Prefix BlackBoxVault: properties: id: type: string format: uuid title: Id description: The unique identifier of the object in the Fordefi platform. created_at: type: string format: date-time title: Created At description: The date and time when the object was created. modified_at: type: string format: date-time title: Modified At description: The date and time when the object was last modified. Any change to any field of the resource is considered a modification. metadata: title: Metadata description: 'Metadata in a form: .' additionalProperties: anyOf: - items: type: string type: array - type: string - type: integer - type: boolean type: object name: type: string title: Name description: The name of the vault. created_by: $ref: '#/components/schemas/UserRef' description: Details of the vault creator. vault_group: description: The vault group this vault belongs to. deprecated: true $ref: '#/components/schemas/VaultGroupRef' vault_groups: items: $ref: '#/components/schemas/VaultGroupRef' type: array title: Vault Groups description: The vault groups this vault belongs to. skip_indexing_reason: description: Reason why the vault is not being indexed. $ref: '#/components/schemas/SkipIndexingReason' is_external_signer: type: boolean title: Is External Signer description: Whether the vault uses an externally imported key (external signer). default: false native_assets: title: Native Assets description: List of native asset information for requested chains. Chain info is in asset_identifier. items: $ref: '#/components/schemas/OwnedAsset' type: array derivation_path: title: Derivation Path description: The BIP 44 derivation path of the vault. deprecated: true example: m/44/60/0/0/0 type: string public_key_compressed: type: string title: Public Key Compressed description: 'The public key of the vault in its compressed form:
  • For ECDSA and Schnorr keys, the public key is represented as 33 bytes (0x02 or 0x03 followed by the x-coordinate) according to the [SEC1 standard](https://www.secg.org/SEC1-Ver-1.0.pdf).
  • For EdDSA, the public key is represented as a 32-byte value, as defined by [RFC 8032](https://datatracker.ietf.org/doc/html/rfc8032).
' example: SGVsbG8= derivation_info: $ref: '#/components/schemas/VaultDerivationInfo' description: The derivation info of the vault. key_holder: description: The user who owns the keyset of the vault. If not provided, the vault is owned by the organization. $ref: '#/components/schemas/EndUserRef' origin_type: $ref: '#/components/schemas/VaultOriginType' description: The origin type of the vault. state: $ref: '#/components/schemas/MpcVaultState' description: New state of the vault. type: type: string const: black_box title: Type description: Black Box vault type. details: oneOf: - $ref: '#/components/schemas/EcdsaStarkBlackBoxVault' - $ref: '#/components/schemas/EcdsaSecp256k1BlackBoxVault' - $ref: '#/components/schemas/EddsaED25519BlackBoxVault' - $ref: '#/components/schemas/SchnorrSecp256k1BlackBoxValue' discriminator: propertyName: type mapping: ecdsa_secp256k1: '#/components/schemas/EcdsaSecp256k1BlackBoxVault' ecdsa_stark: '#/components/schemas/EcdsaStarkBlackBoxVault' eddsa_ed25519: '#/components/schemas/EddsaED25519BlackBoxVault' schnorr_secp256k1: '#/components/schemas/SchnorrSecp256k1BlackBoxValue' type: object required: - id - created_at - modified_at - name - created_by - vault_groups - are_all_chains_disabled - derivation_path - public_key_compressed - derivation_info - origin_type - state - type - details title: BlackBoxVault description: Represents a Black Box vault in the Fordefi platform AptosCoinTypeRequest: properties: chain: $ref: '#/components/schemas/AptosChainUniqueId' description: The chain details this address is of. coin_type_str: type: string title: Coin Type Str description: Coin type string representation. type: object required: - chain - coin_type_str title: AptosCoinTypeRequest description: Coin type represents a blockchain legacy coin type. CosmosBechAddressEnrichedChain: properties: type: type: string const: cosmos title: Type chain: $ref: '#/components/schemas/CosmosChainUniqueId' description: The Cosmos chain. address: type: string title: Address description: The address as bech32. example: cosmos1tdk0g5d4ry9lq0erejttyufqcvwpqdj6tdql38 hex_repr: title: Hex Repr description: The hex representation of the address. type: string minLength: 40 pattern: ^[a-fA-F0-9]+$ example: DBCE78FD2D006A3BAC2C548D93271ABA3D63F01E key_type: $ref: '#/components/schemas/CosmosKeyType' description: The type of the key that this address is derived from. default: secp256k1 enriched_chain: $ref: '#/components/schemas/EnrichedCosmosChain' description: Enriched chain of the address. type: object required: - type - chain - address - enriched_chain title: CosmosBechAddressEnrichedChain VaultGroupRef: properties: id: type: string format: uuid title: Id description: The unique identifier of the vault group in the Fordefi platform. name: type: string title: Name description: The name of the vault group. vaults_count: $ref: '#/components/schemas/BoundCount' description: The number of vaults in the group. can_current_user_create_or_edit_vaults: type: boolean title: Can Current User Create Or Edit Vaults description: Can the current user create or edit vaults in the group's based on the group permissions type: object required: - id - name - vaults_count - can_current_user_create_or_edit_vaults title: VaultGroupRef description: Represents a reference to a vault group in the Fordefi platform CantonAssetIdentifier: properties: type: type: string const: canton title: Type description: Canton asset identifier type. details: oneOf: - $ref: '#/components/schemas/CantonNativeAssetIdentifierRequest' - $ref: '#/components/schemas/CantonCip56TokenAssetIdentifierRequest' discriminator: propertyName: type mapping: cip56_token: '#/components/schemas/CantonCip56TokenAssetIdentifierRequest' native: '#/components/schemas/CantonNativeAssetIdentifierRequest' chain: $ref: '#/components/schemas/EnrichedCantonChain' type: object required: - type - details - chain title: CantonAssetIdentifier AptosChainUniqueId: type: string enum: - aptos_mainnet - aptos_testnet - aptos_movement_mainnet - aptos_movement_testnet title: AptosChainUniqueId EddsaED25519BlackBoxVault: properties: type: type: string const: eddsa_ed25519 title: Type description: Ed25519 signing scheme. type: object required: - type title: EddsaED25519BlackBoxVault UtxoVaultAddress: properties: id: type: string format: uuid title: Id description: The unique identifier of the object in the Fordefi platform. created_at: type: string format: date-time title: Created At description: The date and time when the object was created. modified_at: type: string format: date-time title: Modified At description: The date and time when the object was last modified. Any change to any field of the resource is considered a modification. vault: $ref: '#/components/schemas/VaultRef' description: The vault this address belongs to. name: type: string title: Name description: The name of the address. balances: description: The balances of the address. deprecated: true $ref: '#/components/schemas/Balances' public_key_compressed: type: string title: Public Key Compressed description: 'The compressed public key of the address. As defined in the SEC1 standard: https://www.secg.org/SEC1-Ver-1.0.pdf.' example: SGVsbG8= derivation_path: type: string title: Derivation Path description: The BIP-32 derivation path of the address. example: m/44/60/0/0/0 type: type: string const: utxo title: Type description: The type of the vault address. address: $ref: '#/components/schemas/UtxoAddress' description: The address on the chain. type: object required: - id - created_at - modified_at - vault - name - public_key_compressed - derivation_path - type - address title: UtxoVaultAddress ExportType: type: string enum: - csv - zip title: ExportType TonChainUniqueId: type: string enum: - ton_mainnet title: TonChainUniqueId StacksNativeAssetIdentifierRequest: properties: type: type: string const: native title: Type description: Stacks asset identifier type. chain: $ref: '#/components/schemas/StacksChainUniqueId' description: The details of the chain of the native asset. type: object required: - type - chain title: StacksNativeAssetIdentifierRequest SkipIndexingReason: type: string enum: - spam title: SkipIndexingReason CantonChainStateData: properties: registration_state: $ref: '#/components/schemas/CantonRegistrationState' description: Registration state of the vault on this Canton chain. activating_transaction_id: title: Activating Transaction Id description: The transaction id of the party allocation transaction activating the vault on this chain. type: string format: uuid type: object required: - registration_state title: CantonChainStateData CosmosTokenAssetIdentifierRequest: properties: type: type: string const: token title: Type description: Token asset identifier type. chain: $ref: '#/components/schemas/CosmosChainUniqueId' description: The unique id of the chain of the asset. denom: type: string title: Denom description: The denom of the asset. type: object required: - type - chain - denom title: CosmosTokenAssetIdentifierRequest CreateVaultAddressResponse: $ref: '#/components/schemas/UtxoVaultAddress' title: CreateVaultAddressResponse CreateUtxoVaultRequest: properties: name: type: string minLength: 1 title: Name description: The name of the vault. end_user_id: title: End User Id description: The end user id to create a vault for.This field is required for end-user vault creation, otherwise, it's optional. If not provided, the organization's default keyset will be used. type: string format: uuid vault_group_id: title: Vault Group Id description: The group to add this vault to. If not provided, the vault will be created in the Default vault group. type: string format: uuid type: type: string const: utxo title: Type description: UTXO vault type. chain: $ref: '#/components/schemas/UtxoChainUniqueId' description: The UTXO chain type. import_options: description: 'Import options: for organizations with imported keys for organizations with external signer keys.' oneOf: - $ref: '#/components/schemas/ImportVaultDefaultOptions' - $ref: '#/components/schemas/ExternalVaultImportOptions' discriminator: propertyName: origin mapping: external_signer: '#/components/schemas/ExternalVaultImportOptions' imported_keys: '#/components/schemas/ImportVaultDefaultOptions' import_vault: description: 'Additional information when creating a vault from an imported key. This field is relevant only for organizations using imported keys. Deprecated: use import_options instead.' $ref: '#/components/schemas/ImportVaultUtxoOptions' type: object required: - name - type - chain title: CreateUtxoVaultRequest GasType: type: string enum: - dynamic - legacy title: GasType StellarChainUniqueId: type: string enum: - stellar_mainnet title: StellarChainUniqueId SafeVault: properties: id: type: string format: uuid title: Id description: The unique identifier of the object in the Fordefi platform. created_at: type: string format: date-time title: Created At description: The date and time when the object was created. modified_at: type: string format: date-time title: Modified At description: The date and time when the object was last modified. Any change to any field of the resource is considered a modification. metadata: title: Metadata description: 'Metadata in a form: .' additionalProperties: anyOf: - items: type: string type: array - type: string - type: integer - type: boolean type: object name: type: string title: Name description: The name of the vault. created_by: $ref: '#/components/schemas/UserRef' description: Details of the vault creator. vault_group: description: The vault group this vault belongs to. deprecated: true $ref: '#/components/schemas/VaultGroupRef' vault_groups: items: $ref: '#/components/schemas/VaultGroupRef' type: array title: Vault Groups description: The vault groups this vault belongs to. skip_indexing_reason: description: Reason why the vault is not being indexed. $ref: '#/components/schemas/SkipIndexingReason' is_external_signer: type: boolean title: Is External Signer description: Whether the vault uses an externally imported key (external signer). default: false native_assets: title: Native Assets description: List of native asset information for requested chains. Chain info is in asset_identifier. items: $ref: '#/components/schemas/OwnedAsset' type: array type: type: string const: safe title: Type description: Safe vault type. address: type: string maxLength: 42 minLength: 42 pattern: ^0[xX][a-fA-F0-9]+$ title: Address description: The address of the Safe multisig wallet. example: '0x71C7656EC7ab88b098defB751B7401B5f6d8976F' logo_url: type: string maxLength: 2083 minLength: 1 format: uri title: Logo Url description: The logo of the Safe vault. state: $ref: '#/components/schemas/SafeVaultState' description: State of the vault. change_request_id: type: string format: uuid title: Change Request Id description: The ID of the change request. type: object required: - id - created_at - modified_at - name - created_by - vault_groups - are_all_chains_disabled - type - address - logo_url - state - change_request_id title: SafeVault description: 'Represents a Safe (Gnosis Safe) vault in the Fordefi platform. Safe vaults are read-only vaults that import existing Safe multisig wallets. They do not have MPC keys and cannot execute transactions.' StellarNativeAssetIdentifierRequest: properties: type: type: string const: native title: Type description: Stellar asset identifier type. chain: $ref: '#/components/schemas/StellarChainUniqueId' description: The chain of the native asset. type: object required: - type - chain title: StellarNativeAssetIdentifierRequest EnrichedStacksChain: properties: chain_type: type: string const: stacks title: Chain Type description: The type of the chain. unique_id: $ref: '#/components/schemas/StacksChainUniqueId' description: The type of the Stacks-based chain. name: type: string minLength: 1 title: Name description: The full blockchain name. native_currency_symbol: type: string minLength: 1 title: Native Currency Symbol description: The native currency symbol. example: ETH native_currency_name: type: string minLength: 1 title: Native Currency Name description: The native currency name. example: Ether blockchain_explorer: $ref: '#/components/schemas/BlockchainExplorer' logo_url: type: string maxLength: 2083 minLength: 1 format: uri title: Logo Url description: The logo URL of the chain. is_testnet: type: boolean title: Is Testnet description: Whether the chain is on a testnet. is_enabled: type: boolean title: Is Enabled description: Whether the chain is enabled. type: object required: - chain_type - unique_id - name - native_currency_symbol - native_currency_name - logo_url - is_testnet - is_enabled title: EnrichedStacksChain AssetIdentifier: oneOf: - $ref: '#/components/schemas/AptosAssetIdentifier' - $ref: '#/components/schemas/ArchAssetIdentifier' - $ref: '#/components/schemas/CantonAssetIdentifier' - $ref: '#/components/schemas/CosmosAssetIdentifier' - $ref: '#/components/schemas/EvmAssetIdentifier' - $ref: '#/components/schemas/ExchangeAssetIdentifier' - $ref: '#/components/schemas/SolanaAssetIdentifier' - $ref: '#/components/schemas/StacksAssetIdentifier' - $ref: '#/components/schemas/StellarAssetIdentifier' - $ref: '#/components/schemas/StarknetAssetIdentifier' - $ref: '#/components/schemas/SuiAssetIdentifier' - $ref: '#/components/schemas/TonAssetIdentifier' - $ref: '#/components/schemas/TronAssetIdentifier' - $ref: '#/components/schemas/UtxoAssetIdentifier' discriminator: propertyName: type mapping: aptos: '#/components/schemas/AptosAssetIdentifier' arch: '#/components/schemas/ArchAssetIdentifier' canton: '#/components/schemas/CantonAssetIdentifier' cosmos: '#/components/schemas/CosmosAssetIdentifier' evm: '#/components/schemas/EvmAssetIdentifier' exchange: '#/components/schemas/ExchangeAssetIdentifier' solana: '#/components/schemas/SolanaAssetIdentifier' stacks: '#/components/schemas/StacksAssetIdentifier' starknet: '#/components/schemas/StarknetAssetIdentifier' stellar: '#/components/schemas/StellarAssetIdentifier' sui: '#/components/schemas/SuiAssetIdentifier' ton: '#/components/schemas/TonAssetIdentifier' tron: '#/components/schemas/TronAssetIdentifier' utxo: '#/components/schemas/UtxoAssetIdentifier' ImportVaultDefaultOptions: properties: origin: type: string const: imported_keys title: Origin description: Discriminator for imported-key vault creation. derivation_path: title: Derivation Path description: The BIP-32 derivation path of the vault. example: m/44/60/0/0/0 type: string pattern: ^(m/44/[0-9]+/[0-9]+/[0-9]+/[0-9]+|m)$ key_id: type: string format: uuid title: Key Id description: The ID of the imported key to use for the vault. type: object required: - origin - key_id title: ImportVaultDefaultOptions FiatCurrency: properties: currency_symbol: $ref: '#/components/schemas/FiatCurrencySymbol' description: The symbol of the fiat currency. decimals: type: integer minimum: 0.0 title: Decimals description: The number of decimals in the fiat currency. type: object required: - currency_symbol - decimals title: FiatCurrency ExchangeType: type: string enum: - binance - bybit - coinbase_international - coinbase_us - okx - kraken title: ExchangeType UserRole: type: string enum: - admin - trader - viewer title: UserRole UtxoAssetIdentifier: properties: type: type: string const: utxo title: Type description: Utxo asset identifier type. details: $ref: '#/components/schemas/UtxoNativeAssetIdentifierRequest' chain: $ref: '#/components/schemas/EnrichedUtxoChain' type: object required: - type - details - chain title: UtxoAssetIdentifier Balances: properties: total_mined: type: string pattern: ^\d+$ title: Total Mined description: The value of all mined assets. example: '1000000000000000000' total_pending_incoming: type: string pattern: ^\d+$ title: Total Pending Incoming description: The value of all pending incoming assets. example: '1000000000000000000' available_mined: type: string pattern: ^\d+$ title: Available Mined description: The value of all available mined assets. Equals to total mined balance minus frozen mined. example: '1000000000000000000' available_pending_incoming: type: string pattern: ^\d+$ title: Available Pending Incoming description: The value of all available pending incoming assets. Equals to total pending incoming minus frozen pending incoming. example: '1000000000000000000' frozen_mined: type: string pattern: ^\d+$ title: Frozen Mined description: The value of all mined frozen assets. example: '1000000000000000000' frozen_pending_incoming: type: string pattern: ^\d+$ title: Frozen Pending Incoming description: The value of all pending incoming frozen assets. example: '1000000000000000000' trustline_limit: title: Trustline Limit description: The trustline limit for Stellar assets. Nil for non-Stellar assets or assets without trustlines. type: string pattern: ^\d+$ example: '1000000000000000000' is_auto_approved: title: Is Auto Approved description: (Canton) True if incoming transfers of this asset are auto-accepted via a pre-approval. type: boolean type: object required: - total_mined - total_pending_incoming - available_mined - available_pending_incoming - frozen_mined - frozen_pending_incoming title: Balances description: The cryptocurrency balances of the asset. AptosNativeAssetIdentifierRequest: properties: type: type: string const: native title: Type description: Aptos asset identifier type. chain: $ref: '#/components/schemas/AptosChainUniqueId' description: The details of the chain of the native asset. type: object required: - type - chain title: AptosNativeAssetIdentifierRequest CreateCantonVaultRequest: properties: name: type: string minLength: 1 title: Name description: The name of the vault. end_user_id: title: End User Id description: The end user id to create a vault for.This field is required for end-user vault creation, otherwise, it's optional. If not provided, the organization's default keyset will be used. type: string format: uuid vault_group_id: title: Vault Group Id description: The group to add this vault to. If not provided, the vault will be created in the Default vault group. type: string format: uuid import_options: description: 'Import options: use for organizations with imported keys, to create a vault from an external public key and chain code.' oneOf: - $ref: '#/components/schemas/ImportVaultDefaultOptions' - $ref: '#/components/schemas/ExternalVaultImportOptions' discriminator: propertyName: origin mapping: external_signer: '#/components/schemas/ExternalVaultImportOptions' imported_keys: '#/components/schemas/ImportVaultDefaultOptions' import_vault: description: 'Additional information when creating a vault from an imported key. This field is relevant only for organizations using imported keys. Deprecated: use import_options with origin=imported_keys instead.' $ref: '#/components/schemas/ImportVaultDefaultOptions' type: type: string const: canton title: Type description: Canton vault type. type: object required: - name - type title: CreateCantonVaultRequest EnrichedCantonChain: properties: chain_type: type: string const: canton title: Chain Type description: The type of the chain. unique_id: $ref: '#/components/schemas/CantonChainUniqueId' description: The type of the Canton chain. name: type: string minLength: 1 title: Name description: The full blockchain name. native_currency_symbol: type: string minLength: 1 title: Native Currency Symbol description: The native currency symbol. example: ETH native_currency_name: type: string minLength: 1 title: Native Currency Name description: The native currency name. example: Ether blockchain_explorer: $ref: '#/components/schemas/BlockchainExplorer' logo_url: type: string maxLength: 2083 minLength: 1 format: uri title: Logo Url description: The logo URL of the chain. is_testnet: type: boolean title: Is Testnet description: Whether the chain is on a testnet. is_enabled: type: boolean title: Is Enabled description: Whether the chain is enabled. type: object required: - chain_type - unique_id - name - native_currency_symbol - native_currency_name - logo_url - is_testnet - is_enabled title: EnrichedCantonChain UpdateVaultChangeRequestDiff: properties: added_vault_group_ids: items: type: string format: uuid type: array title: Added Vault Group Ids description: The vault group ids to add the vault to. removed_vault_group_ids: items: type: string format: uuid type: array title: Removed Vault Group Ids description: The vault group ids to remove the vault from. type: object title: UpdateVaultChangeRequestDiff EvmHyperLiquidAssetIdentifierRequest: properties: type: type: string const: hyperliquid title: Type description: EVM asset identifier type. chain: type: string minLength: 1 title: EvmChainUniqueId description: Currently artificially set to Arbitrum. token_id: type: string title: Token Id description: The token id of the asset on Hyperliquid. index: type: integer title: Index description: The index of the asset on Hyperliquid. type: object required: - type - chain - token_id - index title: EvmHyperLiquidAssetIdentifierRequest EnrichedSuiChain: properties: chain_type: type: string const: sui title: Chain Type description: The type of the chain. unique_id: $ref: '#/components/schemas/SuiChainUniqueId' description: The type of the Sui-based chain. name: type: string minLength: 1 title: Name description: The full blockchain name. native_currency_symbol: type: string minLength: 1 title: Native Currency Symbol description: The native currency symbol. example: ETH native_currency_name: type: string minLength: 1 title: Native Currency Name description: The native currency name. example: Ether blockchain_explorer: $ref: '#/components/schemas/BlockchainExplorer' logo_url: type: string maxLength: 2083 minLength: 1 format: uri title: Logo Url description: The logo URL of the chain. is_testnet: type: boolean title: Is Testnet description: Whether the chain is on a testnet. is_enabled: type: boolean title: Is Enabled description: Whether the chain is enabled. type: object required: - chain_type - unique_id - name - native_currency_symbol - native_currency_name - logo_url - is_testnet - is_enabled title: EnrichedSuiChain BaseError: properties: title: type: string title: Title description: Human-readable error message. detail: type: string title: Detail description: Detailed error message. full_detail: title: Full Detail description: Full error message with additional details, if available. type: string request_id: title: Request Id description: Request ID - for debugging purposes. type: string type: object required: - title - detail title: BaseError ValidationErrorDetail: properties: loc: items: anyOf: - type: integer - type: string type: array title: Location msg: type: string title: Message type: type: string title: Error Type type: object required: - loc - msg - type title: ValidationErrorDetail ExchangeAssetIdentifier: properties: type: type: string const: exchange title: Type description: Asset identifier type. exchange_type: $ref: '#/components/schemas/ExchangeType' description: exchange type. asset_symbol: type: string title: Asset Symbol description: The symbol of the asset on the exchange. chain: $ref: '#/components/schemas/EnrichedExchangeChain' type: object required: - type - exchange_type - asset_symbol - chain title: ExchangeAssetIdentifier securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT