openapi: 3.1.0 info: title: Fordefi Address Book Batch Transactions 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: Batch Transactions description: "These endpoints allow you to manage batch transactions on the Fordefi platform.\n

\n Batch transactions are currently supported only on Solana, for the purpose\n of supporting the `signAllTransactions` flow used by certain Solana DApps.\n Batch transactions undergo policy evaluation as a whole: the policy is\n applied to a “virtual transaction” whose list of instructions is the union\n of the instructions of the individual transactions in the batch, and whose balance\n changes are the aggregation of balance changes of the individual transactions." paths: /api/v1/batch-transactions: post: tags: - Batch Transactions summary: Create Batch Transaction description: 'Create a batch of transactions.
Batch transactions are currently supported only on Solana.' operationId: create_batch_transaction_api_v1_batch_transactions_post parameters: - name: x-signature in: header required: false schema: description: Signature of the body. Base64 encoded string. If the request is made programatically by an API user, signing of the request is required and is intended to protect you from malicious backends. `x_signature` is valid for 120 seconds. title: X-Signature type: string example: SGVsbG8= description: Signature of the body. Base64 encoded string. If the request is made programatically by an API user, signing of the request is required and is intended to protect you from malicious backends. `x_signature` is valid for 120 seconds. - name: x-timestamp in: header required: false schema: description: Timestamp of the signature. Integer. Specify an Epoch date. If the request is made programatically by an API user, the timestamp of the request is required and is intended to protect you from replay attacks. title: X-Timestamp type: integer description: Timestamp of the signature. Integer. Specify an Epoch date. If the request is made programatically by an API user, the timestamp of the request is required and is intended to protect you from replay attacks. - name: x-idempotence-id in: header required: false schema: description: Optional idempotence ID of a transaction. title: X-Idempotence-Id type: string format: uuid description: Optional idempotence ID of a transaction. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateBatchTransactionRequest' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/CreateBatchTransactionResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/DefinedPreconditionError_CreateTransactionErrorType_' '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/batch-transactions/predict: post: tags: - Batch Transactions summary: Predict Batch Transaction description: 'Simulate the batch of transactions and show changes in token balances, in addition to the fee estimation
Batch transactions are currently supported only on Solana.' operationId: predict_batch_transaction_api_v1_batch_transactions_predict_post requestBody: content: application/json: schema: $ref: '#/components/schemas/PredictBatchTransactionRequest' required: true responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/PredictBatchTransactionResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/DefinedPreconditionError_PredictTransactionErrorType_' '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/batch-transactions/{batch_id}/abort: post: tags: - Batch Transactions summary: Abort Batch Transaction description: Abort a batch of transactions. operationId: abort_batch_transaction_api_v1_batch_transactions__batch_id__abort_post parameters: - name: batch_id in: path required: true schema: type: string format: uuid description: Transaction ID of the last transaction in the batch (for example, transaction 2/2 in the batch).ORValue of the `managed_transaction_data.batch_data.batch_id` field of any transaction in the batch. title: Batch Id description: Transaction ID of the last transaction in the batch (for example, transaction 2/2 in the batch).ORValue of the `managed_transaction_data.batch_data.batch_id` field of any transaction in the batch. responses: '204': description: Successful Response '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/DefinedPreconditionError_AbortTransactionErrorType_' '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/batch-transactions/{batch_id}/approve: post: tags: - Batch Transactions summary: Approve Batch Transaction description: Approve a batch of transactions. operationId: approve_batch_transaction_api_v1_batch_transactions__batch_id__approve_post parameters: - name: batch_id in: path required: true schema: type: string format: uuid description: Transaction ID of the last transaction in the batch (for example, transaction 2/2 in the batch).ORValue of the `managed_transaction_data.batch_data.batch_id`field of any transaction in the batch. title: Batch Id description: Transaction ID of the last transaction in the batch (for example, transaction 2/2 in the batch).ORValue of the `managed_transaction_data.batch_data.batch_id`field of any transaction in the batch. responses: '204': description: Successful Response '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/DefinedPreconditionError_ApproveTransactionErrorType_' '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' components: schemas: SolanaPriorityFeeRequest: properties: type: type: string const: priority title: Type priority_level: $ref: '#/components/schemas/FeePriorityLevelRequest' description: 'Using the Fee Priority option, you allocate the range of fee you are willing to add: low, medium, or high. Fordefi then does its best to achieve success, based on these parameters.' type: object required: - type - priority_level title: SolanaPriorityFeeRequest 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 EnrichedUtxoAddress: properties: vault: description: The vault corresponding to this address. $ref: '#/components/schemas/VaultRef' explorer_url: title: Explorer Url description: The URL of a blockchain explorer that provides real-time information about the address. type: string maxLength: 2083 minLength: 1 format: uri contact: description: The contact details of this address. $ref: '#/components/schemas/ContactRef' type: type: string const: utxo title: Type address: $ref: '#/components/schemas/UtxoAddress' description: The UTXO address. vault_address: description: The vault address corresponding to this address. $ref: '#/components/schemas/VaultAddressRef' type: object required: - type - address title: EnrichedUtxoAddress SolanaTokenTransferDetails: properties: type: type: string const: token_transfer title: Type description: 'A transaction involving the transfer of native currency from one address to another. ' sender: $ref: '#/components/schemas/EnrichedSolanaAddress' description: The sender of the tokens. recipient: $ref: '#/components/schemas/EnrichedSolanaAddress' description: The recipient of the tokens. is_internal: title: Is Internal description: Is this transfer an internal transfer between two vaults. None if the transaction is incoming. type: boolean type: object required: - type - sender - recipient title: SolanaTokenTransferDetails SolanaCustomFeeRequest: properties: type: type: string const: custom title: Type priority_fee: title: Priority Fee description: The priority fee to use in the transaction (In lamports). type: string pattern: ^0*[1-9]\d*$ example: '1000000000000000000' unit_price: title: Unit Price description: The unit price to use in the transaction (In microlamports). type: string pattern: ^\d+$ example: '1000000000000000000' type: object required: - type title: SolanaCustomFeeRequest TronChain: 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. type: object required: - chain_type - unique_id title: TronChain PrioritySolanaSuggestedFees: properties: type: type: string const: solana title: Type description: The type of the chain. chain_unique_id: $ref: '#/components/schemas/SolanaChainUniqueId' description: The Solana chain unique id. base_fee: type: string pattern: ^\d+$ title: Base Fee description: The base fee paid for the signatures in the transaction, denominated in lamports. example: '1000000000000000000' low: type: string pattern: ^\d+$ title: Low description: The low suggested fee per byte, denominated in lamports. example: '1000000000000000000' medium: type: string pattern: ^\d+$ title: Medium description: The medium suggested fee per byte, denominated in lamports. example: '1000000000000000000' high: type: string pattern: ^\d+$ title: High description: The high suggested fee per byte, denominated in lamports. example: '1000000000000000000' fee_type: type: string const: priority_fee title: Fee Type description: The type of the fee. unit_prices: $ref: '#/components/schemas/SolanaUnitPrices' description: The unit prices for the suggested fees. type: object required: - type - chain_unique_id - base_fee - low - medium - high - fee_type - unit_prices title: PrioritySolanaSuggestedFees SolanaMessageVersion: type: string enum: - legacy - v0 title: SolanaMessageVersion SolanaTransactionSignaturesRequest: properties: data: title: Data description: Signature on the data, encoded in base64 format. type: string example: SGVsbG8= type: object title: SolanaTransactionSignaturesRequest TronChainUniqueId: type: string enum: - tron_mainnet - tron_shasta title: TronChainUniqueId RiskRating: type: string enum: - low - medium - high - severe title: RiskRating DlcDataResponse: properties: dlc_transaction_type: $ref: '#/components/schemas/UtxoDlcTransactionType' funding_transaction_id: type: string format: uuid title: Funding Transaction Id refund_transaction_id: type: string format: uuid title: Refund Transaction Id cet_transaction_ids: items: type: string format: uuid type: array title: Cet Transaction Ids adaptor_point: title: Adaptor Point type: string pattern: ^0[xX][a-fA-F0-9]+$ type: object required: - dlc_transaction_type - funding_transaction_id - refund_transaction_id - cet_transaction_ids title: DlcDataResponse StarknetChainUniqueId: type: string enum: - starknet_mainnet title: StarknetChainUniqueId StacksAddressBookContactAddressRef: properties: chain_type: type: string const: stacks title: Chain Type description: The type of the chain. address: type: string maxLength: 171 pattern: ^S[0-9A-Za-z._-]+$ title: Address description: The address on the Stacks chain. example: SP3J4NWQXC312DK0GXVRZKSRFBZG8S5FG1D2160E9 chains: items: $ref: '#/components/schemas/StacksChain' type: array title: Chains description: The chains the contact belongs to. memo: title: Memo description: Memo is an additional address feature used for identifying a recipient. type: string type: object required: - chain_type - address - chains title: StacksAddressBookContactAddressRef DefinedPreconditionError_ApproveTransactionErrorType_: 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/ApproveTransactionErrorType' type: object required: - title - detail title: DefinedPreconditionError[ApproveTransactionErrorType] CreateBatchTransactionInstanceDetails: properties: version: $ref: '#/components/schemas/SolanaMessageVersion' description: The version of the transaction message. instructions: items: $ref: '#/components/schemas/SolanaCompiledInstructionRequest' type: array minItems: 1 title: Instructions description: The instructions of the transaction. accounts: items: $ref: '#/components/schemas/SolanaTransactionAccountRequest' type: array minItems: 1 title: Accounts description: Accounts used in the transaction. address_table_lookups: title: Address Table Lookups description: Lookup tables of accounts used in the transaction. items: $ref: '#/components/schemas/SolanaMessageAddressTableLookupRequest' type: array signatures: title: Signatures description: Any partial signatures on the transaction. items: $ref: '#/components/schemas/SolanaTransactionSignaturesRequest' type: array recent_blockhash: title: Recent Blockhash description: The transaction nonce (a recently processed blockhash). type: string maxLength: 44 minLength: 32 pattern: ^[a-km-zA-HJ-NP-Z1-9]+$ example: 4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZAMdL4VZHirAn type: object required: - version - instructions - accounts - address_table_lookups title: CreateBatchTransactionInstanceDetails 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 SuiAddressBookContactAddressRef: properties: chain_type: type: string const: sui title: Chain Type description: The type of the chain. address: type: string maxLength: 66 minLength: 66 pattern: ^0[xX][a-fA-F0-9]+$ title: Address description: The address on the Sui chain. example: '0x3300c18e7b931bdfc73dccf3e2d043ad1c9d120c777fff5aeeb9956224e5247a' chains: items: $ref: '#/components/schemas/SuiChain' type: array title: Chains description: The chains the contact belongs to. type: object required: - chain_type - address - chains title: SuiAddressBookContactAddressRef ChainalysisAlert: properties: category: $ref: '#/components/schemas/Category' description: The category of the AML rule. risk_rating: $ref: '#/components/schemas/RiskRating' description: Defines the alert's risk as SEVERE, HIGH, MEDIUM, or LOW. exposure_type: $ref: '#/components/schemas/ExposureType' description: Defines the exposure direction as DIRECT. Currently, we don't provide indirect exposure for withdrawal attempt alerts. service: title: Service description: The name of the service as defined by Chainalysis. If null returns, Chainalysis has not yet identified the service's name. type: string type: object required: - category - risk_rating - exposure_type title: ChainalysisAlert 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 UtxoDlcTransactionType: type: string enum: - FUNDING_TRANSACTION - REFUND_TRANSACTION - CET_TRANSACTION title: UtxoDlcTransactionType 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 ApprovalRequestState: type: string enum: - created - approved - insufficient_approvers - auto_approved - failed title: ApprovalRequestState description: Represents the whole approval request state PredictTransactionErrorType: type: string enum: - vault_not_found - invalid_evm_message - invalid_evm_transaction_data - reverted_transaction - transaction_to_non_contract - vault_type_mismatch - dust_not_allowed - insecure_key_derivation - missing_secret_key_or_recent_blockhash - missing_secret_key_or_signature - revoke_allowance_gas_limit_too_high - priority_fee_already_set - quote_not_found - transaction_uses_secure_node title: PredictTransactionErrorType SolanaUnitPrices: properties: limit: type: string pattern: ^\d+$ title: Limit description: The compute unit limit. example: '1000000000000000000' low: type: string pattern: ^\d+$ title: Low description: The low suggested fee per byte, denominated in microlamports. example: '1000000000000000000' medium: type: string pattern: ^\d+$ title: Medium description: The medium suggested fee per byte, denominated in microlamports. example: '1000000000000000000' high: type: string pattern: ^\d+$ title: High description: The high suggested fee per byte, denominated in microlamports. example: '1000000000000000000' type: object required: - limit - low - medium - high title: SolanaUnitPrices JitoSolanaSuggestedFees: properties: type: type: string const: solana title: Type description: The type of the chain. chain_unique_id: $ref: '#/components/schemas/SolanaChainUniqueId' description: The Solana chain unique id. base_fee: type: string pattern: ^\d+$ title: Base Fee description: The base fee paid for the signatures in the transaction, denominated in lamports. example: '1000000000000000000' low: type: string pattern: ^\d+$ title: Low description: The low suggested fee per byte, denominated in lamports. example: '1000000000000000000' medium: type: string pattern: ^\d+$ title: Medium description: The medium suggested fee per byte, denominated in lamports. example: '1000000000000000000' high: type: string pattern: ^\d+$ title: High description: The high suggested fee per byte, denominated in lamports. example: '1000000000000000000' fee_type: type: string const: jito title: Fee Type description: The type of the fee. type: object required: - type - chain_unique_id - base_fee - low - medium - high - fee_type title: JitoSolanaSuggestedFees ExchangeChainUniqueId: type: string enum: - exchange_binance - exchange_bybit - exchange_coinbase_international - exchange_coinbase_us - exchange_okx - exchange_kraken title: ExchangeChainUniqueId PolicyMatch: properties: is_default: type: boolean title: Is Default description: '`True` if this is the default rule, `False` otherwise.' rule_id: type: string format: uuid title: Rule Id description: The unique identifier of the rule. rule_name: type: string title: Rule Name description: The name of the rule. action_type: $ref: '#/components/schemas/TransactionPolicyMatchActionType' description: 'The action taken in the event of a policy match. Can be: ' type: object required: - is_default - rule_id - rule_name - action_type title: PolicyMatch ArchAddressBookContactAddressRef: properties: chain_type: type: string const: arch title: Chain Type description: The type of the chain. address: type: string maxLength: 44 minLength: 32 pattern: ^[a-km-zA-HJ-NP-Z1-9]+$ title: Address description: The address on the Arch chain. example: 4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA chains: items: $ref: '#/components/schemas/ArchChain' type: array title: Chains description: The chains the contact belongs to. type: object required: - chain_type - address - chains title: ArchAddressBookContactAddressRef UtxoAddressBookContactAddressRef: properties: chain_type: type: string const: utxo title: Chain Type description: The type of the chain. address: type: string maxLength: 74 minLength: 14 title: Address description: The address on the utxo chain. example: bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq chain: $ref: '#/components/schemas/UtxoChain' description: The chain the contact belongs to. type: object required: - chain_type - address - chain title: UtxoAddressBookContactAddressRef UtxoPsbtDetails: properties: type: type: string const: partially_signed_bitcoin_transaction title: Type description: A partially signed bitcoin transaction (PSBT). psbt_raw_data: type: string pattern: ^0[xX][a-fA-F0-9]+$ title: Psbt Raw Data description: Partially signed bitcoin transaction data encoded as a hex string. signed_psbt_raw_data: title: Signed Psbt Raw Data description: Partially signed bitcoin transaction data encoded as a hex string. type: string pattern: ^0[xX][a-fA-F0-9]+$ sender: $ref: '#/components/schemas/EnrichedUtxoAddress' description: The address that signed the inputs. json_representation: title: Json Representation description: Json representation of the PSBT. type: string type: object required: - type - psbt_raw_data - sender title: UtxoPsbtDetails TransactionDetailsUtxoCetRequest: properties: psbt_raw_data: type: string pattern: ^0[xX][a-fA-F0-9]+$ title: Psbt Raw Data description: Partially signed bitcoin transaction data encoded as a hex string. sender: description: The signer on the inputs. deprecated: true $ref: '#/components/schemas/UtxoAddress' signer: title: Signer description: The signer on the inputs. type: string maxLength: 74 minLength: 14 example: bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq adaptor_point: type: string pattern: ^0[xX][a-fA-F0-9]+$ title: Adaptor Point description: The adaptor point for the DLC CET transaction. type: object required: - psbt_raw_data - adaptor_point title: TransactionDetailsUtxoCetRequest SolanaTransactionAccount: properties: address: $ref: '#/components/schemas/EnrichedSolanaAddress' description: The address of the account. writable: type: boolean title: Writable description: Indicates if this account is writable in the context of the transaction. signer: type: boolean title: Signer description: Indicates if this account is a signer of the transaction. type: object required: - address - writable - signer title: SolanaTransactionAccount UtxoEffects: properties: inputs: items: $ref: '#/components/schemas/UtxoInput' type: array title: Inputs description: The inputs of the transaction. outputs: items: $ref: '#/components/schemas/UtxoOutput' type: array title: Outputs description: The outputs of the transaction. balance_changes: items: $ref: '#/components/schemas/UtxoBalanceChangeEffect' type: array title: Balance Changes description: The aggregated balance changes of vaults. total_value: type: string pattern: ^\d+$ title: Total Value description: The total value of the transaction. example: '1000000000000000000' priced_asset: $ref: '#/components/schemas/PricedAsset' description: The asset information. type: object required: - inputs - outputs - balance_changes - total_value - priced_asset title: UtxoEffects DefinedPreconditionError_CreateTransactionErrorType_: 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/CreateTransactionErrorType' type: object required: - title - detail title: DefinedPreconditionError[CreateTransactionErrorType] SolanaNativeTransferDetails: properties: type: type: string const: native_transfer title: Type description: 'A transaction involving the transfer of native currency from one address to another. ' sender: $ref: '#/components/schemas/EnrichedSolanaAddress' description: The sender of the tokens. recipient: $ref: '#/components/schemas/EnrichedSolanaAddress' description: The recipient of the tokens. is_internal: title: Is Internal description: Is this transfer an internal transfer between two vaults. None if the transaction is incoming. type: boolean type: object required: - type - sender - recipient title: SolanaNativeTransferDetails 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 SolanaReversion: properties: state: $ref: '#/components/schemas/SolanaReversionState' description: 'The state of the reversion. Is one of the following:' reason: title: Reason description: The reason for the reversion (additional information). type: string type: object required: - state title: SolanaReversion VaultType: type: string enum: - aptos - arch - black_box - canton - cosmos - evm - safe - solana - stacks - starknet - stellar - sui - ton - tron - utxo - exchange title: VaultType SplToken: properties: type: type: string const: spl_token title: Type description: The type of the token address: $ref: '#/components/schemas/SolanaAddress' description: The token address name: type: string title: Name description: The token name symbol: type: string title: Symbol description: The token symbol or ticker decimals: type: integer title: Decimals description: The token decimals logo_url: title: Logo Url description: The token logo url type: string maxLength: 2083 minLength: 1 format: uri type: object required: - type - address - name - symbol - decimals title: SplToken SimulationStatus: type: string enum: - success - failed - reverted - skipped title: SimulationStatus AptosAddressBookContactAddressRef: properties: chain_type: type: string const: aptos title: Chain Type description: The type of the chain. address: type: string maxLength: 66 minLength: 66 pattern: ^0[xX][a-fA-F0-9]+$ title: Address description: The address on the Aptos chain. example: '0x3300c18e7b931bdfc73dccf3e2d043ad1c9d120c777fff5aeeb9956224e5247a' chains: items: $ref: '#/components/schemas/AptosChain' type: array title: Chains description: The chains the contact belongs to. type: object required: - chain_type - address - chains title: AptosAddressBookContactAddressRef UtxoBalanceChangeEffect: properties: type: type: string const: native title: Type description: The type of the balance change. vault: $ref: '#/components/schemas/VaultRef' description: The vault affected by the balance change. diff: type: string pattern: ^-?\d+$ title: Diff description: The amount of native currency that was added to or deducted from the owner's balance. If the amount was deducted, the value is negative; if the amount was added, the value is positive. example: '1000000000000000000' priced_asset: $ref: '#/components/schemas/PricedAsset' description: The asset information. type: object required: - type - vault - diff - priced_asset title: UtxoBalanceChangeEffect CantonChain: 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. type: object required: - chain_type - unique_id title: CantonChain TransactionPolicyMatchActionType: type: string enum: - allow - block - require_approval title: TransactionPolicyMatchActionType EnrichedChain: oneOf: - $ref: '#/components/schemas/EnrichedAptosChain' - $ref: '#/components/schemas/EnrichedArchChain' - $ref: '#/components/schemas/EnrichedCantonChain' - $ref: '#/components/schemas/EnrichedCosmosChain' - $ref: '#/components/schemas/EnrichedEvmChain' - $ref: '#/components/schemas/EnrichedExchangeChain' - $ref: '#/components/schemas/EnrichedSolanaChain' - $ref: '#/components/schemas/EnrichedStacksChain' - $ref: '#/components/schemas/EnrichedStarknetChain' - $ref: '#/components/schemas/EnrichedStellarChain' - $ref: '#/components/schemas/EnrichedSuiChain' - $ref: '#/components/schemas/EnrichedTonChain' - $ref: '#/components/schemas/EnrichedTronChain' - $ref: '#/components/schemas/EnrichedUtxoChain' description: A blockchain with metadata. discriminator: propertyName: chain_type mapping: aptos: '#/components/schemas/EnrichedAptosChain' arch: '#/components/schemas/EnrichedArchChain' canton: '#/components/schemas/EnrichedCantonChain' cosmos: '#/components/schemas/EnrichedCosmosChain' evm: '#/components/schemas/EnrichedEvmChain' exchange: '#/components/schemas/EnrichedExchangeChain' solana: '#/components/schemas/EnrichedSolanaChain' stacks: '#/components/schemas/EnrichedStacksChain' starknet: '#/components/schemas/EnrichedStarknetChain' stellar: '#/components/schemas/EnrichedStellarChain' sui: '#/components/schemas/EnrichedSuiChain' ton: '#/components/schemas/EnrichedTonChain' tron: '#/components/schemas/EnrichedTronChain' utxo: '#/components/schemas/EnrichedUtxoChain' SolanaTransactionAccountRequest: properties: address: type: string maxLength: 44 minLength: 32 pattern: ^[a-km-zA-HJ-NP-Z1-9]+$ title: Address description: The address of the account. example: 4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA writable: type: boolean title: Writable description: Indicates if this account is writable in the context of the transaction. signer: type: boolean title: Signer description: Indicates if this account is a signer of the transaction. ephemeral_key: title: Ephemeral Key description: A 64-byte Solana secret key of the account, encoded in base-64. type: string maxLength: 88 minLength: 88 example: lnNyP8kFPEaVpvUo/SIlhdZlzhPU8r7yT/h0gG5ajzQ= type: object required: - address - writable - signer title: SolanaTransactionAccountRequest CreateBatchTransactionInstanceResponse: oneOf: - $ref: '#/components/schemas/SolanaTransaction' - $ref: '#/components/schemas/UtxoTransaction' discriminator: propertyName: type mapping: solana_transaction: '#/components/schemas/SolanaTransaction' utxo_transaction: '#/components/schemas/UtxoTransaction' UtxoTransactionResult: properties: fees: description: The fees of the transaction. $ref: '#/components/schemas/UtxoFees' effects: $ref: '#/components/schemas/UtxoEffects' description: The effects of the transaction. is_coinbase: type: boolean title: Is Coinbase description: True when this transaction is a coinbase (block-reward) transaction. default: false type: object required: - effects title: UtxoTransactionResult 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. 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 SolanaSpotSwapBroadcastMode: type: string enum: - priority_fee - jito title: SolanaSpotSwapBroadcastMode DefinedPreconditionError_AbortTransactionErrorType_: 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/AbortTransactionErrorType' type: object required: - title - detail title: DefinedPreconditionError[AbortTransactionErrorType] 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 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 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 SolanaChain: 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. type: object required: - chain_type - unique_id title: SolanaChain AptosChain: 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. type: object required: - chain_type - unique_id title: AptosChain 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 ActionSigner: properties: user: $ref: '#/components/schemas/UserRef' description: Possible signer user modified_at: type: string format: date-time title: Modified At description: When the signer received/signed the action has_signed: type: boolean title: Has Signed description: Whether the signer signed the action type: object required: - user - modified_at - has_signed title: ActionSigner description: Represents a single signer in an action CreateBatchSolanaTransactionRequest: properties: vault_id: type: string format: uuid title: Vault Id description: The unique identifier of the vault. note: title: Note description: An optional transaction note. type: string signer_type: $ref: '#/components/schemas/SignerType' description: 'The signer of the transaction. Can be: ' default: initiator sign_mode: $ref: '#/components/schemas/SignMode' description: 'The sign mode of the transaction determines when the transaction will transition to the signing phase. It can be one of the following:' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: solana_transaction title: Type description: Solana transaction type. details: $ref: '#/components/schemas/CreateBatchTransactionRequestDetails' type: object required: - vault_id - type - details title: CreateBatchSolanaTransactionRequest 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 TransactionRiskType: type: string enum: - transfer_to_erc20_contract - organization_not_interacted_with_address - vault_not_interacted_with_address - allowance_to_eoa - unlimited_allowance - contract_not_verified - bridge_dest_differ_from_sender - nft_approve_for_all - missing_simulation - unsupported_simulation - post_conditions_allow_mode - safe_sensitive_operation title: TransactionRiskType EvmChain: 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. 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. 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. type: object required: - chain_type - chain_id - unique_id title: EvmChain 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 SolanaAddressBookContactAddressRef: properties: chain_type: type: string const: solana title: Chain Type description: The type of the chain. address: type: string maxLength: 44 minLength: 32 pattern: ^[a-km-zA-HJ-NP-Z1-9]+$ title: Address description: The address on the Solana chain. example: 4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA chains: items: $ref: '#/components/schemas/SolanaChain' type: array title: Chains description: The chains the contact belongs to. type: object required: - chain_type - address - chains title: SolanaAddressBookContactAddressRef 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 BatchData: properties: batch_id: type: string format: uuid title: Batch Id description: The unique identifier of the batch. index_in_batch: type: integer title: Index In Batch description: Index of transaction in the batch. batch_size: type: integer title: Batch Size description: The number of transactions in the batch. matched_policies: items: $ref: '#/components/schemas/PolicyMatch' type: array title: Matched Policies description: List of policies matched by this message. type: object required: - batch_id - index_in_batch - batch_size - matched_policies title: BatchData 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 DappInfo: properties: url: type: string title: Url description: The URL of the dapp. name: type: string title: Name description: The name of the dapp. type: object required: - url - name title: DappInfo PsbtInput: properties: index: type: integer title: Index description: The input index to sign on. signer_identity: oneOf: - $ref: '#/components/schemas/PsbtSignerIdentityAddress' - $ref: '#/components/schemas/PsbtSignerIdentityPublicKey' discriminator: propertyName: type mapping: address: '#/components/schemas/PsbtSignerIdentityAddress' public_key: '#/components/schemas/PsbtSignerIdentityPublicKey' sighash_types: title: Sighash Types description: Flags that describe how to sign. items: type: integer type: array disable_tweak_signer: title: Disable Tweak Signer description: Disable tweaking of taproot public key. type: boolean type: object required: - index - signer_identity title: PsbtInput FeePaidByVault: properties: type: type: string const: vault title: Type description: The type of fee payer. vault: $ref: '#/components/schemas/VaultRef' description: The vault that paid the fee for this transaction. type: object required: - type - vault title: FeePaidByVault 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 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 Signature: properties: data: type: string title: Data description: Signature on the transaction, encoded in base64 format. example: SGVsbG8= signed_by: description: The user who created this signature, `null` if the signature wasn't created by a Fordefi user. oneOf: - $ref: '#/components/schemas/PersonRef' - $ref: '#/components/schemas/ApiSignerRef' - $ref: '#/components/schemas/EndUserRef' - $ref: '#/components/schemas/ApiUserRef' discriminator: propertyName: user_type mapping: api_signer: '#/components/schemas/ApiSignerRef' api_user: '#/components/schemas/ApiUserRef' end_user: '#/components/schemas/EndUserRef' person: '#/components/schemas/PersonRef' type: object required: - data title: Signature TransactionDetailsUtxoDlcRequest: properties: psbt_raw_data: type: string pattern: ^0[xX][a-fA-F0-9]+$ title: Psbt Raw Data description: Partially signed bitcoin transaction data encoded as a hex string. sender: description: The signer on the inputs. deprecated: true $ref: '#/components/schemas/UtxoAddress' signer: title: Signer description: The signer on the inputs. type: string maxLength: 74 minLength: 14 example: bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq inputs: title: Inputs description: Describes how to sign each input. items: $ref: '#/components/schemas/PsbtInput' type: array type: object required: - psbt_raw_data title: TransactionDetailsUtxoDlcRequest 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 Dapp: properties: id: type: string format: uuid title: Id description: The unique identifier of this DApp. name: type: string title: Name description: The name of the DApp. url: title: Url description: The URL of the DApp. type: string minLength: 1 format: uri logo_url: title: Logo Url description: The logo URL of the DApp. type: string minLength: 1 format: uri contracts_count: type: integer title: Contracts Count description: The number of contracts associated with this DApp. default: 0 type: object required: - id - name title: Dapp StellarChain: 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. type: object required: - chain_type - unique_id title: StellarChain 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 SolanaChainUniqueId: type: string enum: - solana_mainnet - solana_devnet - solana_eclipse_mainnet - solana_fogo_mainnet - solana_fogo_testnet title: SolanaChainUniqueId SolanaMessageAddressTableLookupRequest: properties: account_key: type: string maxLength: 44 minLength: 32 pattern: ^[a-km-zA-HJ-NP-Z1-9]+$ title: Account Key description: The address of the lookup table. example: 4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA writable_indexes: items: type: integer type: array title: Writable Indexes description: Indexes of writable accounts in the lookup table. readonly_indexes: items: type: integer type: array title: Readonly Indexes description: Indexes of read-only accounts in the lookup table. type: object required: - account_key - writable_indexes - readonly_indexes title: SolanaMessageAddressTableLookupRequest 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 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 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 AmlPolicyMatchIncoming: properties: is_default: type: boolean title: Is Default description: '`True` if this is the default rule, `False` otherwise.' rule_id: type: string format: uuid title: Rule Id description: The unique identifier of the rule. rule_name: type: string title: Rule Name description: The name of the rule. action_type: $ref: '#/components/schemas/AmlPolicyMatchIncomingActionType' description: 'The action taken in the event of a policy match. Can be: ' type: object required: - is_default - rule_id - rule_name - action_type title: AmlPolicyMatchIncoming 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. 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. 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. 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:' 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 StellarAddressBookContactAddressRef: properties: chain_type: type: string const: stellar title: Chain Type description: The type of the chain. address: type: string maxLength: 56 minLength: 56 pattern: ^[GCL][A-Z2-7]{55}$ title: Address description: The address on the Stellar chain. example: GBRPYHIL2CI3FNQ4BXLFMNDLFJHO7W3B6FSHLTAVM2A4P45SHO4ZB7I2 chains: items: $ref: '#/components/schemas/StellarChain' type: array title: Chains description: The chains the contact belongs to. memo: title: Memo description: Memo is an additional address feature used for identifying a recipient. type: string type: object required: - chain_type - address - chains title: StellarAddressBookContactAddressRef 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 SolanaAddress: properties: type: type: string const: solana title: Type chain: $ref: '#/components/schemas/SolanaChain' 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: - type - chain - base58_repr title: SolanaAddress description: Address represents an EVM blockchain address. 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 SolanaBalanceChangeEffect: properties: priced_asset: $ref: '#/components/schemas/PricedAsset' description: The asset information. diff: type: string pattern: ^-?\d+$ title: Diff description: The amount of that was added to or deducted from the owner's balance. If the amount was deducted, the value is negative; if the amount was added, the value is positive. example: '1000000000000000000' address: $ref: '#/components/schemas/EnrichedSolanaAddress' description: The address affected by the balance change. type: object required: - priced_asset - diff - address title: SolanaBalanceChangeEffect 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 RelatedTransaction: properties: type: $ref: '#/components/schemas/RelatedTransactionType' description: The type of the related transaction. hash: title: Hash description: The hash of the related transaction. type: string id: title: Id description: The id of the related transaction. type: string format: uuid chain: $ref: '#/components/schemas/EnrichedChain' description: The chain identifier of the related transaction. explorer_url: title: Explorer Url description: The URL of the related transaction in a blockchain explorer. type: string maxLength: 2083 minLength: 1 format: uri type: object required: - type - chain title: RelatedTransaction TonAddressBookContactAddressRef: properties: chain_type: type: string const: ton title: Chain Type description: The type of the chain. address: type: string title: Address description: The address on the TON chain. chains: items: $ref: '#/components/schemas/TonChain' type: array title: Chains description: The chains the contact belongs to. comment: title: Comment description: Comment is an additional address feature used for identifying a recipient. type: string type: object required: - chain_type - address - chains title: TonAddressBookContactAddressRef PredictedUtxoTransaction: properties: policy_match: description: The policy match. $ref: '#/components/schemas/PolicyMatch' matched_policies: items: $ref: '#/components/schemas/PolicyMatch' type: array title: Matched Policies description: List of policies matched by the transactions in the batch. approval_request: description: The approval request. $ref: '#/components/schemas/ApprovalRequest' risks: items: $ref: '#/components/schemas/TransactionRisk' type: array title: Risks description: The list of risks associated with this transaction. note: title: Note description: An optional transaction note. type: string tx_policy_explanation_id: title: Tx Policy Explanation Id description: The id of the transaction policy explanation produced for this prediction, if any. type: string format: uuid aml_policy_match: description: The AML policy match. $ref: '#/components/schemas/AmlPolicyMatchOutgoing' aml_results: description: The AML results. $ref: '#/components/schemas/AmlResults' simulation_status_result: description: Whether simulation succeeded, reverted or failed. $ref: '#/components/schemas/SimulationStatusResult' type: type: string const: utxo_transaction title: Type description: The type of the transaction. chain: $ref: '#/components/schemas/EnrichedUtxoChain' description: Details of the chain this transaction is on. expected_result: $ref: '#/components/schemas/UtxoTransactionResult' description: The expected result of the transaction in case it is mined. utxo_transaction_type_details: oneOf: - $ref: '#/components/schemas/UtxoNativeTransferDetails' - $ref: '#/components/schemas/UtxoPsbtDetails' description: Details of the Utxo transaction based on its type. discriminator: propertyName: type mapping: native_transfer: '#/components/schemas/UtxoNativeTransferDetails' partially_signed_bitcoin_transaction: '#/components/schemas/UtxoPsbtDetails' suggested_fees: $ref: '#/components/schemas/UtxoSuggestedFees' description: The suggested fees. type: object required: - matched_policies - risks - type - chain - expected_result - utxo_transaction_type_details - suggested_fees title: PredictedUtxoTransaction BatchDlcTransactionRequestDetails: properties: funding_transaction: $ref: '#/components/schemas/TransactionDetailsUtxoDlcRequest' refund_transaction: $ref: '#/components/schemas/TransactionDetailsUtxoDlcRequest' cet_transactions: items: $ref: '#/components/schemas/TransactionDetailsUtxoCetRequest' type: array title: Cet Transactions type: object required: - funding_transaction - refund_transaction - cet_transactions title: BatchDlcTransactionRequestDetails InstructionError: properties: error_type: type: string title: Error Type description: The type of the error of the instruction. instruction_index: type: integer title: Instruction Index description: The index of the instruction. error_description: title: Error Description description: The description of the error of the instruction. type: string type: object required: - error_type - instruction_index title: InstructionError ArchChainUniqueId: type: string enum: - arch_mainnet - arch_testnet title: ArchChainUniqueId FeePriorityLevelRequest: type: string enum: - low - medium - high title: FeePriorityLevelRequest EVMAddressBookContactAddressRef: properties: chain_type: type: string const: evm title: Chain Type description: The type of the chain. address: type: string maxLength: 42 minLength: 42 pattern: ^0[xX][a-fA-F0-9]+$ title: Address description: The address of the contact. example: '0x71C7656EC7ab88b098defB751B7401B5f6d8976F' chains: items: $ref: '#/components/schemas/EvmChain' type: array title: Chains description: The chains the contact belongs to. type: object required: - chain_type - address - chains title: EVMAddressBookContactAddressRef 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 CosmosAddressBookContactAddressRef: properties: chain_type: type: string const: cosmos title: Chain Type description: The type of the chain. address: type: string title: Address description: The address on the cosmos chain. example: cosmos1tdk0g5d4ry9lq0erejttyufqcvwpqdj6tdql38 chain: $ref: '#/components/schemas/CosmosChain' description: The chain the contact belongs to. memo: title: Memo description: Memo is an additional address feature used for identifying a recipient. type: string type: object required: - chain_type - address - chain title: CosmosAddressBookContactAddressRef ApproveTransactionErrorType: type: string enum: - invalid_transaction_state - non_managed_transaction - transactions_already_approved title: ApproveTransactionErrorType 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 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 Category: properties: id: type: integer title: Id description: The category ID. name: type: string title: Name description: The category name. type: object required: - id - name title: Category 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. UtxoTransaction: 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. managed_transaction_data: description: 'Managed transaction data. Presented if the transaction was initiated from the Fordefi system itself, in contrast to unmanaged transactions (which are, for example, transfers of funds into a vault visible to Fordefi). ' $ref: '#/components/schemas/ManagedTransactionData' signatures: items: $ref: '#/components/schemas/Signature' type: array title: Signatures description: The transaction signatures. note: title: Note description: An optional transaction note. type: string spam_state: $ref: '#/components/schemas/TransactionSpamState' description: '`automatically_set` if the transaction was automatically set as spam by Fordefi, `manually_set` if the transaction was manually set as spam by a user, and `unset` if the transaction was not set as spam.' default: unset direction: $ref: '#/components/schemas/TransactionDirection' description: The direction of the transaction. signed_externally: type: boolean title: Signed Externally description: Whether the transaction was signed by an external user (for example in case of imported vault). default: false interacted_vaults: items: $ref: '#/components/schemas/VaultRef' type: array title: Interacted Vaults description: The vaults that interacted with the transaction. related_transactions: title: Related Transactions description: The related transactions. items: $ref: '#/components/schemas/RelatedTransaction' type: array organization_id: type: string format: uuid title: Organization Id description: The organization that the transaction belongs to. block: description: The block of the transaction. $ref: '#/components/schemas/Block' state: $ref: '#/components/schemas/PushableTransactionState' description: The state of the transaction. state_changes: items: $ref: '#/components/schemas/PushableTransactionStateChange' type: array title: State Changes description: The state changes of the transaction. aml_check: description: The AML check. $ref: '#/components/schemas/AmlCheck' mined_result_status: description: The mined result status of the transaction. $ref: '#/components/schemas/MinedResultStatus' simulation_status_result: description: Whether simulation succeeded, reverted or failed. $ref: '#/components/schemas/SimulationStatusResult' parent_transaction_id: title: Parent Transaction Id description: The unique identifier of the parent transaction. Parent and child transactions form in cases where a transaction become stuck and is then either canceled or accelerated. If, for example, the original transaction (`t1`) is the parent and the related, adjustment transaction is the child (`t2`), then relative to itself, the parent field of `t1` is `null` and the child field is `t2_id`. Compare with field `child_transaction_id`. type: string format: uuid child_transaction_id: title: Child Transaction Id description: 'The unique identifier of the child transaction. Compare with field `parent_transaction_id`. Relative to itself, the parent field of transaction `t2` would aquire the identifier `t1_id` and the child field of `t2` would be `null`. ' type: string format: uuid is_cancelation: type: boolean title: Is Cancelation description: '`True` if this transaction is a cancelation of a previous transaction, `False` otherwise. ' is_acceleration: type: boolean title: Is Acceleration description: '`True` if this transaction is an acceleration of a previous transaction, `False` otherwise.' type: type: string const: utxo_transaction title: Type description: The type of the transaction. utxo_transaction_type_details: oneOf: - $ref: '#/components/schemas/UtxoNativeTransferDetails' - $ref: '#/components/schemas/UtxoPsbtDetails' description: Details of UTXO transaction, based on its type. discriminator: propertyName: type mapping: native_transfer: '#/components/schemas/UtxoNativeTransferDetails' partially_signed_bitcoin_transaction: '#/components/schemas/UtxoPsbtDetails' chain: $ref: '#/components/schemas/EnrichedUtxoChain' description: Details of the chain this transaction is on. hash: title: Hash description: The hash of the transaction. type: string explorer_url: title: Explorer Url description: The URL of this transaction in a blockchain explorer. type: string maxLength: 2083 minLength: 1 format: uri expected_result: description: The expected result of the transaction in case it is mined. $ref: '#/components/schemas/UtxoTransactionResult' mined_result: description: The result of the transaction after it was mined. $ref: '#/components/schemas/UtxoTransactionResult' dlc_data: description: The DLC data of the transaction, if the transaction is part of a DLC contract. $ref: '#/components/schemas/DlcDataResponse' type: object required: - id - created_at - modified_at - signatures - direction - interacted_vaults - organization_id - state - state_changes - is_cancelation - is_acceleration - type - utxo_transaction_type_details - chain title: UtxoTransaction 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. UtxoNativeTransferDetails: properties: type: type: string const: native_transfer title: Type description: A transaction involving the transfer of native currency from one or moreaddresses to one or more addresses. is_internal: title: Is Internal description: Is this transfer an internal transfer between two vaults. None if the transaction is incoming. type: boolean vault: description: The vault that signed this transfer. $ref: '#/components/schemas/VaultRef' memos: items: type: string type: array title: Memos description: List of memos of the transaction. type: object required: - type - memos title: UtxoNativeTransferDetails AmlCheck: properties: results: description: The AML results. $ref: '#/components/schemas/AmlResults' incoming_aml_check: description: The AML policy match for incoming transactions. Will be present only for incoming transactions. $ref: '#/components/schemas/IncomingAmlCheck' type: object title: AmlCheck 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 ExposureType: type: string enum: - direct - indirect title: ExposureType 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 DefinedPreconditionError_PredictTransactionErrorType_: 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/PredictTransactionErrorType' type: object required: - title - detail title: DefinedPreconditionError[PredictTransactionErrorType] 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). CantonAddressBookContactAddressRef: properties: chain_type: type: string const: canton title: Chain Type description: The type of the chain. address: type: string maxLength: 251 minLength: 70 title: Address description: The party id on the Canton chain. example: 45b72ac2a9742204e6e5f521781b0648::122028536bd166988ebbb422c7f483bb32d4134127e8c171c9666ce9b518e1dd27cf chains: items: $ref: '#/components/schemas/CantonChain' type: array title: Chains description: The chains the contact belongs to. memo: title: Memo description: Memo is an additional address feature used for identifying a recipient. type: string type: object required: - chain_type - address - chains title: CantonAddressBookContactAddressRef AmlResults: properties: scan_status: $ref: '#/components/schemas/AmlScanStatus' description: The status of the AML scan. error_message: title: Error Message description: The error message if the scan failed. type: string scan_results: oneOf: - $ref: '#/components/schemas/ChainalysisScanResult' discriminator: propertyName: type mapping: chainalysis: '#/components/schemas/ChainalysisScanResult' type: object required: - scan_status title: AmlResults CreateBatchTransactionRequestDetails: properties: type: type: string const: solana_raw_transaction title: Type description: A Solana raw transaction is for any operation. fail_on_prediction_failure: type: boolean title: Fail On Prediction Failure description: '`True` if the request should fail in case simulation failed, `False` otherwise.
In case simulation has failed upon continuation, the expected result of the transaction will be partial and policy will be applied on information that can be extracted statically from the transaction only. This might result in falling back to the default policy rule. ' default: true skip_prediction: type: boolean title: Skip Prediction description: '`True` to create a transaction without prediction, `False` otherwise.
In case of skipping simulation, the simulation status will be skipped and the expected result of the transaction will be empty. The policy will be applied on information that can be extracted statically from the transaction only. This might result in falling back to the default policy rule.
Note, it is recommended to use the default setting for this field and to turn off `fail_on_prediction_failure` instead - unless you wish to save time by omitting the prediction phase entirely. ' default: false push_mode: $ref: '#/components/schemas/PushMode' description: 'The push mode of the transaction when sending it to the node. It can be one of the following: ' default: auto fee: description: The fee configuration for the transaction. oneOf: - $ref: '#/components/schemas/SolanaCustomFeeRequest' - $ref: '#/components/schemas/SolanaPriorityFeeRequest' discriminator: propertyName: type mapping: custom: '#/components/schemas/SolanaCustomFeeRequest' priority: '#/components/schemas/SolanaPriorityFeeRequest' chain: $ref: '#/components/schemas/SolanaChainUniqueId' transactions: items: $ref: '#/components/schemas/CreateBatchTransactionInstanceDetails' type: array minItems: 1 title: Transactions description: Details of the transactions in the batch. type: object required: - type - chain - transactions title: CreateBatchTransactionRequestDetails 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. PredictBatchTransactionRequest: oneOf: - $ref: '#/components/schemas/PredictBatchSolanaTransactionRequest' - $ref: '#/components/schemas/PredictBatchUtxoDlcTransactionRequest' discriminator: propertyName: type mapping: solana_transaction: '#/components/schemas/PredictBatchSolanaTransactionRequest' utxo_dlc_transaction: '#/components/schemas/PredictBatchUtxoDlcTransactionRequest' CreateBatchUtxoDlcTransactionRequest: properties: vault_id: type: string format: uuid title: Vault Id description: The unique identifier of the vault. note: title: Note description: An optional transaction note. type: string signer_type: $ref: '#/components/schemas/SignerType' description: 'The signer of the transaction. Can be: ' default: initiator sign_mode: $ref: '#/components/schemas/SignMode' description: 'The sign mode of the transaction determines when the transaction will transition to the signing phase. It can be one of the following:' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: utxo_dlc_transaction title: Type description: The type of the transaction. details: $ref: '#/components/schemas/BatchDlcTransactionRequestDetails' description: The DLC transaction details. type: object required: - vault_id - type - details title: CreateBatchUtxoDlcTransactionRequest 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 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 SolanaReversionState: type: string enum: - not_reverted - unknown_revert - contract_asserted - insufficient_funds_gas_and_value - insufficient_funds_for_rent title: SolanaReversionState 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. TransactionDirection: type: string enum: - outgoing - incoming title: TransactionDirection SolanaContractMetadata: properties: name: title: Name description: The name of the contract. type: string dapp: description: The DApp details of the contract. $ref: '#/components/schemas/Dapp' is_verified: type: boolean title: Is Verified description: '`True` if the contract is verified, `False` otherwise.' token: description: The token details of the contract. $ref: '#/components/schemas/SplToken' type: object required: - is_verified title: SolanaContractMetadata PsbtSignerIdentityPublicKey: properties: type: type: string const: public_key title: Type public_key: type: string pattern: ^[a-fA-F0-9]+$ title: Public Key description: Public key that should sign on the input. type: object required: - type - public_key title: PsbtSignerIdentityPublicKey SolanaTransferEffect: properties: priced_asset: $ref: '#/components/schemas/PricedAsset' description: The asset information. amount: type: string pattern: ^\d+$ title: Amount description: The amount of the transfer. example: '1000000000000000000' from: $ref: '#/components/schemas/EnrichedSolanaAddress' description: The sender of the transfer. to: $ref: '#/components/schemas/EnrichedSolanaAddress' description: The receiver of the transfer. type: object required: - priced_asset - amount - from - to title: SolanaTransferEffect 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. TransactionRiskSeverity: type: string enum: - low - medium - high title: TransactionRiskSeverity 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 UtxoSuggestedFees: properties: type: type: string const: utxo title: Type description: The type of the chain. low: type: string pattern: ^\d+$ title: Low description: The low suggested fee per byte. example: '1000000000000000000' medium: type: string pattern: ^\d+$ title: Medium description: The medium suggested fee per byte. example: '1000000000000000000' high: type: string pattern: ^\d+$ title: High description: The high suggested fee per byte. example: '1000000000000000000' chain_unique_id: $ref: '#/components/schemas/UtxoChainUniqueId' description: The UTXO chain unique id. type: object required: - type - low - medium - high - chain_unique_id title: UtxoSuggestedFees 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 StacksChain: 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. type: object required: - chain_type - unique_id title: StacksChain 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 SolanaFeeType: type: string enum: - jito - priority_fee title: SolanaFeeType PredictedBatchSolanaTransaction: properties: policy_match: description: The policy match. $ref: '#/components/schemas/PolicyMatch' matched_policies: items: $ref: '#/components/schemas/PolicyMatch' type: array title: Matched Policies description: List of policies matched by the transactions in the batch. approval_request: description: The approval request. $ref: '#/components/schemas/ApprovalRequest' risks: items: $ref: '#/components/schemas/TransactionRisk' type: array title: Risks description: The list of risks associated with this transaction. note: title: Note description: An optional transaction note. type: string tx_policy_explanation_id: title: Tx Policy Explanation Id description: The id of the transaction policy explanation produced for this prediction, if any. type: string format: uuid aml_policy_match: description: The AML policy match. $ref: '#/components/schemas/AmlPolicyMatchOutgoing' aml_results: description: The AML results. $ref: '#/components/schemas/AmlResults' simulation_status_result: description: Whether simulation succeeded, reverted or failed. $ref: '#/components/schemas/SimulationStatusResult' expected_result: $ref: '#/components/schemas/SolanaTransactionResult' description: The expected result of the transaction in case it is mined. chain: $ref: '#/components/schemas/EnrichedSolanaChain' description: The details of the chain that this message is on. solana_transaction_type_details: oneOf: - $ref: '#/components/schemas/SolanaNativeTransferDetails' - $ref: '#/components/schemas/SolanaTokenTransferDetails' - $ref: '#/components/schemas/SolanaRawTransactionDetails' - $ref: '#/components/schemas/PredictedSolanaSpotSwapDetails' description: Details of the Solana transaction based on its type. discriminator: propertyName: type mapping: native_transfer: '#/components/schemas/SolanaNativeTransferDetails' raw_transaction: '#/components/schemas/SolanaRawTransactionDetails' spot_swap: '#/components/schemas/PredictedSolanaSpotSwapDetails' token_transfer: '#/components/schemas/SolanaTokenTransferDetails' sender: $ref: '#/components/schemas/EnrichedSolanaAddress' description: The sender of the transaction. suggested_fees: $ref: '#/components/schemas/PrioritySolanaSuggestedFees' description: The suggested fees. instructions: items: $ref: '#/components/schemas/SolanaCompiledInstruction' type: array title: Instructions description: The instructions of the transaction. raw_transaction: title: Raw Transaction description: The serialized transaction encoded as a base64 string type: string example: SGVsbG8= was_fee_set_in_request: type: boolean title: Was Fee Set In Request description: Whether the priority fee was already set in the request with a ComputeBudget instruction. fee_payer: description: The address that pays the fee for this transaction (first account in the transaction). $ref: '#/components/schemas/EnrichedSolanaAddress' type: type: string const: solana_transaction title: Type description: The type of the transaction. type: object required: - matched_policies - risks - expected_result - chain - solana_transaction_type_details - sender - suggested_fees - instructions - was_fee_set_in_request - type title: PredictedBatchSolanaTransaction IncomingAmlCheck: properties: policy_match: description: The AML policy match for incoming transactions. $ref: '#/components/schemas/AmlPolicyMatchIncoming' users_eligible_to_unfreeze: title: Users Eligible To Unfreeze description: list of possible approvers items: $ref: '#/components/schemas/RequestApprover' type: array frozen: title: Frozen description: Whether the transaction is frozen. type: boolean type: object title: IncomingAmlCheck SolanaCompiledInstructionRequest: properties: program_index: type: integer title: Program Index description: The program index. data: type: string title: Data description: The instruction data in Base64 format. example: SGVsbG8= account_indexes: items: type: integer type: array title: Account Indexes description: The indexes of the instruction accounts in the transaction accounts list. type: object required: - program_index - data - account_indexes title: SolanaCompiledInstructionRequest AmlPolicyMatchOutgoingActionType: type: string enum: - allow - block - require_approval - skip title: AmlPolicyMatchOutgoingActionType PushableTransactionStateChange: properties: changed_at: type: string format: date-time title: Changed At description: The date and time when the state was changed. reason: description: The reason for the state change. $ref: '#/components/schemas/StateChangeReason' previous_state: description: The previous state of the transaction. $ref: '#/components/schemas/PushableTransactionState' new_state: $ref: '#/components/schemas/PushableTransactionState' description: The new state of the transaction. type: object required: - changed_at - new_state title: PushableTransactionStateChange VaultAddressRef: properties: id: type: string format: uuid title: Id description: The unique identifier of the vault address in the Fordefi platform. vault_id: type: string format: uuid title: Vault Id description: The unique identifier of the vault this address belongs to. name: type: string title: Name description: The name of the vault address. address: type: string title: Address description: The address of the vault address. type: object required: - id - vault_id - name - address title: VaultAddressRef description: Represents a reference to a vault address in the Fordefi platform MinedResultStatus: type: string enum: - success - missing - potentially_partial title: MinedResultStatus FeePriorityLevel: type: string enum: - custom - low - medium - high title: FeePriorityLevel SolanaCompiledInstruction: properties: program_index: type: integer title: Program Index description: The program index. data: type: string title: Data description: The instruction data in Base64 format. example: SGVsbG8= account_indexes: items: type: integer type: array title: Account Indexes description: The indexes of the instruction accounts in the transaction accounts list. program: $ref: '#/components/schemas/EnrichedSolanaAddress' description: The address of the program account. base58_data: title: Base58 Data description: The instruction data encoded in Base58 format. type: string pattern: ^[a-km-zA-HJ-NP-Z1-9]+$ type: object required: - program_index - data - account_indexes - program title: SolanaCompiledInstruction UtxoFees: properties: priority: $ref: '#/components/schemas/FeePriorityLevel' description: The priority level. fee_per_byte: type: string pattern: ^\d+$ title: Fee Per Byte description: The fee per byte. example: '1000000000000000000' transaction_byte_size: type: string pattern: ^\d+$ title: Transaction Byte Size description: The transaction size in bytes. example: '1000000000000000000' total_fee: type: string pattern: ^\d+$ title: Total Fee description: The total fee paid. example: '1000000000000000000' priced_asset: $ref: '#/components/schemas/PricedAsset' description: The information of the asset used to pay the fee and amount used. type: object required: - priority - fee_per_byte - transaction_byte_size - total_fee - priced_asset title: UtxoFees AmlPolicyMatchIncomingActionType: type: string enum: - allow - freeze - skip title: AmlPolicyMatchIncomingActionType SignerType: type: string enum: - initiator - api_signer - end_user - multiple_signers - api_user title: SignerType 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 AmlScanStatus: type: string enum: - error - timeout - skipped - completed - unsupported_chain - pending title: AmlScanStatus PredictBatchTransactionResponse: oneOf: - $ref: '#/components/schemas/PredictedBatchSolanaTransaction' - $ref: '#/components/schemas/PredictedUtxoDlcTransaction' discriminator: propertyName: type mapping: solana_transaction: '#/components/schemas/PredictedBatchSolanaTransaction' utxo_dlc_transaction: '#/components/schemas/PredictedUtxoDlcTransaction' 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 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 ManagedTransactionData: properties: created_by: $ref: '#/components/schemas/UserRef' description: The user who created the transaction. aborted_by: description: The user who aborted the transaction, `null` if the transaction was not aborted. $ref: '#/components/schemas/UserRef' finalized_for_signing_by: description: The user who finalized the transaction for signing, `null` if the transaction was not finalized for signing. $ref: '#/components/schemas/UserRef' device_signing_request: $ref: '#/components/schemas/ActionSigningRequest' approval_request: description: The approval request. $ref: '#/components/schemas/ApprovalRequest' aml_policy_match: description: The AML policy match. $ref: '#/components/schemas/AmlPolicyMatchOutgoing' policy_match: description: The policy match. $ref: '#/components/schemas/PolicyMatch' signer_type: $ref: '#/components/schemas/SignerType' description: 'The type of signer of the transaction. Can be one of the following: In the case of `initiator`, a notification is expected to be sent to the initiator''s mobile device for approval of the transaction. ' risks: items: $ref: '#/components/schemas/TransactionRisk' type: array title: Risks description: The list of risks associated with this transaction. error_pushing_to_blockchain_message: title: Error Pushing To Blockchain Message description: The translated error message received from the node if it was rejected by it. type: string original_error_pushing_to_blockchain_message: title: Original Error Pushing To Blockchain Message description: The error message received from the node if it was rejected by it. type: string vault: $ref: '#/components/schemas/VaultRef' description: The vault creating the transaction. idempotence_id: title: Idempotence Id description: Optional idempotence ID of a transaction. type: string format: uuid has_current_user_vault_permissions: type: boolean title: Has Current User Vault Permissions description: Does current user have permissions to the origin vault according to its vault group permissions. batch_data: description: Batch data if the transaction is part of a batch. $ref: '#/components/schemas/BatchData' push_mode: description: 'The push mode of the transaction when sending it to the node. It can be one of the following: ' $ref: '#/components/schemas/PushMode' last_pushed_at: title: Last Pushed At description: The last time the transaction was pushed to the node. type: string format: date-time sign_mode: $ref: '#/components/schemas/SignMode' description: 'The sign mode of the transaction determines when the transaction will transition to the signing phase. It can be one of the following:' default: auto fee_paid_by: description: Details of the vault that paid the fee for this transaction. oneOf: - $ref: '#/components/schemas/FeePaidByVault' discriminator: propertyName: type mapping: vault: '#/components/schemas/FeePaidByVault' attested_payload_for_signing: title: Attested Payload For Signing description: JWS attestation for the payload (external signer). Set after finalize-for-signing. type: string tx_policy_explanation_id: title: Tx Policy Explanation Id description: The id of the transaction policy explanation produced for this transaction, if any. type: string format: uuid type: object required: - created_by - signer_type - risks - vault - has_current_user_vault_permissions title: ManagedTransactionData SolanaFee: properties: priority_level: $ref: '#/components/schemas/FeePriorityLevel' description: The priority level. base_fee: type: string pattern: ^0*[1-9]\d*$ title: Base Fee description: The base fee of the transaction (in lamports). example: '1000000000000000000' priority_fee: type: string pattern: ^\d+$ title: Priority Fee description: The priority fee of the transaction (in lamports). example: '1000000000000000000' unit_price: title: Unit Price description: The unit price of the transaction (in microlamports). type: string pattern: ^\d+$ example: '1000000000000000000' fee: type: string pattern: ^0*[1-9]\d*$ title: Fee description: The total fee of the transaction (in lamports). example: '1000000000000000000' fee_type: $ref: '#/components/schemas/SolanaFeeType' description: The type of the fee. priced_asset: $ref: '#/components/schemas/PricedAsset' description: The information of the asset used to pay the fee and amount used. type: object required: - priority_level - base_fee - priority_fee - fee - fee_type - priced_asset title: SolanaFee PsbtSignerIdentityAddress: properties: type: type: string const: address title: Type address: type: string pattern: ^.+1[qpzry9x8gf2tvdw0s3jn54khce6mua7l]{7,}$ title: Address description: The address of the key that should sign on the input. type: object required: - type - address title: PsbtSignerIdentityAddress BatchSolanaTransactionRequestDetails: properties: fee: description: The fee configuration for the transaction. oneOf: - $ref: '#/components/schemas/SolanaCustomFeeRequest' - $ref: '#/components/schemas/SolanaPriorityFeeRequest' discriminator: propertyName: type mapping: custom: '#/components/schemas/SolanaCustomFeeRequest' priority: '#/components/schemas/SolanaPriorityFeeRequest' type: type: string const: solana_raw_transaction title: Type description: A Solana raw transaction is for any operation. fail_on_prediction_failure: type: boolean title: Fail On Prediction Failure description: '`True` if the request should fail in case simulation failed, `False` otherwise.
In case simulation has failed upon continuation, the expected result of the transaction will be partial and policy will be applied on information that can be extracted statically from the transaction only. This might result in falling back to the default policy rule. ' default: true skip_simulation: type: boolean title: Skip Simulation description: '`True` to create a transaction without prediction, `False` otherwise.
In case of skipping simulation, the `simulation_status` will be `skipped` and the `expected_result` of the transaction will be empty. The policy will be applied on information that can be extracted statically from the transaction only. This might result in falling back to the default policy rule.
Note, it is recommended to use the default setting for this field and to turn off `fail_on_prediction_failure` instead - unless you wish to save time by omitting the prediction phase entirely. ' default: false chain: $ref: '#/components/schemas/SolanaChainUniqueId' description: The chain that this transaction is on. Specify the chain name (for example, `solana_mainnet`). transactions: items: $ref: '#/components/schemas/BatchSolanaTransactionInstanceDetails' type: array minItems: 1 title: Transactions description: Details of the transactions in the batch. type: object required: - type - chain - transactions title: BatchSolanaTransactionRequestDetails ApprovalState: type: string enum: - pending - approved - unauthorized - not_participated title: ApprovalState description: Represents an approval state of a single approver TransactionRisk: properties: type: $ref: '#/components/schemas/TransactionRiskType' description: ' Fordefi has detected that one or more of the following risks are associated with the requested transaction:' severity: $ref: '#/components/schemas/TransactionRiskSeverity' description: The severity of the risk. title: type: string title: Title description: The title of the risk. description: type: string title: Description description: A detailed description of the risk. type: object required: - type - severity - title - description title: TransactionRisk 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 CreateBatchTransactionResponse: properties: batch_id: type: string format: uuid title: Batch Id description: ID of the batch of transactions. transactions: items: $ref: '#/components/schemas/CreateBatchTransactionInstanceResponse' type: array title: Transactions type: object required: - batch_id - transactions title: CreateBatchTransactionResponse 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 TonChain: 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. type: object required: - chain_type - unique_id title: TonChain AbortTransactionErrorType: type: string enum: - invalid_transaction_state - non_managed_transaction - transactions_already_aborted - transaction_is_in_batch title: AbortTransactionErrorType PredictedSolanaSpotSwapDetails: properties: type: type: string const: spot_swap title: Type description: A Solana spot swap transaction is for swapping between two assets. slippage_bps: type: string pattern: ^\d+(\.\d+)?$ title: Slippage Bps description: The slippage in basis points. example: '1000000000000000000' price_impact_pct: type: string pattern: ^\d+(\.\d+)?$ title: Price Impact Pct description: The price impact in percentage. example: '1000000000000000000' rate: type: string pattern: ^\d+(\.\d+)?$ title: Rate description: The rate of the swap. example: '1000000000000000000' broadcast_mode: $ref: '#/components/schemas/SolanaSpotSwapBroadcastMode' description: The broadcast mode of the swap. input_asset: $ref: '#/components/schemas/AssetInfo' description: The input asset. output_asset: $ref: '#/components/schemas/AssetInfo' description: The output asset. recipients: items: $ref: '#/components/schemas/EnrichedSolanaAddress' type: array title: Recipients description: The recipients of the tokens. jito_suggested_fees: $ref: '#/components/schemas/JitoSolanaSuggestedFees' description: The suggested fees for Jito. type: object required: - type - slippage_bps - price_impact_pct - rate - broadcast_mode - input_asset - output_asset - recipients - jito_suggested_fees title: PredictedSolanaSpotSwapDetails SolanaTransactionResult: properties: reversion: $ref: '#/components/schemas/SolanaReversion' description: Details whether the transaction was reverted or not. transaction_error: title: Transaction Error description: The description of the error of the transaction. type: string enriched_fee: $ref: '#/components/schemas/SolanaFee' description: The fee of the transaction. effects: $ref: '#/components/schemas/SolanaEffects' description: The effects of the transaction. instruction_error: description: The description of the error of the instruction. $ref: '#/components/schemas/InstructionError' type: object required: - reversion - enriched_fee - effects title: SolanaTransactionResult StacksChainUniqueId: type: string enum: - stacks_mainnet title: StacksChainUniqueId RateLimitError: properties: {} type: object title: RateLimitError AddressLookupTableState: properties: addresses: items: $ref: '#/components/schemas/EnrichedSolanaAddress' type: array title: Addresses description: The addresses that are stored in the table. authority: description: The authority address which must sign for each modification. $ref: '#/components/schemas/EnrichedSolanaAddress' deactivation_slot: type: string pattern: ^0*[1-9]\d*$ title: Deactivation Slot description: The table can be closed when the deactivation slot is no longer the recent slot. example: '1000000000000000000' last_extended_slot: type: string pattern: ^0*[1-9]\d*$ title: Last Extended Slot description: The number of the last slot in which a change constitutes an extension of the table. example: '1000000000000000000' last_extended_slot_start_index: type: string pattern: ^\d+$ title: Last Extended Slot Start Index description: The start index where the table was last extended from during the `last_extended_slot`. example: '1000000000000000000' type: object required: - addresses - deactivation_slot - last_extended_slot - last_extended_slot_start_index title: AddressLookupTableState 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 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 UtxoOutput: properties: address: $ref: '#/components/schemas/EnrichedUtxoAddress' description: The address of the output. value: type: string pattern: ^\d+$ title: Value description: The value of the output. example: '1000000000000000000' is_change_address: title: Is Change Address description: Whether the output is a change address. type: boolean is_send_max: title: Is Send Max description: Whether the output is a send-max output. type: boolean type: object required: - address - value title: UtxoOutput SolanaEffects: properties: balance_changes: items: $ref: '#/components/schemas/SolanaBalanceChangeEffect' type: array title: Balance Changes description: The aggregated balance changes of addresses. transfers: items: $ref: '#/components/schemas/SolanaTransferEffect' type: array title: Transfers description: The transfer events of the transaction. allowances: items: $ref: '#/components/schemas/SolanaAllowanceEffect' type: array title: Allowances description: Allowances set or modified as a result of the transaction type: object required: - balance_changes - transfers - allowances title: SolanaEffects 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 ChainalysisScanResult: properties: type: type: string const: chainalysis title: Type description: The type of the policy. alerts: items: $ref: '#/components/schemas/ChainalysisAlert' type: array title: Alerts description: The list of alerts. external_id: type: string format: uuid title: External Id description: A unique identifier of the scan. type: object required: - type - alerts - external_id title: ChainalysisScanResult 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. CosmosChain: 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. type: object required: - chain_type - unique_id title: CosmosChain SuiChain: 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. type: object required: - chain_type - unique_id title: SuiChain 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. UtxoInput: properties: address: $ref: '#/components/schemas/EnrichedUtxoAddress' description: The address of the input. value: type: string pattern: ^\d+$ title: Value description: The value of the input. example: '1000000000000000000' should_sign: type: boolean title: Should Sign description: '`True` if this is signed by the creating vault (relevant for PSBT), `False` otherwise.' default: true type: object required: - address - value title: UtxoInput 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 RelatedTransactionType: type: string enum: - swap_fulfilled_by - swap_fulfilling - bridge_intent - bridge_source - bridge_destination - stellar_claim_of - stellar_claimed_by - canton_accept_of - canton_accepted_by title: RelatedTransactionType UtxoChainUniqueId: type: string enum: - bitcoin_mainnet - bitcoin_testnet - bitcoin_testnet_v4 - dogecoin_mainnet - bitcoin_cash_mainnet - pearl_testnet - pearl_mainnet title: UtxoChainUniqueId Block: properties: number: type: integer title: Number description: The block number. hash: title: Hash description: The block hash. type: string mined_at: type: string format: date-time title: Mined At description: The date and time when this block was mined. type: object required: - number - mined_at title: Block RequestApprover: properties: user: oneOf: - $ref: '#/components/schemas/PersonRef' - $ref: '#/components/schemas/ApiUserRef' discriminator: propertyName: user_type mapping: api_user: '#/components/schemas/ApiUserRef' person: '#/components/schemas/PersonRef' modified_at: type: string format: date-time title: Modified At description: The date and time when this approval was modified. decision: title: Decision description: The decision of the approver. deprecated: true type: string state: $ref: '#/components/schemas/ApprovalState' description: The state of the approval request for this approver. type: object required: - user - modified_at - state title: RequestApprover description: Represents a single approver in an approval request CreateTransactionErrorType: type: string enum: - reverted_transaction - partial_signed_raw_request - blocked_by_policy - transaction_contains_restricted_addresses - vault_not_found - missing_signed_raw_request - redundant_signed_raw_request - transaction_to_non_contract - insecure_key_derivation - invalid_signed_raw_request - invalid_signer_type - invalid_evm_message - invalid_evm_transaction_data - insufficient_funds - vault_type_mismatch - invalid_creator_type - invalid_recipient - dust_not_allowed - invalid_gas_type - insufficient_approvers - funding_blocked_by_policy - funder_not_allowed_for_transaction_type - origin_vault_used_as_funder - mixed_secure_and_non_secure_transactions - invalid_push_mode - chain_does_not_support_secure_node - invalid_solana_secret_key - invalid_solana_raw_transaction_accounts_field - insufficient_gas_coins - invalid_aptos_serialized_entry_point - invalid_aptos_serialized_type - invalid_aptos_rotate_key - sui_package_address_not_found - transaction_already_mined - invalid_utxo_message_address_type - invalid_starknet_vault_state - missing_secret_key_or_recent_blockhash - missing_secret_key_or_signature - revoke_allowance_gas_limit_too_high - chain_is_disabled - priority_fee_already_set - quote_not_found - invalid_transaction_gas_config_field - chain_is_not_supported - gas_sponsor_not_enabled_for_organization - chain_does_not_support_7702 - creating_user_operation_message_is_blocked - transaction_fee_exceeds_limit - transaction_not_pushable - aml_not_configured - transaction_not_frozen - send_7702_transaction_to_self - vault_is_not_smart_account - invalid_canton_vault_registration_state - failed_finding_wrapped_native_token title: CreateTransactionErrorType 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 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 SolanaRawTransactionDetails: properties: type: type: string const: raw_transaction title: Type description: A transaction capable of any operation. recipients: items: $ref: '#/components/schemas/EnrichedSolanaAddress' type: array title: Recipients description: The recipients of the tokens. type: object required: - type - recipients title: SolanaRawTransactionDetails 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. PushableTransactionState: type: string enum: - waiting_for_approval - waiting_for_signing_trigger - approved - finalized_for_signing - signed - pushed_to_blockchain - mined - completed - aborted - error_pushing_to_blockchain - mined_reverted - completed_reverted - error_signing - stuck - dropped - queued - accelerating - canceling - accelerated - cancelled - insufficient_funds title: PushableTransactionState 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 ContactRef: properties: id: type: string format: uuid title: Id description: The unique identifier of the address book contact in the Fordefi platform. name: type: string title: Name description: The name of the contact. address_ref: oneOf: - $ref: '#/components/schemas/AptosAddressBookContactAddressRef' - $ref: '#/components/schemas/ArchAddressBookContactAddressRef' - $ref: '#/components/schemas/CantonAddressBookContactAddressRef' - $ref: '#/components/schemas/CosmosAddressBookContactAddressRef' - $ref: '#/components/schemas/EVMAddressBookContactAddressRef' - $ref: '#/components/schemas/SolanaAddressBookContactAddressRef' - $ref: '#/components/schemas/StacksAddressBookContactAddressRef' - $ref: '#/components/schemas/StarknetAddressBookContactAddressRef' - $ref: '#/components/schemas/StellarAddressBookContactAddressRef' - $ref: '#/components/schemas/SuiAddressBookContactAddressRef' - $ref: '#/components/schemas/TonAddressBookContactAddressRef' - $ref: '#/components/schemas/TronAddressBookContactAddressRef' - $ref: '#/components/schemas/UtxoAddressBookContactAddressRef' discriminator: propertyName: chain_type mapping: aptos: '#/components/schemas/AptosAddressBookContactAddressRef' arch: '#/components/schemas/ArchAddressBookContactAddressRef' canton: '#/components/schemas/CantonAddressBookContactAddressRef' cosmos: '#/components/schemas/CosmosAddressBookContactAddressRef' evm: '#/components/schemas/EVMAddressBookContactAddressRef' solana: '#/components/schemas/SolanaAddressBookContactAddressRef' stacks: '#/components/schemas/StacksAddressBookContactAddressRef' starknet: '#/components/schemas/StarknetAddressBookContactAddressRef' stellar: '#/components/schemas/StellarAddressBookContactAddressRef' sui: '#/components/schemas/SuiAddressBookContactAddressRef' ton: '#/components/schemas/TonAddressBookContactAddressRef' tron: '#/components/schemas/TronAddressBookContactAddressRef' utxo: '#/components/schemas/UtxoAddressBookContactAddressRef' type: object required: - id - name - address_ref title: ContactRef description: Represents a reference to an address book contact in the Fordefi platform. 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 SolanaAllowanceEffect: properties: priced_asset: $ref: '#/components/schemas/PricedAsset' description: The asset information. amount: type: string pattern: ^\d+$ title: Amount description: The amount of the transfer. example: '1000000000000000000' owner: $ref: '#/components/schemas/EnrichedSolanaAddress' description: The owner of the tokens spender: $ref: '#/components/schemas/EnrichedSolanaAddress' description: The address allowed to spend type: object required: - priced_asset - amount - owner - spender title: SolanaAllowanceEffect 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 SolanaEnrichedMessageAddressTableLookup: properties: account_key: $ref: '#/components/schemas/SolanaAddress' description: The address of the lookup table. writable_indexes: items: type: integer type: array title: Writable Indexes description: Indexes of writable accounts in the lookup table. readonly_indexes: items: type: integer type: array title: Readonly Indexes description: Indexes of read-only accounts in the lookup table. state: $ref: '#/components/schemas/AddressLookupTableState' description: The state of the lookup table. type: object required: - account_key - writable_indexes - readonly_indexes - state title: SolanaEnrichedMessageAddressTableLookup SimulationStatusResult: properties: simulation_status: description: The status of simulation result. $ref: '#/components/schemas/SimulationStatus' details: type: string title: Details description: Details about transaction reversion if occurred. type: object required: - details title: SimulationStatusResult GasType: type: string enum: - dynamic - legacy title: GasType StellarChainUniqueId: type: string enum: - stellar_mainnet title: StellarChainUniqueId TronAddressBookContactAddressRef: properties: chain_type: type: string const: tron title: Chain Type description: The type of the chain. address: type: string maxLength: 34 minLength: 34 pattern: ^T[a-km-zA-HJ-NP-Z1-9]+$ title: Address description: The address on the TRON chain. example: TJCnKsPa7y5okkXvQAidZBzqx3QyQ6sxMW chains: items: $ref: '#/components/schemas/TronChain' type: array title: Chains description: The chains the contact belongs to. memo: title: Memo description: Memo is an additional address feature used for identifying a recipient. type: string type: object required: - chain_type - address - chains title: TronAddressBookContactAddressRef PredictBatchSolanaTransactionRequest: properties: should_run_policy_check: type: boolean title: Should Run Policy Check description: Should run a policy check default: true vault_id: type: string format: uuid title: Vault Id description: The unique identifier of the vault. note: title: Note description: An optional transaction note. type: string type: type: string const: solana_transaction title: Type description: The type of the transaction. details: oneOf: - $ref: '#/components/schemas/BatchSolanaTransactionRequestDetails' discriminator: propertyName: type mapping: solana_raw_transaction: '#/components/schemas/BatchSolanaTransactionRequestDetails' type: object required: - vault_id - type - details title: PredictBatchSolanaTransactionRequest BatchSolanaTransactionInstanceDetails: properties: version: $ref: '#/components/schemas/SolanaMessageVersion' description: The version of the transaction message. instructions: items: $ref: '#/components/schemas/SolanaCompiledInstructionRequest' type: array title: Instructions description: The instructions of the transaction. accounts: items: $ref: '#/components/schemas/SolanaTransactionAccountRequest' type: array title: Accounts description: Accounts used in the transaction. address_table_lookups: items: $ref: '#/components/schemas/SolanaMessageAddressTableLookupRequest' type: array title: Address Table Lookups description: Lookup tables of accounts used in the transaction. signatures: title: Signatures description: Any partial signatures on the transaction. items: $ref: '#/components/schemas/SolanaTransactionSignaturesRequest' type: array recent_blockhash: title: Recent Blockhash description: The transaction nonce (a recently processed blockhash). type: string maxLength: 44 minLength: 32 pattern: ^[a-km-zA-HJ-NP-Z1-9]+$ example: 4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZAMdL4VZHirAn type: object required: - version - instructions - accounts - address_table_lookups title: BatchSolanaTransactionInstanceDetails StateChangeReason: type: string enum: - failed_to_verify_signature - original_transaction_was_completed - stale_nonce - quote_expired - another_dlc_transaction_was_completed - fee_limit_exceeded - not_in_mempool_or_chain - exchange_withdraw_address_not_whitelisted - exchange_invalid_api_key_permissions - exchange_funds_pending_settlement - exchange_withdrawal_limit_exceeded - exchange_security_and_policy_holds - exchange_service_unavailable title: StateChangeReason ApprovalRequest: properties: state: $ref: '#/components/schemas/ApprovalRequestState' description: The state of the approval request. required_groups: type: integer title: Required Groups description: The number of required approval groups. approval_groups: items: $ref: '#/components/schemas/ApprovalRequestGroup' type: array title: Approval Groups description: A list of the possible approvers from different groups. error_message: title: Error Message description: The error message if the request failed. type: string type: object required: - state - required_groups - approval_groups title: ApprovalRequest description: Represents an approval request for an action in the Fordefi platform TransactionSpamState: type: string enum: - unset - manually_set - automatically_set title: TransactionSpamState ActionSigningRequest: properties: created_by: $ref: '#/components/schemas/UserRef' description: The user who created the action. signers: items: $ref: '#/components/schemas/ActionSigner' type: array title: Signers description: A list of required signers. A signer can be a person or an API Signer. type: object required: - created_by - signers title: ActionSigningRequest description: Represents a device sign request for an action in the Foredefi platform 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 ApprovalRequestGroup: properties: quorum_size: type: integer title: Quorum Size description: The number of approvers required to approve the transaction. approvers: items: $ref: '#/components/schemas/RequestApprover' type: array title: Approvers description: A list of the possible approvers. type: object required: - quorum_size - approvers title: ApprovalRequestGroup 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' SolanaTransaction: 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. managed_transaction_data: description: 'Managed transaction data. Presented if the transaction was initiated from the Fordefi system itself, in contrast to unmanaged transactions (which are, for example, transfers of funds into a vault visible to Fordefi). ' $ref: '#/components/schemas/ManagedTransactionData' signatures: items: $ref: '#/components/schemas/Signature' type: array title: Signatures description: The transaction signatures. note: title: Note description: An optional transaction note. type: string spam_state: $ref: '#/components/schemas/TransactionSpamState' description: '`automatically_set` if the transaction was automatically set as spam by Fordefi, `manually_set` if the transaction was manually set as spam by a user, and `unset` if the transaction was not set as spam.' default: unset direction: $ref: '#/components/schemas/TransactionDirection' description: The direction of the transaction. signed_externally: type: boolean title: Signed Externally description: Whether the transaction was signed by an external user (for example in case of imported vault). default: false interacted_vaults: items: $ref: '#/components/schemas/VaultRef' type: array title: Interacted Vaults description: The vaults that interacted with the transaction. related_transactions: title: Related Transactions description: The related transactions. items: $ref: '#/components/schemas/RelatedTransaction' type: array organization_id: type: string format: uuid title: Organization Id description: The organization that the transaction belongs to. block: description: The block of the transaction. $ref: '#/components/schemas/Block' state: $ref: '#/components/schemas/PushableTransactionState' description: The state of the transaction. state_changes: items: $ref: '#/components/schemas/PushableTransactionStateChange' type: array title: State Changes description: The state changes of the transaction. aml_check: description: The AML check. $ref: '#/components/schemas/AmlCheck' mined_result_status: description: The mined result status of the transaction. $ref: '#/components/schemas/MinedResultStatus' simulation_status_result: description: Whether simulation succeeded, reverted or failed. $ref: '#/components/schemas/SimulationStatusResult' type: type: string const: solana_transaction title: Type description: The type of the transaction. solana_transaction_type_details: oneOf: - $ref: '#/components/schemas/SolanaNativeTransferDetails' - $ref: '#/components/schemas/SolanaTokenTransferDetails' - $ref: '#/components/schemas/SolanaRawTransactionDetails' description: Details of the Solana transaction based on its type. discriminator: propertyName: type mapping: native_transfer: '#/components/schemas/SolanaNativeTransferDetails' raw_transaction: '#/components/schemas/SolanaRawTransactionDetails' token_transfer: '#/components/schemas/SolanaTokenTransferDetails' chain: $ref: '#/components/schemas/EnrichedSolanaChain' description: The details of the chain this transaction is on. version: $ref: '#/components/schemas/SolanaMessageVersion' description: The version of the transaction message. instructions: items: $ref: '#/components/schemas/SolanaCompiledInstruction' type: array title: Instructions description: The instructions of the transaction. accounts: items: $ref: '#/components/schemas/SolanaTransactionAccount' type: array title: Accounts description: Accounts used in the transaction. address_table_lookups: items: $ref: '#/components/schemas/SolanaEnrichedMessageAddressTableLookup' type: array title: Address Table Lookups description: Lookup tables of accounts used in the transaction. sender: $ref: '#/components/schemas/EnrichedSolanaAddress' description: The sender of the transaction. raw_transaction: title: Raw Transaction description: The serialized transaction encoded as a base64 string type: string example: SGVsbG8= hash: title: Hash description: The first signature of the transaction. type: string maxLength: 88 minLength: 64 pattern: ^[a-km-zA-HJ-NP-Z1-9]+$ example: FAWA66fudpiwdRDDQ4DRxdJsRvawvauwg4vQkm98ZHFpXmW5N7xzRiTRpt8QiZ19s1aVbzKgXW6kEZanwHeDFNS recent_blockhash: title: Recent Blockhash description: The transaction nonce (last block hash). type: string maxLength: 44 minLength: 32 pattern: ^[a-km-zA-HJ-NP-Z1-9]+$ example: 4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZAMdL4VZHirAn expected_result: description: The expected result of the transaction in case it is mined. $ref: '#/components/schemas/SolanaTransactionResult' mined_result: description: The result of the transaction after it was mined. $ref: '#/components/schemas/SolanaTransactionResult' explorer_url: title: Explorer Url description: The URL of this transaction in a blockchain explorer. For example, Solscan. example: https://solscan.io/tx/FAWA66f...6kEZanwHeDFNS type: string maxLength: 2083 minLength: 1 format: uri was_fee_set_in_request: type: boolean title: Was Fee Set In Request description: Whether the priority fee was already set in the request with a ComputeBudget instruction. fee_payer: description: The address that pays the fee for this transaction (first account in the transaction). $ref: '#/components/schemas/EnrichedSolanaAddress' type: object required: - id - created_at - modified_at - signatures - direction - interacted_vaults - organization_id - state - state_changes - type - solana_transaction_type_details - chain - version - instructions - accounts - address_table_lookups - sender - was_fee_set_in_request title: SolanaTransaction CreateBatchTransactionRequest: oneOf: - $ref: '#/components/schemas/CreateBatchSolanaTransactionRequest' - $ref: '#/components/schemas/CreateBatchUtxoDlcTransactionRequest' discriminator: propertyName: type mapping: solana_transaction: '#/components/schemas/CreateBatchSolanaTransactionRequest' utxo_dlc_transaction: '#/components/schemas/CreateBatchUtxoDlcTransactionRequest' 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 UserRole: type: string enum: - admin - trader - viewer title: UserRole ExchangeType: type: string enum: - binance - bybit - coinbase_international - coinbase_us - okx - kraken title: ExchangeType StarknetChain: 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. type: object required: - chain_type - unique_id title: StarknetChain 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 SignMode: type: string enum: - auto - triggered title: SignMode 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 StarknetAddressBookContactAddressRef: properties: chain_type: type: string const: starknet title: Chain Type description: The type of the chain. address: type: string maxLength: 66 minLength: 66 pattern: ^0[xX][a-fA-F0-9]+$ title: Address description: The address on the Starknet chain. example: '0x0448f450e64B50dDF49e9F95C5b63a15cD21E21a39cA2D45628d9E5B27e5e1D8' chains: items: $ref: '#/components/schemas/StarknetChain' type: array title: Chains description: The chains the contact belongs to. type: object required: - chain_type - address - chains title: StarknetAddressBookContactAddressRef 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 ArchChain: 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. type: object required: - chain_type - unique_id title: ArchChain AmlPolicyMatchOutgoing: properties: is_default: type: boolean title: Is Default description: '`True` if this is the default rule, `False` otherwise.' rule_id: type: string format: uuid title: Rule Id description: The unique identifier of the rule. rule_name: type: string title: Rule Name description: The name of the rule. action_type: $ref: '#/components/schemas/AmlPolicyMatchOutgoingActionType' description: 'The action taken in the event of a policy match. Can be: ' type: object required: - is_default - rule_id - rule_name - action_type title: AmlPolicyMatchOutgoing PushMode: type: string enum: - auto - manual - deferred title: PushMode 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 EnrichedSolanaAddress: properties: vault: description: The vault corresponding to this address. $ref: '#/components/schemas/VaultRef' explorer_url: title: Explorer Url description: The URL of a blockchain explorer that provides real-time information about the address. type: string maxLength: 2083 minLength: 1 format: uri contact: description: The contact details of this address. $ref: '#/components/schemas/ContactRef' type: type: string const: solana title: Type address: type: string maxLength: 44 minLength: 32 pattern: ^[a-km-zA-HJ-NP-Z1-9]+$ title: Address description: The Solana address represented in Base58 format. example: 4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA contract: description: The details of the contract corresponding to this address. $ref: '#/components/schemas/SolanaContractMetadata' type: object required: - type - address title: EnrichedSolanaAddress PredictedUtxoDlcTransaction: properties: policy_match: description: The policy match. $ref: '#/components/schemas/PolicyMatch' matched_policies: items: $ref: '#/components/schemas/PolicyMatch' type: array title: Matched Policies description: List of policies matched by the transactions in the batch. approval_request: description: The approval request. $ref: '#/components/schemas/ApprovalRequest' risks: items: $ref: '#/components/schemas/TransactionRisk' type: array title: Risks description: The list of risks associated with this transaction. note: title: Note description: An optional transaction note. type: string tx_policy_explanation_id: title: Tx Policy Explanation Id description: The id of the transaction policy explanation produced for this prediction, if any. type: string format: uuid aml_policy_match: description: The AML policy match. $ref: '#/components/schemas/AmlPolicyMatchOutgoing' aml_results: description: The AML results. $ref: '#/components/schemas/AmlResults' simulation_status_result: description: Whether simulation succeeded, reverted or failed. $ref: '#/components/schemas/SimulationStatusResult' type: type: string const: utxo_dlc_transaction title: Type description: The type of the batch. funding_transaction: $ref: '#/components/schemas/PredictedUtxoTransaction' description: The funding transaction. refund_transaction: $ref: '#/components/schemas/PredictedUtxoTransaction' description: The refund transaction. cet_transactions: items: $ref: '#/components/schemas/PredictedUtxoTransaction' type: array title: Cet Transactions description: The Contract Execution Transactions. type: object required: - matched_policies - risks - type - funding_transaction - refund_transaction - cet_transactions title: PredictedUtxoDlcTransaction 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 PredictBatchUtxoDlcTransactionRequest: properties: should_run_policy_check: type: boolean title: Should Run Policy Check description: Should run a policy check default: true vault_id: type: string format: uuid title: Vault Id description: The unique identifier of the vault. note: title: Note description: An optional transaction note. type: string type: type: string const: utxo_dlc_transaction title: Type description: The type of the transaction. details: $ref: '#/components/schemas/BatchDlcTransactionRequestDetails' description: The DLC transaction details. type: object required: - vault_id - type - details title: PredictBatchUtxoDlcTransactionRequest 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