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

\n A transaction represents an operation that can be one of the following:\n \n Consult the developer guide for more information on\n creating,\n monitoring,\n and simulating tranasctions." paths: /api/v1/transactions/export: get: tags: - Transactions summary: Export Transactions description: Start the export process for filtered transactions using cursor pagination. operationId: export_transactions_api_v1_transactions_export_get parameters: - name: limit in: query required: false schema: description: The amount of transactions to export, unlimited if not set. title: Limit type: integer description: The amount of transactions to export, unlimited if not set. - name: created_before in: query required: false schema: title: Created Before type: string format: date-time - name: created_after in: query required: false schema: title: Created After type: string format: date-time - name: modified_after in: query required: false schema: title: Modified After type: string format: date-time - name: vault_ids in: query required: false schema: description: 'The filter applies both to transactions that have been signed by the vault and also to transactions that have interacted with the vault. ' title: Vault Ids type: array items: type: string format: uuid description: 'The filter applies both to transactions that have been signed by the vault and also to transactions that have interacted with the vault. ' - name: chains in: query required: false schema: title: Chains type: array items: type: string minLength: 1 description: The unique chain ID.
Can be either one of those supported by the default chains below or a custom numeric EVM chain ID `evm_` if one was added to your organization. title: ChainUniqueId - name: initiator_ids in: query required: false schema: title: Initiator Ids type: array items: type: string format: uuid - name: types in: query required: false schema: title: Types type: array items: $ref: '#/components/schemas/TransactionType' - name: sub_types in: query required: false schema: title: Sub Types type: array items: $ref: '#/components/schemas/TransactionSubType' - name: signer_types in: query required: false schema: title: Signer Types type: array items: $ref: '#/components/schemas/SignerType' - name: user_types in: query required: false schema: title: User Types type: array items: $ref: '#/components/schemas/UserType' - name: transaction_ids in: query required: false schema: title: Transaction Ids type: array items: type: string format: uuid - name: end_user_ids in: query required: false schema: title: End User Ids type: array items: type: string format: uuid - name: asset_ids in: query required: false schema: title: Asset Ids type: array items: type: string format: uuid - name: direction in: query required: false schema: title: Direction $ref: '#/components/schemas/TransactionDirection' - name: transaction_hashes in: query required: false schema: description: Transaction hashes to filter by. Will return transactions with any of the specified hashes. The format of the hash depends on the blockchain type. title: Transaction Hashes type: array items: type: string description: Transaction hashes to filter by. Will return transactions with any of the specified hashes. The format of the hash depends on the blockchain type. - name: search in: query required: false schema: description: String to search transactions by ID or hash. title: Search type: string description: String to search transactions by ID or hash. - name: frozen in: query required: false schema: description: Filter for frozen transactions or transactions that were unfrozen. title: Frozen type: boolean description: Filter for frozen transactions or transactions that were unfrozen. - name: claimed in: query required: false schema: description: Filter for transactions waiting for the receiver to claim or accept. `true` selects settled transfers (Stellar claimable balances that were claimed, Canton transfers that were accepted). `false` selects ones not yet settled — still pending receiver action, or (Canton) already expired. title: Claimed type: boolean description: Filter for transactions waiting for the receiver to claim or accept. `true` selects settled transfers (Stellar claimable balances that were claimed, Canton transfers that were accepted). `false` selects ones not yet settled — still pending receiver action, or (Canton) already expired. responses: '200': description: Successful Response content: application/json: schema: title: Response Export Transactions Api V1 Transactions Export Get $ref: '#/components/schemas/Export' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/PreconditionFailedError' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationError' '500': description: Unexpected Error content: application/json: schema: $ref: '#/components/schemas/BaseError' '401': description: Unauthorized User content: application/json: schema: $ref: '#/components/schemas/BaseError' '403': description: Forbidden User content: application/json: schema: $ref: '#/components/schemas/BaseError' '408': description: Request Timeout content: application/json: schema: $ref: '#/components/schemas/BaseError' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/RateLimitError' '204': description: No Content /api/v1/transactions/index-by-hash: post: tags: - Transactions summary: Index Transaction By Hash operationId: index_transaction_by_hash_api_v1_transactions_index_by_hash_post requestBody: content: application/json: schema: $ref: '#/components/schemas/IndexTransactionByHashRequest' required: true responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/IndexTransactionByHashResponse' '400': description: Invalid Argument content: application/json: schema: $ref: '#/components/schemas/InvalidArgumentError' '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/transactions/{id}: get: tags: - Transactions summary: Get Transaction description: Retrieve transaction details. operationId: get_transaction_api_v1_transactions__id__get parameters: - name: id in: path required: true schema: type: string format: uuid description: ID of the transaction to retrieve. title: Id description: ID of the transaction to retrieve. responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/GetTransactionResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/PreconditionFailedError' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationError' '500': description: Unexpected Error content: application/json: schema: $ref: '#/components/schemas/BaseError' '401': description: Unauthorized User content: application/json: schema: $ref: '#/components/schemas/BaseError' '403': description: Forbidden User content: application/json: schema: $ref: '#/components/schemas/BaseError' '408': description: Request Timeout content: application/json: schema: $ref: '#/components/schemas/BaseError' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/RateLimitError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ResourceError' /api/v1/transactions: get: tags: - Transactions summary: List Transactions description: Get a list of all transactions in an organization. operationId: list_transactions_api_v1_transactions_get parameters: - name: page in: query required: false schema: type: integer minimum: 1 description: The page number to fetch. default: 1 title: Page description: The page number to fetch. - name: size in: query required: false schema: type: integer maximum: 100 minimum: 0 description: The number of items per page. default: 50 title: Size description: The number of items per page. - name: skip_count in: query required: false schema: type: boolean description: Whether to skip counting the total number of items. default: false title: Skip Count description: Whether to skip counting the total number of items. - name: created_before in: query required: false schema: title: Created Before type: string format: date-time - name: created_after in: query required: false schema: title: Created After type: string format: date-time - name: modified_after in: query required: false schema: title: Modified After type: string format: date-time - name: vault_ids in: query required: false schema: description: 'The filter applies both to transactions that have been signed by the vault and also to transactions that have interacted with the vault. ' title: Vault Ids type: array items: type: string format: uuid description: 'The filter applies both to transactions that have been signed by the vault and also to transactions that have interacted with the vault. ' - name: chains in: query required: false schema: title: Chains type: array items: type: string minLength: 1 description: The unique chain ID.
Can be either one of those supported by the default chains below or a custom numeric EVM chain ID `evm_` if one was added to your organization. title: ChainUniqueId - name: initiator_ids in: query required: false schema: title: Initiator Ids type: array items: type: string format: uuid - name: types in: query required: false schema: title: Types type: array items: $ref: '#/components/schemas/TransactionType' - name: sub_types in: query required: false schema: title: Sub Types type: array items: $ref: '#/components/schemas/TransactionSubType' - name: signer_types in: query required: false schema: title: Signer Types type: array items: $ref: '#/components/schemas/SignerType' - name: user_types in: query required: false schema: title: User Types type: array items: $ref: '#/components/schemas/UserType' - name: transaction_ids in: query required: false schema: title: Transaction Ids type: array items: type: string format: uuid - name: end_user_ids in: query required: false schema: title: End User Ids type: array items: type: string format: uuid - name: asset_ids in: query required: false schema: title: Asset Ids type: array items: type: string format: uuid - name: direction in: query required: false schema: title: Direction $ref: '#/components/schemas/TransactionDirection' - name: transaction_hashes in: query required: false schema: description: Transaction hashes to filter by. Will return transactions with any of the specified hashes. The format of the hash depends on the blockchain type. title: Transaction Hashes type: array items: type: string description: Transaction hashes to filter by. Will return transactions with any of the specified hashes. The format of the hash depends on the blockchain type. - name: search in: query required: false schema: description: String to search transactions by ID or hash. title: Search type: string description: String to search transactions by ID or hash. - name: frozen in: query required: false schema: description: Filter for frozen transactions or transactions that were unfrozen. title: Frozen type: boolean description: Filter for frozen transactions or transactions that were unfrozen. - name: claimed in: query required: false schema: description: Filter for transactions waiting for the receiver to claim or accept. `true` selects settled transfers (Stellar claimable balances that were claimed, Canton transfers that were accepted). `false` selects ones not yet settled — still pending receiver action, or (Canton) already expired. title: Claimed type: boolean description: Filter for transactions waiting for the receiver to claim or accept. `true` selects settled transfers (Stellar claimable balances that were claimed, Canton transfers that were accepted). `false` selects ones not yet settled — still pending receiver action, or (Canton) already expired. - name: states in: query required: false schema: description: State of the transaction. Can be one of the following:`aborted` `accelerated` `accelerating` `approved` `canceling` `cancelled` `completed` `completed_reverted` `dropped` `error_processing_by_exchange` `error_pushing_to_blockchain` `error_signing` `error_submitting_to_exchange` `error_submitting_to_provider` `finalized_for_signing` `insufficient_funds` `mined` `mined_reverted` `pending_exchange` `pushed_to_blockchain` `queued` `sent_to_provider` `signed` `stuck` `waiting_for_approval` `waiting_for_signing_trigger`, or an aggregation of states: title: States type: array items: anyOf: - $ref: '#/components/schemas/AggregatedTransactionState' - $ref: '#/components/schemas/PushableTransactionState' - $ref: '#/components/schemas/NonPushableTransactionState' - $ref: '#/components/schemas/ExchangeTransactionState' description: State of the transaction. Can be one of the following:`aborted` `accelerated` `accelerating` `approved` `canceling` `cancelled` `completed` `completed_reverted` `dropped` `error_processing_by_exchange` `error_pushing_to_blockchain` `error_signing` `error_submitting_to_exchange` `error_submitting_to_provider` `finalized_for_signing` `insufficient_funds` `mined` `mined_reverted` `pending_exchange` `pushed_to_blockchain` `queued` `sent_to_provider` `signed` `stuck` `waiting_for_approval` `waiting_for_signing_trigger`, or an aggregation of states: - name: is_hidden in: query required: false schema: title: Is Hidden type: boolean - name: include_full_response in: query required: false schema: type: boolean default: true title: Include Full Response - name: batch_ids in: query required: false schema: title: Batch Ids type: array items: type: string format: uuid - name: include_blackbox in: query required: false schema: title: Include Blackbox type: boolean - name: policy_rule_ids in: query required: false schema: title: Policy Rule Ids type: array items: type: string format: uuid - name: sort_by in: query required: false schema: title: Sort By type: array items: $ref: '#/components/schemas/TransactionSortableFields' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ListTransactionResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/PreconditionFailedError' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationError' '500': description: Unexpected Error content: application/json: schema: $ref: '#/components/schemas/BaseError' '401': description: Unauthorized User content: application/json: schema: $ref: '#/components/schemas/BaseError' '403': description: Forbidden User content: application/json: schema: $ref: '#/components/schemas/BaseError' '408': description: Request Timeout content: application/json: schema: $ref: '#/components/schemas/BaseError' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/RateLimitError' post: tags: - Transactions summary: Create Transaction description: Create a new transaction. operationId: create_transaction_api_v1_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/CreateTransactionRequest' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/CreateTransactionResponse' '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/transactions/transfer: post: tags: - Transactions summary: Create Transfer description: Create basic transfer transaction. operationId: create_transfer_api_v1_transactions_transfer_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/CreateTransferRequest' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/CreateTransactionResponse' '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/transactions/create-and-wait: post: tags: - Transactions summary: Create Transaction And Wait description: Create a new transaction and wait until transaction reaches given state. operationId: create_transaction_and_wait_api_v1_transactions_create_and_wait_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/CreateTransactionWithWaitRequest' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/CreateTransactionWithWaitResponse' '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/transactions/{id}/approve: post: tags: - Transactions summary: Approve Transaction description: 'Approve a transaction. A transaction awaits approval when the caller API user has been specified as a potential approver in the policy and the transaction is in the `waiting_for_approval` state.' operationId: approve_transaction_api_v1_transactions__id__approve_post parameters: - name: id in: path required: true schema: type: string format: uuid description: ID of the transaction to approve. title: Id description: ID of the transaction to approve. 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' /api/v1/transactions/{id}/abort: post: tags: - Transactions summary: Abort Transaction description: "Abort a transaction.\n\nAbort is possible only for a transaction that is in one of the following states:\n \n\nThe aborting user must be one of the following:\n\n\nAPI users can abort only the transactions they created." operationId: abort_transaction_api_v1_transactions__id__abort_post parameters: - name: id in: path required: true schema: type: string format: uuid description: ID of the transaction to abort. title: Id description: ID of the transaction to abort. 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/transactions/{id}/release: post: tags: - Transactions summary: Release Transaction description: Release a transaction. operationId: release_transaction_api_v1_transactions__id__release_post parameters: - name: id in: path required: true schema: type: string format: uuid description: ID of the transaction to release. title: Id description: ID of the transaction to release. - 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. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ReleaseTransactionRequest' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ReleaseTransactionResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/DefinedPreconditionError_ReleaseTransactionErrorType_' '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/transactions/predict: post: tags: - Transactions summary: Predict Transaction description: 'Simulate the transaction and changes in token balances, in addition to the fee estimation.' operationId: predict_transaction_api_v1_transactions_predict_post requestBody: content: application/json: schema: $ref: '#/components/schemas/PredictTransactionRequest' required: true responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/PredictTransactionResponse' '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/transactions/{id}/push: post: tags: - Transactions summary: Push Transaction description: 'Push an existing signed transaction to the chain. The transaction must have been previously created with a `push_mode: manual` flag and must now be in state `signed`.' operationId: push_transaction_api_v1_transactions__id__push_post parameters: - name: id in: path required: true schema: type: string format: uuid description: ID of the transaction to be pushed to chain. title: Id description: ID of the transaction to be pushed to chain. requestBody: content: application/json: schema: title: Request $ref: '#/components/schemas/PushTransactionRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/PushTransactionResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/PreconditionFailedError' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationError' '500': description: Unexpected Error content: application/json: schema: $ref: '#/components/schemas/BaseError' '401': description: Unauthorized User content: application/json: schema: $ref: '#/components/schemas/BaseError' '403': description: Forbidden User content: application/json: schema: $ref: '#/components/schemas/BaseError' '408': description: Request Timeout content: application/json: schema: $ref: '#/components/schemas/BaseError' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/RateLimitError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ResourceError' /api/v1/transactions/{id}/update-spam-state: put: tags: - Transactions summary: Update Transaction Spam State description: Update transaction's spam state. operationId: update_transaction_spam_state_api_v1_transactions__id__update_spam_state_put parameters: - name: id in: path required: true schema: type: string format: uuid description: ID of the transaction to update spam state for. title: Id description: ID of the transaction to update spam state for. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateTransactionSpamStateRequest' responses: '204': description: Successful Response '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/PreconditionFailedError' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationError' '500': description: Unexpected Error content: application/json: schema: $ref: '#/components/schemas/BaseError' '401': description: Unauthorized User content: application/json: schema: $ref: '#/components/schemas/BaseError' '403': description: Forbidden User content: application/json: schema: $ref: '#/components/schemas/BaseError' '408': description: Request Timeout content: application/json: schema: $ref: '#/components/schemas/BaseError' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/RateLimitError' /api/v1/transactions/{id}/trigger-signing: post: tags: - Transactions summary: Trigger Transaction Signing description: Trigger transaction signing. operationId: trigger_transaction_signing_api_v1_transactions__id__trigger_signing_post parameters: - name: id in: path required: true schema: type: string format: uuid description: ID of the transaction to trigger. title: Id description: ID of the transaction to trigger. responses: '204': description: Successful Response '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/PreconditionFailedError' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationError' '500': description: Unexpected Error content: application/json: schema: $ref: '#/components/schemas/BaseError' '401': description: Unauthorized User content: application/json: schema: $ref: '#/components/schemas/BaseError' '403': description: Forbidden User content: application/json: schema: $ref: '#/components/schemas/BaseError' '408': description: Request Timeout content: application/json: schema: $ref: '#/components/schemas/BaseError' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/RateLimitError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ResourceError' /api/v1/transactions/{id}/unfreeze: post: tags: - Transactions summary: Unfreeze Transaction description: Trigger transaction auto revoke protection. operationId: unfreeze_transaction_api_v1_transactions__id__unfreeze_post parameters: - name: id in: path required: true schema: type: string format: uuid description: ID of the transaction to unfreeze. title: Id description: ID of the transaction to unfreeze. responses: '204': description: Successful Response '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/PreconditionFailedError' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationError' '500': description: Unexpected Error content: application/json: schema: $ref: '#/components/schemas/BaseError' '401': description: Unauthorized User content: application/json: schema: $ref: '#/components/schemas/BaseError' '403': description: Forbidden User content: application/json: schema: $ref: '#/components/schemas/BaseError' '408': description: Request Timeout content: application/json: schema: $ref: '#/components/schemas/BaseError' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/RateLimitError' /api/v1/transactions/{id}/freeze: post: tags: - Transactions summary: Freeze Transaction description: Freeze transaction. operationId: freeze_transaction_api_v1_transactions__id__freeze_post parameters: - name: id in: path required: true schema: type: string format: uuid description: ID of the transaction to freeze. title: Id description: ID of the transaction to freeze. responses: '204': description: Successful Response '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/PreconditionFailedError' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationError' '500': description: Unexpected Error content: application/json: schema: $ref: '#/components/schemas/BaseError' '401': description: Unauthorized User content: application/json: schema: $ref: '#/components/schemas/BaseError' '403': description: Forbidden User content: application/json: schema: $ref: '#/components/schemas/BaseError' '408': description: Request Timeout content: application/json: schema: $ref: '#/components/schemas/BaseError' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/RateLimitError' components: schemas: TonTransactionMessage: properties: address: $ref: '#/components/schemas/TonAccountRepr' description: The sender of the message in a user friendly format. amount: type: string pattern: ^\d+$ title: Amount description: The amount of nano tons to send. example: '1000000000000000000' payload: title: Payload description: The payload of the message. type: string state_init: title: State Init description: The state_init structure contains all the necessary information required to create the initial state of a smart contract. type: string comment: title: Comment description: A comment that is attached to the message. type: string type: object required: - address - amount title: TonTransactionMessage SuiCommandGasCoinArgument: properties: type: type: string const: gas_coin title: Type description: The type of the command argument. type: object required: - type title: SuiCommandGasCoinArgument description: The object for the SUI coin used to pay for gas. StarknetTransactionResult: properties: reversion: $ref: '#/components/schemas/StarknetReversion' description: Details whether the transaction was reverted or not. fees: $ref: '#/components/schemas/StarknetFees' description: The total fee of the first transaction on the trace. effects: $ref: '#/components/schemas/StarknetEffects' description: The effects of the transaction. type: object required: - reversion - fees - effects title: StarknetTransactionResult CreateSolanaTransactionRequest: 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: oneOf: - $ref: '#/components/schemas/CreateSolanaTransferRequest' - $ref: '#/components/schemas/CreateSolanaRawTransactionRequest' - $ref: '#/components/schemas/CreateSolanaSerializedTransactionMessageRequest' discriminator: propertyName: type mapping: solana_raw_transaction: '#/components/schemas/CreateSolanaRawTransactionRequest' solana_serialized_transaction_message: '#/components/schemas/CreateSolanaSerializedTransactionMessageRequest' solana_transfer: '#/components/schemas/CreateSolanaTransferRequest' type: object required: - vault_id - type - details title: CreateSolanaTransactionRequest SuiObjectRef: properties: digest: type: string maxLength: 44 minLength: 32 pattern: ^[a-km-zA-HJ-NP-Z1-9]+$ title: Digest description: The digest of the object. example: 9K8mnqJdxf3B7vgFmRhj9JqKqsN5AxvSgWk5faGshEta object_id: type: string maxLength: 66 minLength: 66 pattern: ^0[xX][a-fA-F0-9]+$ title: Object Id description: The id of the object. example: '0x3300c18e7b931bdfc73dccf3e2d043ad1c9d120c777fff5aeeb9956224e5247a' version: type: string pattern: ^0*[1-9]\d*$ title: Version description: The version of the object. example: '1000000000000000000' type: object required: - digest - object_id - version title: SuiObjectRef DynamicGasFields: properties: max_priority_fee_per_gas: type: string pattern: ^\d+$ title: Max Priority Fee Per Gas description: The maximum tip amount for mining the transaction. example: '1000000000000000000' max_fee_per_gas: type: string pattern: ^\d+$ title: Max Fee Per Gas description: The maximum amount paid for the fee. example: '1000000000000000000' type: object required: - max_priority_fee_per_gas - max_fee_per_gas title: DynamicGasFields CreateEvmRevokeAllowanceRequest: properties: fee_payer: description: The vault that pays the fee for this transaction. $ref: '#/components/schemas/TransactionFeePayerVault' type: type: string const: evm_revoke_allowance title: Type description: An EVM revoke allowance transaction is for revoking a spender's allowance for a specific token. 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 use_mev_protected_node: type: boolean title: Use Mev Protected Node description: Use an MEV protected node to send the transaction. By using an MEV protected node, you avoid maximal extractable value (MEV) attacks. default: false use_secure_node: type: boolean title: Use Secure Node description: Use a secure node to send the transaction. By using a secure node, you avoid maximal extractable value (MEV) attacks. default: false deprecated: true gas: description: The gas details of the transaction. The details depend on which option you choose: oneOf: - $ref: '#/components/schemas/GasPriorityRequest' - $ref: '#/components/schemas/CustomGasRequest' discriminator: propertyName: type mapping: custom: '#/components/schemas/CustomGasRequest' priority: '#/components/schemas/GasPriorityRequest' funder: title: Funder description: The unique identifier of the vault that pays the fee for this transaction. deprecated: true type: string format: uuid custom_nonce: anyOf: - type: integer - type: string pattern: ^\d+$ example: '1000000000000000000' title: Custom Nonce description: The user-specified nonce for the transaction.
If not provided, the transaction's nonce will be automatically determined upon signing.
If provided, it must equal the nonce of an existing transaction that has already been signed but not yet mined, on the same vault.
Alternatively, it may equal the next nonce of the vault. chain: $ref: '#/components/schemas/EvmChainRequest' description: The chain that this transaction is on. Specify either the chain name (for example `ethereum_mainnet`), the chain ID as a string (`evm_1`), or the chain ID as an integer (`1`). token: type: string maxLength: 42 minLength: 42 pattern: ^0[xX][a-fA-F0-9]+$ title: Token description: The ERC-20 token contract for which to revoke allowance. example: '0x71C7656EC7ab88b098defB751B7401B5f6d8976F' spender: type: string maxLength: 42 minLength: 42 pattern: ^0[xX][a-fA-F0-9]+$ title: Spender description: The EOA or contract address of the spender for whom to revoke allowance. example: '0x71C7656EC7ab88b098defB751B7401B5f6d8976F' type: object required: - type - chain - token - spender title: CreateEvmRevokeAllowanceRequest 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 SuiFundsWithdrawalSource: type: string enum: - sender - sponsor title: SuiFundsWithdrawalSource SuiPureStringInput: properties: type: type: string const: string_pure_input title: Type description: The type of the pure input. value: type: string title: Value description: The string value of the pure input argument. type: object required: - type - value title: SuiPureStringInput EvmDataRequestFullDetails: properties: type: type: string const: full_details title: Type description: Method-and-arguments format. method_name: type: string title: Method Name description: The method to call in the smart contract. method_arguments: additionalProperties: true type: object title: Method Arguments description: The arguments to pass into the method, as `key:value` pairs. type: object required: - type - method_name - method_arguments title: EvmDataRequestFullDetails ApprovalRequestState: type: string enum: - created - approved - insufficient_approvers - auto_approved - failed title: ApprovalRequestState description: Represents the whole approval request state SuiBalanceChangeEffect: 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/EnrichedSuiAddress' description: The address affected by the balance change. type: object required: - priced_asset - diff - address title: SuiBalanceChangeEffect 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 TransactionPredictSolanaTransferRequest: properties: fee_payer: description: The vault that pays the fee for this transaction. $ref: '#/components/schemas/TransactionFeePayerVault' 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_transfer title: Type description: The type of the transaction. 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 to: oneOf: - $ref: '#/components/schemas/SolanaRecipientBase58' - $ref: '#/components/schemas/RecipientVaultId' - $ref: '#/components/schemas/RecipientContactId' description: 'The recipient of the transfer: either an address, a vault ID, or a contact ID.' discriminator: propertyName: type mapping: address: '#/components/schemas/SolanaRecipientBase58' contact_id: '#/components/schemas/RecipientContactId' vault_id: '#/components/schemas/RecipientVaultId' value: oneOf: - $ref: '#/components/schemas/CreateRequestExplicitAmount' - $ref: '#/components/schemas/CreateRequestMaxAmount' description: The number of units of currency to transfer. discriminator: propertyName: type mapping: max: '#/components/schemas/CreateRequestMaxAmount' value: '#/components/schemas/CreateRequestExplicitAmount' asset_identifier: $ref: '#/components/schemas/SolanaAssetIdentifierRequest' description: The Solana asset identifier to transfer. type: object required: - type - to - value - asset_identifier title: TransactionPredictSolanaTransferRequest TransactionDetailsEvmTypedV1MessageRequest: properties: type: type: string const: typed_message_type_v1 title: Type description: The type of the EVM message. chain: $ref: '#/components/schemas/EvmChainRequest' description: The evm chain this message is intended for. raw_data: type: string title: Raw Data description: The raw data of the message to be signed, provided as a string or hex-encoded. type: object required: - type - chain - raw_data title: TransactionDetailsEvmTypedV1MessageRequest PredictedSolanaTransaction: 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: PredictedSolanaTransaction 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 StellarReversionState: type: string enum: - not_reverted - unknown_revert - insufficient_funds_gas_and_value title: StellarReversionState TronTypedMessageV1Request: properties: type: type: string const: typed_message_type_v1 title: Type description: V1 message type. Signs an opaque plaintext message (TronWeb signMessageV1). Despite the 'typed_message' name, these are personal message signatures, NOT TIP-712 structured typed data. chain: $ref: '#/components/schemas/TronChainUniqueId' description: The chain that this message is on. Specify the chain name. raw_data: type: string pattern: ^0[xX][a-fA-F0-9]+$ title: Raw Data description: The message to be signed, hex-encoded. type: object required: - type - chain - raw_data title: TronTypedMessageV1Request SuiPublishCommand: properties: type: type: string const: publish title: Type description: The type of the command. modules: items: type: string example: SGVsbG8= type: array title: Modules description: The modules to publish. dependencies: items: type: string type: array title: Dependencies description: The dependencies of the modules. type: object required: - type - modules - dependencies title: SuiPublishCommand description: Publish a Move module. 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 ClaimClaimableBalanceByAssetSource: properties: type: type: string const: by_asset title: Type description: Claim by asset identifier. asset_identifier: $ref: '#/components/schemas/StellarAssetIdentifierRequest' description: The Stellar asset identifier to claim claimable balances for. type: object required: - type - asset_identifier title: ClaimClaimableBalanceByAssetSource AptosEffects: properties: balance_changes: items: $ref: '#/components/schemas/AptosBalanceChangeEffect' type: array title: Balance Changes transfers: items: $ref: '#/components/schemas/AptosTransferEffect' type: array title: Transfers type: object required: - balance_changes - transfers title: AptosEffects TransactionPredictUtxoTransactionRequest: 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_transaction title: Type description: The type of the transaction. details: oneOf: - $ref: '#/components/schemas/TransactionDetailsUtxoTransferRequest' - $ref: '#/components/schemas/TransactionDetailsUtxoPsbtRequest' description: Transaction details. discriminator: propertyName: type mapping: utxo_partially_signed_bitcoin_transaction: '#/components/schemas/TransactionDetailsUtxoPsbtRequest' utxo_transfer: '#/components/schemas/TransactionDetailsUtxoTransferRequest' type: object required: - vault_id - type - details title: TransactionPredictUtxoTransactionRequest CreateSuiProgrammableTransactionBlockRequest: properties: type: type: string const: sui_programmable_transaction_block title: Type description: Create a Sui programmable transaction block transaction. A transaction of this kind 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 chain: $ref: '#/components/schemas/SuiChainUniqueId' description: The chain that this transaction is on. Specify the chain name (for example, `sui_mainnet`). gas_config: description: The gas configuration for the transaction. $ref: '#/components/schemas/SuiGasConfig' inputs: items: $ref: '#/components/schemas/SuiInput' type: array title: Inputs description: The inputs of the transaction. commands: items: $ref: '#/components/schemas/SuiCommand' type: array title: Commands description: The commands of the transaction. type: object required: - type - chain - inputs - commands title: CreateSuiProgrammableTransactionBlockRequest TransactionPolicyMatchActionType: type: string enum: - allow - block - require_approval title: TransactionPolicyMatchActionType ExchangeInternalTransferDetails: properties: is_internal: type: boolean title: Is Internal description: Is this transfer an internal transfer between two vaults. sender: $ref: '#/components/schemas/EnrichedExchangeAddress' description: The sender of the transaction. type: type: string const: internal_transfer title: Type description: A transaction from one exchange vault to another. recipient: $ref: '#/components/schemas/EnrichedExchangeAddress' description: The recipient of the transfer. type: object required: - is_internal - sender - type - recipient title: ExchangeInternalTransferDetails DirectMessagesList: properties: format: type: string const: direct title: Format messages: items: $ref: '#/components/schemas/DirectMessage' type: array title: Messages description: List of messages in direct format. type: object required: - format - messages title: DirectMessagesList StellarMessageRequest: properties: chain: $ref: '#/components/schemas/StellarChainUniqueId' description: The chain that this message is on. Specify the chain name. raw_data: type: string pattern: ^0[xX][a-fA-F0-9]+$ title: Raw Data description: The message to be signed, hex-encoded. type: object required: - chain - raw_data title: StellarMessageRequest CreateSolanaSerializedTransactionMessageRequest: 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_serialized_transaction_message title: Type description: A Solana serialized transaction message request. 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 chain: $ref: '#/components/schemas/SolanaChainUniqueId' data: type: string title: Data description: 'The base64 encoded binary transaction message. Can be either a serialized legacy Message or a serialized MessageV0. The first account in the serialized transaction message must match theaddress of the vault in the request. If the serialized message contains a recent block hash, the server may override it to prevent the transaction from expiring. Additionally, if the transaction does not include a priority fee (ComputeBudget instruction), the server might add it to increase the chances of the transaction landing on chain.' example: SGVsbG8= signatures: title: Signatures description: 'List of Base64 encoded partial signatures. Can be omitted if the transaction requires no partial signatures, or if ephemeral_keys are passed instead. If passed, then the size of this array must match the total number of signers in the transaction, and elements in positions corresponding to vault accounts must be `{data: null}`' items: $ref: '#/components/schemas/SolanaTransactionSignaturesRequest' type: array ephemeral_keys: title: Ephemeral Keys description: 'A list of 64-byte Solana secret keys, encoded as base64, for any non-vault signer accounts. Can be omitted if the transaction requires no partial signatures, or if signatures are passed instead. If passed, then the size of this array must match the total number of signers in the transaction, and elements in positions corresponding to vault accounts must be `{data: null}`' items: $ref: '#/components/schemas/SolanaSecretKeyRequest' type: array type: object required: - type - chain - data title: CreateSolanaSerializedTransactionMessageRequest SolanaMessage: 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. state: $ref: '#/components/schemas/NonPushableTransactionState' description: The state of the message. state_changes: items: $ref: '#/components/schemas/NonPushableTransactionStateChange' type: array title: State Changes description: The state changes of the message. type: type: string const: solana_message title: Type description: Solana message type. solana_message_type: $ref: '#/components/schemas/SolanaMessageType' description: The type of the Solana message. solana_message_type_details: oneOf: - $ref: '#/components/schemas/PersonalMessageDetails' - $ref: '#/components/schemas/CreateSessionDetails' description: The details of the Solana message. discriminator: propertyName: type mapping: create_session_message_type: '#/components/schemas/CreateSessionDetails' personal_message_type: '#/components/schemas/PersonalMessageDetails' expected_result: description: Predicted result of the message execution. Only available for intents that Fordefi knows how to simulate, like ERC20 allowances and swaps created in the Fordefi app. $ref: '#/components/schemas/SolanaMessageResult' string_data: type: string title: String Data description: The message as a string. raw_data: type: string title: Raw Data description: The raw data of the message, encoded in base64 example: SGVsbG8= chain: $ref: '#/components/schemas/EnrichedSolanaChain' description: The details of the chain that this message is on. sender: $ref: '#/components/schemas/EnrichedSolanaAddress' description: The sender of the message. type: object required: - id - created_at - modified_at - signatures - direction - interacted_vaults - organization_id - state - state_changes - type - solana_message_type - solana_message_type_details - string_data - raw_data - chain - sender title: SolanaMessage CreateCantonTransactionRequest: 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: canton_transaction title: Type description: Canton transaction type. details: oneOf: - $ref: '#/components/schemas/CreateCantonTransferRequest' - $ref: '#/components/schemas/CreateCantonPartyAllocationRequest' - $ref: '#/components/schemas/CreateCantonApproveTransferRequest' - $ref: '#/components/schemas/CreateCantonPreApprovalSetupRequest' discriminator: propertyName: type mapping: canton_approve_transfer: '#/components/schemas/CreateCantonApproveTransferRequest' canton_party_allocation: '#/components/schemas/CreateCantonPartyAllocationRequest' canton_pre_approval_setup: '#/components/schemas/CreateCantonPreApprovalSetupRequest' canton_transfer: '#/components/schemas/CreateCantonTransferRequest' type: object required: - vault_id - type - details title: CreateCantonTransactionRequest 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 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.
  • `"evm_1"`
  • `"evm_5"`
  • `"evm_10"`
  • `"evm_14"`
  • `"evm_16"`
  • `"evm_30"`
  • `"evm_56"`
  • `"evm_100"`
  • `"evm_130"`
  • `"evm_137"`
  • `"evm_143"`
  • `"evm_146"`
  • `"evm_169"`
  • `"evm_196"`
  • `"evm_250"`
  • `"evm_324"`
  • `"evm_999"`
  • `"evm_1030"`
  • `"evm_1100"`
  • `"evm_1101"`
  • `"evm_1329"`
  • `"evm_1337"`
  • `"evm_1666"`
  • `"evm_1672"`
  • `"evm_1729"`
  • `"evm_2222"`
  • `"evm_4200"`
  • `"evm_4217"`
  • `"evm_4663"`
  • `"evm_5000"`
  • `"evm_7000"`
  • `"evm_7700"`
  • `"evm_8453"`
  • `"evm_8818"`
  • `"evm_8819"`
  • `"evm_9745"`
  • `"evm_16661"`
  • `"evm_17000"`
  • `"evm_80001"`
  • `"evm_80094"`
  • `"evm_42161"`
  • `"evm_43113"`
  • `"evm_43114"`
  • `"evm_57073"`
  • `"evm_59144"`
  • `"evm_81457"`
  • `"evm_421614"`
  • `"evm_534352"`
  • `"evm_660279"`
  • `"evm_747474"`
  • `"evm_810180"`
  • `"evm_11155111"`
  • `"evm_ethereum_mainnet"`
  • `"evm_ethereum_goerli"`
  • `"evm_optimism_mainnet"`
  • `"evm_flare_mainnet"`
  • `"evm_flare_testnet"`
  • `"evm_rootstock_mainnet"`
  • `"evm_bsc_mainnet"`
  • `"evm_gnosis_mainnet"`
  • `"evm_unichain_mainnet"`
  • `"evm_polygon_mainnet"`
  • `"evm_monad_mainnet"`
  • `"evm_sonic_mainnet"`
  • `"evm_manta_pacific_mainnet"`
  • `"evm_x_layer_mainnet"`
  • `"evm_fantom_mainnet"`
  • `"evm_zksync_era_mainnet"`
  • `"evm_hyperevm_mainnet"`
  • `"evm_conflux_mainnet"`
  • `"evm_dymension_mainnet"`
  • `"evm_polygon_zkevm_mainnet"`
  • `"evm_sei_mainnet"`
  • `"evm_hypercore_mainnet"`
  • `"evm_aster_mainnet"`
  • `"evm_pharos_mainnet"`
  • `"evm_reya_mainnet"`
  • `"evm_kava_mainnet"`
  • `"evm_merlin_mainnet"`
  • `"evm_tempo_mainnet"`
  • `"evm_robinhood_mainnet"`
  • `"evm_mantle_mainnet"`
  • `"evm_zeta_mainnet"`
  • `"evm_canto_mainnet"`
  • `"evm_base_mainnet"`
  • `"evm_clink_mainnet"`
  • `"evm_clink_testnet"`
  • `"evm_plasma_mainnet"`
  • `"evm_zero_gravity_mainnet"`
  • `"evm_ethereum_holesky"`
  • `"evm_polygon_mumbai"`
  • `"evm_berachain_mainnet"`
  • `"evm_arbitrum_mainnet"`
  • `"evm_avalanche_fuji"`
  • `"evm_avalanche_chain"`
  • `"evm_ink_mainnet"`
  • `"evm_linea_mainnet"`
  • `"evm_blast_mainnet"`
  • `"evm_arbitrum_sepolia"`
  • `"evm_scroll_mainnet"`
  • `"evm_xai_mainnet"`
  • `"evm_katana_mainnet"`
  • `"evm_zklink_nova_mainnet"`
  • `"evm_ethereum_sepolia"`
type: object required: - chain_type - chain_id - unique_id title: EvmChain TransactionPredictCantonTransactionRequest: 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: canton_transaction title: Type description: Canton transaction type. details: oneOf: - $ref: '#/components/schemas/CreateCantonTransferRequest' - $ref: '#/components/schemas/CreateCantonPartyAllocationRequest' - $ref: '#/components/schemas/CreateCantonApproveTransferRequest' - $ref: '#/components/schemas/CreateCantonPreApprovalSetupRequest' discriminator: propertyName: type mapping: canton_approve_transfer: '#/components/schemas/CreateCantonApproveTransferRequest' canton_party_allocation: '#/components/schemas/CreateCantonPartyAllocationRequest' canton_pre_approval_setup: '#/components/schemas/CreateCantonPreApprovalSetupRequest' canton_transfer: '#/components/schemas/CreateCantonTransferRequest' type: object required: - vault_id - type - details title: TransactionPredictCantonTransactionRequest Erc721: properties: address: $ref: '#/components/schemas/EvmAddress' description: The token address name: type: string title: Name description: The token name symbol: type: string title: Symbol description: The token symbol or ticker type: type: string const: erc721 title: Type description: The type of the token type: object required: - address - name - symbol - type title: Erc721 TransactionPredictSolanaMessageRequest: 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_message title: Type description: The type of the transaction. details: $ref: '#/components/schemas/SolanaPersonalMessageRequest' type: object required: - vault_id - type - details title: TransactionPredictSolanaMessageRequest TransactionPredictTonMessageRequest: 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: ton_message title: Type description: TON message type. details: $ref: '#/components/schemas/TonProofMessageRequest' type: object required: - vault_id - type - details title: TransactionPredictTonMessageRequest SuiChainUniqueId: type: string enum: - sui_mainnet - sui_testnet title: SuiChainUniqueId TonRawTransactionDetails: properties: type: type: string const: raw_transaction title: Type description: A transaction with a contract call. recipients: items: $ref: '#/components/schemas/EnrichedTonAddress' type: array title: Recipients description: The called contract. type: object required: - type - recipients title: TonRawTransactionDetails HyperliquidUsdClassTransferAction: properties: action_type: type: string const: usd_class_transfer title: Action Type description: The Hyperliquid action type. amount: type: string pattern: ^\d+(\.\d+)?$ title: Amount description: Transfer amount as a decimal string. example: '1000000000000000000' to_perp: type: boolean title: To Perp description: Whether to move funds to perp (`true`) or to spot (`false`). nonce: type: integer title: Nonce description: Replay-protection nonce. type: object required: - action_type - amount - to_perp - nonce title: HyperliquidUsdClassTransferAction description: Move funds between spot and perp margin. SetCodeDetails: properties: type: type: string const: set_code title: Type description: A transaction that makes an EOA smart contract or disables it. type: object required: - type title: SetCodeDetails 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 CosmosGasDebit: properties: gas_used: type: string pattern: ^\d+$ title: Gas Used description: Gas used while processing the transaction. example: '1000000000000000000' total_fee: items: $ref: '#/components/schemas/CosmosCoinWithAmount' type: array title: Total Fee description: The total fee paid. fiat_prices: items: $ref: '#/components/schemas/Price' type: array title: Fiat Prices description: The prices of the coins used to pay the fee. type: object required: - gas_used - total_fee - fiat_prices title: CosmosGasDebit CreateCosmosMessageRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: cosmos_message title: Type description: Cosmos message type. details: $ref: '#/components/schemas/CosmosArbitraryMessageRequest' type: object required: - vault_id - type - details title: CreateCosmosMessageRequest ExchangeAssetIdentifierRequest: 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. type: object required: - type - exchange_type - asset_symbol title: ExchangeAssetIdentifierRequest 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 CantonApproveTransferDetails: properties: type: type: string const: approve_transfer title: Type description: A transaction that approves pending incoming transfers. type: object required: - type title: CantonApproveTransferDetails 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 PredictedStacksTransaction: 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: stacks_transaction title: Type description: Stacks transaction type. post_conditions: $ref: '#/components/schemas/StacksPostConditions' description: The post conditions of the transaction. expected_result: $ref: '#/components/schemas/StacksTransactionResult' description: The expected result of the transaction in case it is mined. chain: $ref: '#/components/schemas/EnrichedStacksChain' description: The details of the chain that this transaction is on. stacks_transaction_type_details: oneOf: - $ref: '#/components/schemas/StacksNativeTransferDetails' - $ref: '#/components/schemas/StacksTokenTransferDetails' - $ref: '#/components/schemas/StacksRawTransactionDetails' description: Details of the stacks transaction based on its type. discriminator: propertyName: type mapping: native_transfer: '#/components/schemas/StacksNativeTransferDetails' raw_transaction: '#/components/schemas/StacksRawTransactionDetails' token_transfer: '#/components/schemas/StacksTokenTransferDetails' serialized_payload: type: string pattern: ^0[xX][a-fA-F0-9]+$ title: Serialized Payload description: The serialized payload of the transaction. memo: title: Memo description: The memo of the transaction. type: string suggested_fees: $ref: '#/components/schemas/StacksSuggestedFees' description: The suggested fees. sender: $ref: '#/components/schemas/EnrichedStacksAddress' description: The sender of the transaction. type: object required: - matched_policies - risks - type - post_conditions - expected_result - chain - stacks_transaction_type_details - serialized_payload - suggested_fees - sender title: PredictedStacksTransaction PredictedEvmTransaction: 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: evm_transaction title: Type description: The type of the transaction. expected_result: $ref: '#/components/schemas/EvmTransactionResult' description: The expected result of the transaction in case it is mined. chain: $ref: '#/components/schemas/EnrichedEvmChain' description: The details of the chain that this message is on. evm_transaction_type_details: oneOf: - $ref: '#/components/schemas/EvmNativeTransferDetails' - $ref: '#/components/schemas/TokenTransferDetails' - $ref: '#/components/schemas/AllowanceDetails' - $ref: '#/components/schemas/ContractCallDetails' - $ref: '#/components/schemas/ContractDeploymentDetails' - $ref: '#/components/schemas/BridgeDetails' - $ref: '#/components/schemas/SetCodeDetails' description: Details of the EVM transaction based on its type. discriminator: propertyName: type mapping: allowance: '#/components/schemas/AllowanceDetails' contract_call: '#/components/schemas/ContractCallDetails' contract_deployment: '#/components/schemas/ContractDeploymentDetails' cross_chain_bridge: '#/components/schemas/BridgeDetails' native_transfer: '#/components/schemas/EvmNativeTransferDetails' set_code: '#/components/schemas/SetCodeDetails' token_transfer: '#/components/schemas/TokenTransferDetails' parsed_data: $ref: '#/components/schemas/EvmTransactionParsedData' description: The parsed data of the transaction. gas_estimation: description: The gas estimation. $ref: '#/components/schemas/EvmGasEstimation' suggested_fees: description: The suggested fees. $ref: '#/components/schemas/EvmSuggestedFees' sender: $ref: '#/components/schemas/EnrichedEvmAddress' description: The sender of the transaction. to: $ref: '#/components/schemas/EnrichedEvmAddress' description: The address of the recipient of the transaction. hex_data: title: Hex Data description: The hex data of the contract call, as a serialized method-call with its arguments. type: string pattern: ^0[xX][a-fA-F0-9]+$ gas_submitted: oneOf: - $ref: '#/components/schemas/LegacyGas' - $ref: '#/components/schemas/DynamicGas' description: The gas details submitted for the transaction. discriminator: propertyName: type mapping: dynamic: '#/components/schemas/DynamicGas' legacy: '#/components/schemas/LegacyGas' fee_payer: description: The address that pays the fee for this transaction (from address). $ref: '#/components/schemas/EnrichedEvmAddress' allowed_mev_protected_states: title: Allowed Mev Protected States description: The MEV-protection states permitted for this transaction. Because all pending transactions on a vault must use the same MEV-protection setting, this set may be restricted by existing pending transactions. items: $ref: '#/components/schemas/MevProtectedState' type: array type: object required: - matched_policies - risks - type - expected_result - chain - evm_transaction_type_details - parsed_data - sender - to - gas_submitted title: PredictedEvmTransaction CantonNativeTransferDetails: properties: type: type: string const: native_transfer title: Type description: A transaction involving the transfer of native Canton currency from one address to another. is_internal: title: Is Internal description: Is this transfer an internal transfer between two vaults. None if the recipient is unknown. type: boolean type: object required: - type title: CantonNativeTransferDetails PredictedStarknetMessage: 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 type: type: string const: starknet_message title: Type description: Starknet message type. chain: $ref: '#/components/schemas/EnrichedStarknetChain' description: The details of the chain that this message is on. sender: $ref: '#/components/schemas/EnrichedStarknetAddress' description: The sender of the message. starknet_message_type: $ref: '#/components/schemas/StarknetMessageType' description: The type of the Starknet message. message_to_display: type: string title: Message To Display description: User-friendly formatting of the message to be signed. type: object required: - matched_policies - risks - type - chain - sender - starknet_message_type - message_to_display title: PredictedStarknetMessage 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 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 EnrichedEvmChain: properties: chain_type: type: string const: evm title: Chain Type description: The type of the chain. named_chain_id: title: EvmChainName description: The EVM chain name can be either one of those supported by the default chains below or a custom chain name if one was added to your organization.
  • `arbitrum_mainnet`
  • `arbitrum_sepolia`
  • `aster_mainnet`
  • `avalanche_chain`
  • `avalanche_fuji`
  • `base_mainnet`
  • `berachain_mainnet`
  • `blast_mainnet`
  • `bsc_mainnet`
  • `canto_mainnet`
  • `clink_mainnet`
  • `clink_testnet`
  • `conflux_mainnet`
  • `dymension_mainnet`
  • `ethereum_goerli`
  • `ethereum_holesky`
  • `ethereum_mainnet`
  • `ethereum_sepolia`
  • `fantom_mainnet`
  • `flare_mainnet`
  • `flare_testnet`
  • `gnosis_mainnet`
  • `hypercore_mainnet`
  • `hyperevm_mainnet`
  • `ink_mainnet`
  • `kava_mainnet`
  • `katana_mainnet`
  • `linea_mainnet`
  • `optimism_mainnet`
  • `pharos_mainnet`
  • `plasma_mainnet`
  • `manta_pacific_mainnet`
  • `mantle_mainnet`
  • `merlin_mainnet`
  • `monad_mainnet`
  • `polygon_mainnet`
  • `polygon_mumbai`
  • `polygon_zkevm_mainnet`
  • `reya_mainnet`
  • `robinhood_mainnet`
  • `rootstock_mainnet`
  • `scroll_mainnet`
  • `sei_mainnet`
  • `sonic_mainnet`
  • `tempo_mainnet`
  • `unichain_mainnet`
  • `xai_mainnet`
  • `x_layer_mainnet`
  • `zero_gravity_mainnet`
  • `zeta_mainnet`
  • `zklink_nova_mainnet`
  • `zksync_era_mainnet`
type: string minLength: 1 chain_id: type: integer minimum: 1.0 title: EvmChainId description: The EVM chain ID can be either one of those supported by the default chains below or a custom chain ID if one was added to your organization.
  • 1=`ethereum_mainnet`
  • 5=`ethereum_goerli`
  • 10=`optimism_mainnet`
  • 14=`flare_mainnet`
  • 16=`flare_testnet`
  • 30=`rootstock_mainnet`
  • 56=`bsc_mainnet`
  • 100=`gnosis_mainnet`
  • 130=`unichain_mainnet`
  • 137=`polygon_mainnet`
  • 143=`monad_mainnet`
  • 146=`sonic_mainnet`
  • 169=`manta_pacific_mainnet`
  • 196=`x_layer_mainnet`
  • 250=`fantom_mainnet`
  • 324=`zksync_era_mainnet`
  • 999=`hyperevm_mainnet`
  • 1030=`conflux_mainnet`
  • 1100=`dymension_mainnet`
  • 1101=`polygon_zkevm_mainnet`
  • 1329=`sei_mainnet`
  • 1337=`hypercore_mainnet`
  • 1666=`aster_mainnet`
  • 1672=`pharos_mainnet`
  • 1729=`reya_mainnet`
  • 2222=`kava_mainnet`
  • 4200=`merlin_mainnet`
  • 4217=`tempo_mainnet`
  • 4663=`robinhood_mainnet`
  • 5000=`mantle_mainnet`
  • 7000=`zeta_mainnet`
  • 7700=`canto_mainnet`
  • 8453=`base_mainnet`
  • 8818=`clink_mainnet`
  • 8819=`clink_testnet`
  • 9745=`plasma_mainnet`
  • 16661=`zero_gravity_mainnet`
  • 17000=`ethereum_holesky`
  • 80001=`polygon_mumbai`
  • 80094=`berachain_mainnet`
  • 42161=`arbitrum_mainnet`
  • 43113=`avalanche_fuji`
  • 43114=`avalanche_chain`
  • 57073=`ink_mainnet`
  • 59144=`linea_mainnet`
  • 81457=`blast_mainnet`
  • 421614=`arbitrum_sepolia`
  • 534352=`scroll_mainnet`
  • 660279=`xai_mainnet`
  • 747474=`katana_mainnet`
  • 810180=`zklink_nova_mainnet`
  • 11155111=`ethereum_sepolia`
unique_id: type: string minLength: 1 title: EvmChainUniqueId description: The unique EVM chain ID.
Can be either one of those supported by the default chains below or a custom numeric chain ID `evm_` if one was added to your organization.
  • `"evm_1"`
  • `"evm_5"`
  • `"evm_10"`
  • `"evm_14"`
  • `"evm_16"`
  • `"evm_30"`
  • `"evm_56"`
  • `"evm_100"`
  • `"evm_130"`
  • `"evm_137"`
  • `"evm_143"`
  • `"evm_146"`
  • `"evm_169"`
  • `"evm_196"`
  • `"evm_250"`
  • `"evm_324"`
  • `"evm_999"`
  • `"evm_1030"`
  • `"evm_1100"`
  • `"evm_1101"`
  • `"evm_1329"`
  • `"evm_1337"`
  • `"evm_1666"`
  • `"evm_1672"`
  • `"evm_1729"`
  • `"evm_2222"`
  • `"evm_4200"`
  • `"evm_4217"`
  • `"evm_4663"`
  • `"evm_5000"`
  • `"evm_7000"`
  • `"evm_7700"`
  • `"evm_8453"`
  • `"evm_8818"`
  • `"evm_8819"`
  • `"evm_9745"`
  • `"evm_16661"`
  • `"evm_17000"`
  • `"evm_80001"`
  • `"evm_80094"`
  • `"evm_42161"`
  • `"evm_43113"`
  • `"evm_43114"`
  • `"evm_57073"`
  • `"evm_59144"`
  • `"evm_81457"`
  • `"evm_421614"`
  • `"evm_534352"`
  • `"evm_660279"`
  • `"evm_747474"`
  • `"evm_810180"`
  • `"evm_11155111"`
  • `"evm_ethereum_mainnet"`
  • `"evm_ethereum_goerli"`
  • `"evm_optimism_mainnet"`
  • `"evm_flare_mainnet"`
  • `"evm_flare_testnet"`
  • `"evm_rootstock_mainnet"`
  • `"evm_bsc_mainnet"`
  • `"evm_gnosis_mainnet"`
  • `"evm_unichain_mainnet"`
  • `"evm_polygon_mainnet"`
  • `"evm_monad_mainnet"`
  • `"evm_sonic_mainnet"`
  • `"evm_manta_pacific_mainnet"`
  • `"evm_x_layer_mainnet"`
  • `"evm_fantom_mainnet"`
  • `"evm_zksync_era_mainnet"`
  • `"evm_hyperevm_mainnet"`
  • `"evm_conflux_mainnet"`
  • `"evm_dymension_mainnet"`
  • `"evm_polygon_zkevm_mainnet"`
  • `"evm_sei_mainnet"`
  • `"evm_hypercore_mainnet"`
  • `"evm_aster_mainnet"`
  • `"evm_pharos_mainnet"`
  • `"evm_reya_mainnet"`
  • `"evm_kava_mainnet"`
  • `"evm_merlin_mainnet"`
  • `"evm_tempo_mainnet"`
  • `"evm_robinhood_mainnet"`
  • `"evm_mantle_mainnet"`
  • `"evm_zeta_mainnet"`
  • `"evm_canto_mainnet"`
  • `"evm_base_mainnet"`
  • `"evm_clink_mainnet"`
  • `"evm_clink_testnet"`
  • `"evm_plasma_mainnet"`
  • `"evm_zero_gravity_mainnet"`
  • `"evm_ethereum_holesky"`
  • `"evm_polygon_mumbai"`
  • `"evm_berachain_mainnet"`
  • `"evm_arbitrum_mainnet"`
  • `"evm_avalanche_fuji"`
  • `"evm_avalanche_chain"`
  • `"evm_ink_mainnet"`
  • `"evm_linea_mainnet"`
  • `"evm_blast_mainnet"`
  • `"evm_arbitrum_sepolia"`
  • `"evm_scroll_mainnet"`
  • `"evm_xai_mainnet"`
  • `"evm_katana_mainnet"`
  • `"evm_zklink_nova_mainnet"`
  • `"evm_ethereum_sepolia"`
name: type: string minLength: 1 title: Name description: The full blockchain name. native_currency_symbol: type: string minLength: 1 title: Native Currency Symbol description: The native currency symbol. example: ETH native_currency_name: type: string minLength: 1 title: Native Currency Name description: The native currency name. example: Ether blockchain_explorer: $ref: '#/components/schemas/BlockchainExplorer' logo_url: type: string maxLength: 2083 minLength: 1 format: uri title: Logo Url description: The logo URL of the chain. is_testnet: type: boolean title: Is Testnet description: Whether the chain is on a testnet. is_enabled: type: boolean title: Is Enabled description: Whether the chain is enabled. gas_type: $ref: '#/components/schemas/GasType' description: The type of gas used by the chain. supports_secure_node: title: Supports Secure Node description: '`True` if the chain supports secure nodes, `False` otherwise.' deprecated: true type: boolean supports_mev_protected_node: type: boolean title: Supports Mev Protected Node description: '`True` if the chain supports MEV protected nodes, `False` otherwise.' default: false rpc_url: title: Rpc Url description: The URL of the chain's RPC. Exists only for custom chains. type: string source: $ref: '#/components/schemas/ChainSource' description: 'The source of the chain. Can be:
  • `default`: Chains with built-in support on Fordefi''s platform.
  • `custom`: User-added chains with support on Fordefi''s platform.
' supports_7702: type: boolean title: Supports 7702 description: '`True` if the chain supports 7702, `False` otherwise.' default: false type: object required: - chain_type - chain_id - unique_id - name - native_currency_symbol - native_currency_name - logo_url - is_testnet - is_enabled - gas_type - source title: EnrichedEvmChain SuiPartialObjectRefInputArgument: properties: type: type: string const: partial title: Type description: The type of the object. object_id: type: string maxLength: 66 minLength: 66 pattern: ^0[xX][a-fA-F0-9]+$ title: Object Id description: The id of the object. example: '0x3300c18e7b931bdfc73dccf3e2d043ad1c9d120c777fff5aeeb9956224e5247a' type: object required: - type - object_id title: SuiPartialObjectRefInputArgument TransferRecipientAddress: properties: type: type: string const: address title: Type description: The type of the recipient. address: type: string title: Address description: The address of the recipient. type: object required: - type - address title: TransferRecipientAddress 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 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 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 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 AptosRecipientHex: properties: type: type: string const: hex title: Type description: The type of the recipient. address: type: string maxLength: 66 minLength: 66 pattern: ^0[xX][a-fA-F0-9]+$ title: Address description: The address of the recipient. example: '0x3300c18e7b931bdfc73dccf3e2d043ad1c9d120c777fff5aeeb9956224e5247a' type: object required: - type - address title: AptosRecipientHex UpdateTransactionSpamStateRequest: properties: is_spam: type: boolean title: Is Spam type: object required: - is_spam title: UpdateTransactionSpamStateRequest IndexTransactionByHashRequest: properties: chain: type: string minLength: 1 title: ChainUniqueId description: Unique identifier of the chain the transaction was mined on. transaction_hash: type: string minLength: 1 title: Transaction Hash description: Hash of the transaction to index. type: object required: - chain - transaction_hash title: IndexTransactionByHashRequest 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 TransactionPredictAptosTransactionRequest: 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: aptos_transaction title: Type description: Aptos transaction type. details: oneOf: - $ref: '#/components/schemas/PredictAptosTransferRequest' - $ref: '#/components/schemas/PredictAptosSerializedRawTransactionRequest' discriminator: propertyName: type mapping: aptos_serialized_entry_point_payload: '#/components/schemas/PredictAptosSerializedRawTransactionRequest' aptos_transfer: '#/components/schemas/PredictAptosTransferRequest' type: object required: - vault_id - type - details title: TransactionPredictAptosTransactionRequest 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. LegacyGasFields: properties: price: type: string pattern: ^\d+$ title: Price description: The price of a gas unit. example: '1000000000000000000' type: object required: - price title: LegacyGasFields SuiTransaction: 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: sui_transaction title: Type description: Sui transaction type. sui_transaction_type_details: oneOf: - $ref: '#/components/schemas/SuiNativeTransferDetails' - $ref: '#/components/schemas/SuiCoinTransferDetails' - $ref: '#/components/schemas/SuiProgrammableTransactionBlockDetails' description: Details of the Sui transaction based on its type. discriminator: propertyName: type mapping: coin_transfer: '#/components/schemas/SuiCoinTransferDetails' native_transfer: '#/components/schemas/SuiNativeTransferDetails' programmable_transaction_block: '#/components/schemas/SuiProgrammableTransactionBlockDetails' chain: $ref: '#/components/schemas/EnrichedSuiChain' description: The details of the chain this transaction is on. version: $ref: '#/components/schemas/SuiMessageVersion' description: The version of the transaction message. inputs: items: $ref: '#/components/schemas/SuiInput' type: array title: Inputs description: The inputs of the transaction. commands: items: $ref: '#/components/schemas/SuiCommand' type: array title: Commands description: The commands of the transactions. sender: $ref: '#/components/schemas/EnrichedSuiAddress' description: The sender of the transaction. recipient: description: The recipient of the transaction. $ref: '#/components/schemas/EnrichedSuiAddress' digest: title: Digest description: The digest of the transaction. type: string maxLength: 44 minLength: 32 pattern: ^[a-km-zA-HJ-NP-Z1-9]+$ example: 9K8mnqJdxf3B7vgFmRhj9JqKqsN5AxvSgWk5faGshEta tx_bytes: title: Tx Bytes description: The tx_bytes param encoded as a base64 string. type: string example: SGVsbG8= decoded_tx_bytes: title: Decoded Tx Bytes description: The json representation of the transaction's data type: string epoch: title: Epoch description: The epoch of the transaction. type: integer gas_submitted: $ref: '#/components/schemas/SuiGasConfig' description: The gas details submitted for the transaction. expected_result: description: The expected result of the transaction in case it is mined. $ref: '#/components/schemas/SuiTransactionResult' mined_result: description: The result of the transaction after it was mined. $ref: '#/components/schemas/SuiTransactionResult' transaction_block_data: title: Transaction Block Data description: The json representation of the transaction's data which contains the inputs and commands. type: string explorer_url: title: Explorer Url description: The URL of this transaction in a blockchain explorer. For example, Suiscan. example: https://suiscan.xyz/mainnet/tx/9K8mnqJdxf3B7v...xvSgWk5faGshEta type: string maxLength: 2083 minLength: 1 format: uri fee_payer: description: The address that pays the fee for this transaction (gas owner). $ref: '#/components/schemas/EnrichedSuiAddress' type: object required: - id - created_at - modified_at - signatures - direction - interacted_vaults - organization_id - state - state_changes - type - sui_transaction_type_details - chain - version - inputs - commands - sender - gas_submitted title: SuiTransaction CreateUtxoTransactionWithWaitRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: utxo_transaction title: Type description: UTXO transaction type. details: oneOf: - $ref: '#/components/schemas/TransactionDetailsUtxoTransferRequest' - $ref: '#/components/schemas/TransactionDetailsUtxoPsbtRequest' description: Transaction details. discriminator: propertyName: type mapping: utxo_partially_signed_bitcoin_transaction: '#/components/schemas/TransactionDetailsUtxoPsbtRequest' utxo_transfer: '#/components/schemas/TransactionDetailsUtxoTransferRequest' timeout: type: integer maximum: 50.0 minimum: 1.0 title: Timeout description: The maximum time in seconds to wait for the transaction to reach the specified state. For states that require more than 50 seconds, using webhooks or polling is preferable. default: 10 wait_for_state: $ref: '#/components/schemas/PushableTransactionState' description: The state to wait for. type: object required: - vault_id - type - details - wait_for_state title: CreateUtxoTransactionWithWaitRequest SuiRecipientHex: properties: type: type: string const: hex title: Type description: The type of the recipient. address: type: string maxLength: 66 minLength: 66 pattern: ^0[xX][a-fA-F0-9]+$ title: Address description: The address of the recipient. example: '0x3300c18e7b931bdfc73dccf3e2d043ad1c9d120c777fff5aeeb9956224e5247a' type: object required: - type - address title: SuiRecipientHex ExchangeTransaction: 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. state: $ref: '#/components/schemas/ExchangeTransactionState' description: The state of the exchange transaction. state_changes: items: $ref: '#/components/schemas/ExchangeTransactionStateChange' type: array title: State Changes description: The state changes of the exchange transaction. simulation_status_result: description: Whether simulation succeeded, reverted or failed. $ref: '#/components/schemas/SimulationStatusResult' type: type: string const: exchange_transaction title: Type description: The type of the transaction. exchange_transaction_type_details: oneOf: - $ref: '#/components/schemas/ExchangeExternalWithdrawDetails' - $ref: '#/components/schemas/ExchangeInternalTransferDetails' description: Details of the Exchange transaction based on its type. discriminator: propertyName: type mapping: external_withdraw: '#/components/schemas/ExchangeExternalWithdrawDetails' internal_transfer: '#/components/schemas/ExchangeInternalTransferDetails' exchange_nonce: title: Exchange Nonce description: The nonce of the transaction. `None` if not required by the exchange type: string exchange_transaction_id: title: Exchange Transaction Id description: The ID of the transaction as returned by the exchange type: string expected_result: description: The expected result of the transaction in case it's executed. $ref: '#/components/schemas/ExchangeTransactionResult' mined_result: description: The result of the transaction after it was mined. $ref: '#/components/schemas/ExchangeTransactionResult' type: object required: - id - created_at - modified_at - signatures - direction - interacted_vaults - organization_id - state - state_changes - type - exchange_transaction_type_details title: ExchangeTransaction AssetInfo: properties: id: type: string format: uuid title: Id description: The asset ID. asset_identifier: $ref: '#/components/schemas/AssetIdentifier' description: The asset identifier. name: type: string title: Name description: The name of the asset. symbol: type: string title: Symbol description: The symbol (ticker) of the asset. decimals: type: integer minimum: 0.0 title: Decimals verified: type: boolean title: Verified description: '`True` if this asset is verified by Fordefi, `False` otherwise.' metadata_uri: title: Metadata Uri description: The URI of the asset metadata. type: string is_spam: type: boolean title: Is Spam description: '`True` if this asset is spam, `False` otherwise.' logo_url: title: Logo Url description: The URL of the asset logo. type: string minLength: 1 format: uri explorer_url: title: Explorer Url description: The URL of a blockchain explorer that provides real-time information about the asset. type: string maxLength: 2083 minLength: 1 format: uri type: object required: - id - asset_identifier - name - symbol - decimals - verified - is_spam title: AssetInfo VaultState: type: string enum: - active - archived - deleted - pending - aborted title: VaultState CantonCip56TokenAssetIdentifierRequest: properties: type: type: string const: cip56_token title: Type description: CIP56 token asset identifier type. token: $ref: '#/components/schemas/CantonInstrumentIdRequest' description: The CIP56 token details. type: object required: - type - token title: CantonCip56TokenAssetIdentifierRequest Resource: type: string enum: - user - user_change_proposals - user_group - user_group_change_proposal - vault - vault_address - vault_group - address_group - transaction - batch_transaction - path - keyset - auth_token - access_token - asset - asset_info - vault_derivation_path - blockchain - export - quote - import_keys_request - vault_address_account - exchange_asset_mapping - dapp_group - safe_address - audit_log title: Resource CreateTonTransferRequest: properties: type: type: string const: ton_transfer title: Type description: An TON transfer transaction. A transaction of this kind is for transferring native currency or a jetton. 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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party.
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' default: auto to: oneOf: - $ref: '#/components/schemas/TonRecipientHex' - $ref: '#/components/schemas/RecipientVaultId' - $ref: '#/components/schemas/RecipientContactId' discriminator: propertyName: type mapping: contact_id: '#/components/schemas/RecipientContactId' hex: '#/components/schemas/TonRecipientHex' vault_id: '#/components/schemas/RecipientVaultId' value: oneOf: - $ref: '#/components/schemas/CreateRequestExplicitAmount' - $ref: '#/components/schemas/CreateRequestMaxAmount' description: The number of units of currency to transfer. discriminator: propertyName: type mapping: max: '#/components/schemas/CreateRequestMaxAmount' value: '#/components/schemas/CreateRequestExplicitAmount' asset_identifier: $ref: '#/components/schemas/TonAssetIdentifierRequest' description: The TON asset identifier to transfer. comment: title: Comment description: A comment to attach to the transaction. type: string type: object required: - type - to - value - asset_identifier title: CreateTonTransferRequest 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). SafeOperation: type: string enum: - call - delegate_call title: SafeOperation CreateStarknetTransactionRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: starknet_transaction title: Type description: Starknet transaction type. details: oneOf: - $ref: '#/components/schemas/CreateStarknetTransferRequest' - $ref: '#/components/schemas/CreateStarknetTransactionInvokeRequest' - $ref: '#/components/schemas/CreateStarknetContractDeploymentRequest' discriminator: propertyName: type mapping: starknet_contract_call: '#/components/schemas/CreateStarknetTransactionInvokeRequest' starknet_contract_deployment: '#/components/schemas/CreateStarknetContractDeploymentRequest' starknet_transfer: '#/components/schemas/CreateStarknetTransferRequest' type: object required: - vault_id - type - details title: CreateStarknetTransactionRequest TronAssetIdentifierRequest: 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' type: object required: - type - details title: TronAssetIdentifierRequest AptosCoinTransferDetails: properties: type: type: string const: coin_transfer title: Type description: 'A transaction involving the transfer of non-APT coin from one address to another. ' sender: $ref: '#/components/schemas/EnrichedAptosAddress' description: The sender of the coins. recipient: $ref: '#/components/schemas/EnrichedAptosAddress' description: The recipient of the coins. 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: AptosCoinTransferDetails CreateEvmTypedV1MessageRequest: properties: type: type: string const: typed_message_type_v1 title: Type description: Typed message standard (version 1). chain: $ref: '#/components/schemas/EvmChainRequest' description: The EVM chain that this message is intended for. Specify either the chain ID (for example `1` for `ethereum_mainnet`) or the chain name (for example, `ethereum_goerli`). raw_data: type: string minLength: 1 title: Raw Data description: The raw data of the message to be signed, provided as a string or hex-encoded. type: object required: - type - chain - raw_data title: CreateEvmTypedV1MessageRequest 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 StellarAssetIdentifierRequest: 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' type: object required: - type - details title: StellarAssetIdentifierRequest StarknetContractCreationDetails: properties: type: type: string const: contract_deployment title: Type description: A transaction that created a contract. type: object required: - type title: StarknetContractCreationDetails CreateBlackBoxSignatureWithWaitRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: black_box_signature title: Type description: Black Box signature type. details: oneOf: - $ref: '#/components/schemas/BinaryHashPayload' - $ref: '#/components/schemas/IntegerHashPayload' discriminator: propertyName: format mapping: hash_binary: '#/components/schemas/BinaryHashPayload' hash_integer: '#/components/schemas/IntegerHashPayload' timeout: type: integer maximum: 50.0 minimum: 1.0 title: Timeout description: The maximum time in seconds to wait for the transaction to reach the specified state. For states that require more than 50 seconds, using webhooks or polling is preferable. default: 10 wait_for_state: $ref: '#/components/schemas/NonPushableTransactionState' description: The state to wait for. type: object required: - vault_id - type - details - wait_for_state title: CreateBlackBoxSignatureWithWaitRequest CreateStarknetMessageRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: starknet_message title: Type description: Starknet message type. details: $ref: '#/components/schemas/StarknetTypedMessageRequest' type: object required: - vault_id - type - details title: CreateStarknetMessageRequest StarknetTypedMessageRequest: properties: type: type: string const: typed_message_type title: Type description: EIP-712 message standard. chain: $ref: '#/components/schemas/StarknetChainUniqueId' description: The chain that this transaction is on. Specify the chain name (for example, `starknet_mainnet`). raw_data: type: string minLength: 1 title: Raw Data description: The raw data of the message to be signed, provided as a string or hex-encoded. type: object required: - type - chain - raw_data title: StarknetTypedMessageRequest CustomFeeRequest: properties: type: type: string const: custom title: Type fee_per_byte: type: string pattern: ^0*[1-9]\d*$ title: Fee Per Byte description: The fee per byte. example: '1000000000000000000' type: object required: - type - fee_per_byte title: CustomFeeRequest CreateTronTransactionRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: tron_transaction title: Type description: TRON transaction type. details: oneOf: - $ref: '#/components/schemas/CreateTronTransferRequest' - $ref: '#/components/schemas/CreateTronSerializedRawTransactionRequest' discriminator: propertyName: type mapping: tron_serialized_raw_transaction: '#/components/schemas/CreateTronSerializedRawTransactionRequest' tron_transfer: '#/components/schemas/CreateTronTransferRequest' type: object required: - vault_id - type - details title: CreateTronTransactionRequest TronTypedMessageV2Base64RawData: properties: format: type: string const: base64 title: Format description: Base64 format for raw data. raw_data_base64: type: string title: Raw Data Base64 description: The message to be signed, base64-encoded. type: object required: - format - raw_data_base64 title: TronTypedMessageV2Base64RawData PredictTransactionRequest: oneOf: - $ref: '#/components/schemas/TransactionPredictAptosMessageRequest' - $ref: '#/components/schemas/TransactionPredictAptosTransactionRequest' - $ref: '#/components/schemas/TransactionPredictArchTransactionRequest' - $ref: '#/components/schemas/TransactionPredictCantonTransactionRequest' - $ref: '#/components/schemas/TransactionPredictCosmosTransactionRequest' - $ref: '#/components/schemas/TransactionPredictCosmosMessageRequest' - $ref: '#/components/schemas/TransactionPredictEvmMessageRequest' - $ref: '#/components/schemas/TransactionPredictEvmTransactionRequest' - $ref: '#/components/schemas/TransactionPredictExchangeTransactionRequest' - $ref: '#/components/schemas/TransactionPredictSolanaMessageRequest' - $ref: '#/components/schemas/TransactionPredictSolanaTransactionRequest' - $ref: '#/components/schemas/PredictStacksTransactionRequest' - $ref: '#/components/schemas/PredictStarknetMessageRequest' - $ref: '#/components/schemas/PredictStarknetTransactionRequest' - $ref: '#/components/schemas/PredictStellarMessageRequest' - $ref: '#/components/schemas/TransactionPredictStellarTransactionRequest' - $ref: '#/components/schemas/TransactionPredictSuiMessageRequest' - $ref: '#/components/schemas/TransactionPredictSuiTransactionRequest' - $ref: '#/components/schemas/TransactionPredictTonMessageRequest' - $ref: '#/components/schemas/TransactionPredictTonTransactionRequest' - $ref: '#/components/schemas/PredictTronMessageRequest' - $ref: '#/components/schemas/TransactionPredictTronTransactionRequest' - $ref: '#/components/schemas/TransactionPredictUtxoMessageRequest' - $ref: '#/components/schemas/TransactionPredictUtxoTransactionRequest' discriminator: propertyName: type mapping: aptos_message: '#/components/schemas/TransactionPredictAptosMessageRequest' aptos_transaction: '#/components/schemas/TransactionPredictAptosTransactionRequest' arch_transaction: '#/components/schemas/TransactionPredictArchTransactionRequest' canton_transaction: '#/components/schemas/TransactionPredictCantonTransactionRequest' cosmos_message: '#/components/schemas/TransactionPredictCosmosMessageRequest' cosmos_transaction: '#/components/schemas/TransactionPredictCosmosTransactionRequest' evm_message: '#/components/schemas/TransactionPredictEvmMessageRequest' evm_transaction: '#/components/schemas/TransactionPredictEvmTransactionRequest' exchange_transaction: '#/components/schemas/TransactionPredictExchangeTransactionRequest' solana_message: '#/components/schemas/TransactionPredictSolanaMessageRequest' solana_transaction: '#/components/schemas/TransactionPredictSolanaTransactionRequest' stacks_transaction: '#/components/schemas/PredictStacksTransactionRequest' starknet_message: '#/components/schemas/PredictStarknetMessageRequest' starknet_transaction: '#/components/schemas/PredictStarknetTransactionRequest' stellar_message: '#/components/schemas/PredictStellarMessageRequest' stellar_transaction: '#/components/schemas/TransactionPredictStellarTransactionRequest' sui_message: '#/components/schemas/TransactionPredictSuiMessageRequest' sui_transaction: '#/components/schemas/TransactionPredictSuiTransactionRequest' ton_message: '#/components/schemas/TransactionPredictTonMessageRequest' ton_transaction: '#/components/schemas/TransactionPredictTonTransactionRequest' tron_message: '#/components/schemas/PredictTronMessageRequest' tron_transaction: '#/components/schemas/TransactionPredictTronTransactionRequest' utxo_message: '#/components/schemas/TransactionPredictUtxoMessageRequest' utxo_transaction: '#/components/schemas/TransactionPredictUtxoTransactionRequest' CosmosMessage: 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. state: $ref: '#/components/schemas/NonPushableTransactionState' description: The state of the message. state_changes: items: $ref: '#/components/schemas/NonPushableTransactionStateChange' type: array title: State Changes description: The state changes of the message. type: type: string const: cosmos_message title: Type description: Cosmos message type. cosmos_message_type: $ref: '#/components/schemas/CosmosMessageType' description: The type of the Cosmos message. data: $ref: '#/components/schemas/CosmosMessageData' description: The raw data of the message, encoded in base64 if bytes, else plain string. chain: $ref: '#/components/schemas/EnrichedCosmosChain' description: The details of the chain that this message is on. sender: $ref: '#/components/schemas/EnrichedCosmosBechAddress' description: The sender of the message. type: object required: - id - created_at - modified_at - signatures - direction - interacted_vaults - organization_id - state - state_changes - type - cosmos_message_type - data - chain - sender title: CosmosMessage UtxoOutputToAddressRequest: properties: type: type: string const: address title: Type address: type: string maxLength: 74 minLength: 14 title: Address example: bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq type: object required: - type - address title: UtxoOutputToAddressRequest TypedCosmosRawTransactionRequest: properties: type: type: string const: cosmos_raw_transaction title: Type description: A cosmos raw transaction is for any operation. 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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party.
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' default: auto chain: $ref: '#/components/schemas/CosmosChainUniqueId' description: Chain id on which the transaction will be processed. request_data: oneOf: - $ref: '#/components/schemas/AminoRequestData' - $ref: '#/components/schemas/DirectRequestData' description: Request data. discriminator: propertyName: format mapping: amino: '#/components/schemas/AminoRequestData' direct: '#/components/schemas/DirectRequestData' type: object required: - type - chain - request_data title: TypedCosmosRawTransactionRequest CreateStellarMessageRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: stellar_message title: Type description: Stellar message type. details: $ref: '#/components/schemas/StellarMessageRequest' type: object required: - vault_id - type - details title: CreateStellarMessageRequest 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 ExchangeReversionState: type: string enum: - not_reverted - insufficient_exchange_withdraw_funds title: ExchangeReversionState EvmLegacySuggestedFees: properties: type: type: string const: legacy title: Type low: $ref: '#/components/schemas/LegacyGasFields' description: The low suggested gas fees. medium: $ref: '#/components/schemas/LegacyGasFields' description: The medium suggested gas fees. high: $ref: '#/components/schemas/LegacyGasFields' description: The high suggested gas fees. type: object required: - type - low - medium - high title: EvmLegacySuggestedFees CosmosTokenWithAmount: properties: amount: type: string pattern: ^\d+$ title: Amount description: The amount of the coin in base unit (for example uatom). example: '1000000000000000000' type: type: string const: token title: Type coin: $ref: '#/components/schemas/CosmosToken' description: The coin. type: object required: - amount - type - coin title: CosmosTokenWithAmount 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. UtxoMessageDetails: properties: type: $ref: '#/components/schemas/UtxoMessageType' description: The type of the message to sign. sender: $ref: '#/components/schemas/UtxoAddress' description: The sender of the message. raw_data: type: string title: Raw Data description: The raw data of the message, encoded in base64 example: SGVsbG8= type: object required: - type - sender - raw_data title: UtxoMessageDetails EvmGasEstimation: properties: gas_limit: type: string pattern: ^0*[1-9]\d*$ title: Gas Limit description: The gas limit. example: '1000000000000000000' fiat_price: description: The price of the asset used to pay the fee. $ref: '#/components/schemas/Price' type: object required: - gas_limit title: EvmGasEstimation ExportedResource: type: string enum: - transaction - backup_snapshot - vault title: ExportedResource SolanaPersonalMessageRequest: properties: type: type: string const: personal_message_type title: Type description: Personal message standard. chain: $ref: '#/components/schemas/SolanaChainUniqueId' description: The details of the chain of the native asset. raw_data: type: string title: Raw Data description: Base64 of the message to be signed. example: SGVsbG8= type: object required: - type - chain - raw_data title: SolanaPersonalMessageRequest SuiCommand: oneOf: - $ref: '#/components/schemas/SuiTransferObjectsCommand' - $ref: '#/components/schemas/SuiSplitCoinsCommand' - $ref: '#/components/schemas/SuiMergeCoinsCommand' - $ref: '#/components/schemas/SuiMakeMoveVecCommand' - $ref: '#/components/schemas/SuiMoveCallCommand' - $ref: '#/components/schemas/SuiPublishCommand' - $ref: '#/components/schemas/SuiUpgradeCommand' discriminator: propertyName: type mapping: make_move_vec: '#/components/schemas/SuiMakeMoveVecCommand' merge_coins: '#/components/schemas/SuiMergeCoinsCommand' move_call: '#/components/schemas/SuiMoveCallCommand' publish: '#/components/schemas/SuiPublishCommand' split_coins: '#/components/schemas/SuiSplitCoinsCommand' transfer_objects: '#/components/schemas/SuiTransferObjectsCommand' upgrade: '#/components/schemas/SuiUpgradeCommand' StarknetErc20TransferDetails: properties: type: type: string const: erc20_transfer title: Type description: 'A transaction involving the transfer of an erc20 from one address to another. ' sender: $ref: '#/components/schemas/EnrichedStarknetAddress' description: The sender of the assets. recipient: $ref: '#/components/schemas/EnrichedStarknetAddress' description: The recipient of the assets. 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: StarknetErc20TransferDetails MinedResultStatus: type: string enum: - success - missing - potentially_partial title: MinedResultStatus NonPushableTransactionState: type: string enum: - waiting_for_approval - waiting_for_signing_trigger - approved - finalized_for_signing - signed - sent_to_provider - completed - error_signing - aborted - error_submitting_to_provider - dropped title: NonPushableTransactionState TransactionPredictStellarTransactionRequest: 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: stellar_transaction title: Type description: Stellar transaction type. details: oneOf: - $ref: '#/components/schemas/CreateStellarTransferRequest' - $ref: '#/components/schemas/CreateStellarChangeTrustRequest' - $ref: '#/components/schemas/CreateStellarRawTransactionRequest' - $ref: '#/components/schemas/CreateStellarClaimClaimableBalanceRequest' discriminator: propertyName: type mapping: stellar_change_trust: '#/components/schemas/CreateStellarChangeTrustRequest' stellar_claim_claimable_balance: '#/components/schemas/CreateStellarClaimClaimableBalanceRequest' stellar_raw_transaction: '#/components/schemas/CreateStellarRawTransactionRequest' stellar_transfer: '#/components/schemas/CreateStellarTransferRequest' type: object required: - vault_id - type - details title: TransactionPredictStellarTransactionRequest 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 SuiReversion: properties: state: $ref: '#/components/schemas/SuiReversionState' description: 'The state of the reversion. Is one of the following:
  • `not_reverted`: No reversion, meaning, completed successfully.
  • `unknown_revert`: Fordefi does not know the reason for the reversion.
  • `contract_asserted`: Insufficient coin balance.
  • `insufficient_funds_gas_and_value`: A transaction was sent for which there were insufficient funds.
  • `invalid_input`: The input data was invalid.
  • `transaction_failed_to_reach_finality`: The transaction failed to reach finality state.
  • `out_of_gas`: The transaction ran out of gas.
  • `transaction_locked_objects_failure`: The transaction failed due to locked objects on validator.
' reason: title: Reason description: The reason for the reversion (additional information). type: string type: object required: - state title: SuiReversion 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 AptosMessage: 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. state: $ref: '#/components/schemas/NonPushableTransactionState' description: The state of the message. state_changes: items: $ref: '#/components/schemas/NonPushableTransactionStateChange' type: array title: State Changes description: The state changes of the message. type: type: string const: aptos_message title: Type description: Aptos message type. aptos_message_type: $ref: '#/components/schemas/AptosMessageType' description: The type of the Aptos message. raw_original_message_to_sign: type: string title: Raw Original Message To Sign description: The original message that was requested to be signed, encoded in base64. example: SGVsbG8= string_original_message_to_sign: type: string title: String Original Message To Sign description: The original message that was requested to be signed. raw_full_message_to_sign: type: string title: Raw Full Message To Sign description: The full message to be signed, encoded in base64. example: SGVsbG8= string_full_message_to_sign: type: string title: String Full Message To Sign description: The full message to be signed. chain: $ref: '#/components/schemas/EnrichedAptosChain' description: The details of the chain that this message is on. sender: $ref: '#/components/schemas/EnrichedAptosAddress' description: The sender of the message. type: object required: - id - created_at - modified_at - signatures - direction - interacted_vaults - organization_id - state - state_changes - type - aptos_message_type - raw_original_message_to_sign - string_original_message_to_sign - raw_full_message_to_sign - string_full_message_to_sign - chain - sender title: AptosMessage SignerType: type: string enum: - initiator - api_signer - end_user - multiple_signers - api_user title: SignerType TronContractCallDetails: properties: type: type: string const: contract_call title: Type description: A TRON contract call transaction. sender: $ref: '#/components/schemas/EnrichedTronAddress' description: The sender of the transaction. recipient: description: The recipient of the transaction. $ref: '#/components/schemas/EnrichedTronAddress' decoded_tx_bytes: title: Decoded Tx Bytes description: The json representation of the transaction's data type: string type: object required: - type - sender title: TronContractCallDetails 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 CreateAptosMessageRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: aptos_message title: Type description: Aptos message type. details: $ref: '#/components/schemas/AptosPersonalMessageRequest' type: object required: - vault_id - type - details title: CreateAptosMessageRequest TonTransactionResult: properties: reversion: $ref: '#/components/schemas/TonReversion' description: Details whether the transaction was reverted or not. address_fees: items: $ref: '#/components/schemas/TonAddressFee' type: array title: Address Fees description: The fees paid for this transaction by managed addresses. effects: $ref: '#/components/schemas/TonEffects' description: The effects of the transaction. type: object required: - reversion - address_fees - effects title: TonTransactionResult TonAddressFee: properties: address: $ref: '#/components/schemas/EnrichedTonAddress' description: The address that paid the fee. total_fee: type: integer title: Total Fee description: The total fee paid by this address, in nano tons. priced_asset: $ref: '#/components/schemas/PricedAsset' description: The information of the asset used to pay the fee and amount used. type: object required: - address - total_fee - priced_asset title: TonAddressFee CosmosArbitraryMessageRequest: properties: type: type: string const: arbitrary_message_type title: Type description: Arbitrary message standard. chain: $ref: '#/components/schemas/CosmosChainUniqueId' description: The details of the chain of the native asset. data: $ref: '#/components/schemas/CosmosMessageData' description: The message to be signed. type: object required: - type - chain - data title: CosmosArbitraryMessageRequest EvmChainName: type: string enum: - arbitrum_mainnet - arbitrum_sepolia - aster_mainnet - avalanche_chain - avalanche_fuji - base_mainnet - berachain_mainnet - blast_mainnet - bsc_mainnet - canto_mainnet - clink_mainnet - clink_testnet - conflux_mainnet - dymension_mainnet - ethereum_goerli - ethereum_holesky - ethereum_mainnet - ethereum_sepolia - fantom_mainnet - flare_mainnet - flare_testnet - gnosis_mainnet - hypercore_mainnet - hyperevm_mainnet - ink_mainnet - kava_mainnet - katana_mainnet - linea_mainnet - optimism_mainnet - pharos_mainnet - plasma_mainnet - manta_pacific_mainnet - mantle_mainnet - merlin_mainnet - monad_mainnet - polygon_mainnet - polygon_mumbai - polygon_zkevm_mainnet - reya_mainnet - robinhood_mainnet - rootstock_mainnet - scroll_mainnet - sei_mainnet - sonic_mainnet - tempo_mainnet - unichain_mainnet - xai_mainnet - x_layer_mainnet - zero_gravity_mainnet - zeta_mainnet - zklink_nova_mainnet - zksync_era_mainnet title: EvmChainName ArchFee: properties: base_fee: type: string pattern: ^0*[1-9]\d*$ title: Base Fee description: The base fee of the transaction (in lamports). example: '1000000000000000000' total_fee: type: string pattern: ^0*[1-9]\d*$ title: Total Fee description: The total fee of the transaction (in lamports). 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: - base_fee - total_fee - priced_asset title: ArchFee PredictedSolanaMessage: 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 type: type: string const: solana_message title: Type description: The type of the transaction. chain: $ref: '#/components/schemas/EnrichedSolanaChain' description: The details of the chain that this message is on. sender: $ref: '#/components/schemas/EnrichedSolanaAddress' description: The sender of the message. solana_message_type: $ref: '#/components/schemas/SolanaMessageType' description: The type of the Solana message. solana_message_type_details: oneOf: - $ref: '#/components/schemas/PersonalMessageDetails' - $ref: '#/components/schemas/CreateSessionDetails' description: The details of the Solana message. discriminator: propertyName: type mapping: create_session_message_type: '#/components/schemas/CreateSessionDetails' personal_message_type: '#/components/schemas/PersonalMessageDetails' expected_result: $ref: '#/components/schemas/SolanaMessageResult' description: Simulation is supported only for Fogo session intent messages. Is empty when simulation is not available for the intent type. message_to_display: type: string title: Message To Display description: User-friendly formatting of the message to be signed. type: object required: - matched_policies - risks - type - chain - sender - solana_message_type - solana_message_type_details - expected_result - message_to_display title: PredictedSolanaMessage EvmTransactionParsedData: properties: method: type: string title: Method description: The method name, in case of contract call. method_arguments: items: $ref: '#/components/schemas/EvmTransactionMethodArgument' type: array title: Method Arguments description: The method arguments, in case of contract call. type: object required: - method - method_arguments title: EvmTransactionParsedData 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 DefinedPreconditionError_ReleaseTransactionErrorType_: 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/ReleaseTransactionErrorType' type: object required: - title - detail title: DefinedPreconditionError[ReleaseTransactionErrorType] StarknetFeeDetails: properties: l1_gas_consumed: type: string pattern: ^\d+$ title: L1 Gas Consumed description: L1 gas consumed by the transaction. example: '1000000000000000000' l1_gas_price: type: string pattern: ^0*[1-9]\d*$ title: L1 Gas Price description: L1 gas unit price. example: '1000000000000000000' l2_gas_consumed: type: string pattern: ^\d+$ title: L2 Gas Consumed description: L2 gas consumed by the transaction. example: '1000000000000000000' l2_gas_price: type: string pattern: ^0*[1-9]\d*$ title: L2 Gas Price description: L2 gas unit price. example: '1000000000000000000' l1_data_gas_consumed: type: string pattern: ^\d+$ title: L1 Data Gas Consumed description: L1 data gas consumed by the transaction. example: '1000000000000000000' l1_data_gas_price: type: string pattern: ^0*[1-9]\d*$ title: L1 Data Gas Price description: L1 data gas unit price. example: '1000000000000000000' type: object required: - l1_gas_consumed - l1_gas_price - l2_gas_consumed - l2_gas_price - l1_data_gas_consumed - l1_data_gas_price title: StarknetFeeDetails 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 CreateExchangeExternalWithdrawRequest: properties: type: type: string const: external_withdraw title: Type fail_on_prediction_failure: type: boolean title: Fail On Prediction Failure description: '`True` if the request should fail in case simulation failed, `False` otherwise.' default: true skip_prediction: type: boolean title: Skip Prediction description: '`True` to create a transaction without prediction, `False` otherwise.' default: false asset_identifier: $ref: '#/components/schemas/ExchangeAssetIdentifierRequest' description: The exchange asset identifier to transfer. chain: type: string minLength: 1 title: ChainUniqueId description: The chain on which to make the transfer. to: oneOf: - $ref: '#/components/schemas/ExchangeTransferExternalRecipientTypeAddress' - $ref: '#/components/schemas/ExchangeTransferExternalRecipientTypeVault' - $ref: '#/components/schemas/ExchangeTransferExternalRecipientTypeContact' description: The recipient of the transfer. discriminator: propertyName: type mapping: address: '#/components/schemas/ExchangeTransferExternalRecipientTypeAddress' contact: '#/components/schemas/ExchangeTransferExternalRecipientTypeContact' vault: '#/components/schemas/ExchangeTransferExternalRecipientTypeVault' value: oneOf: - $ref: '#/components/schemas/CreateExchangeExternalWithdrawRequestExplicitAmount' - $ref: '#/components/schemas/CreateExchangeTransferRequestMaxAmount' description: The number of units of currency to transfer. discriminator: propertyName: type mapping: max: '#/components/schemas/CreateExchangeTransferRequestMaxAmount' value: '#/components/schemas/CreateExchangeExternalWithdrawRequestExplicitAmount' memo: title: Memo description: Transaction memo. type: string type: object required: - type - asset_identifier - chain - to - value title: CreateExchangeExternalWithdrawRequest 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 CreateSuiMessageWithWaitRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: sui_message title: Type description: Sui message type. details: $ref: '#/components/schemas/SuiPersonalMessageRequest' timeout: type: integer maximum: 50.0 minimum: 1.0 title: Timeout description: The maximum time in seconds to wait for the transaction to reach the specified state. For states that require more than 50 seconds, using webhooks or polling is preferable. default: 10 wait_for_state: $ref: '#/components/schemas/NonPushableTransactionState' description: The state to wait for. type: object required: - vault_id - type - details - wait_for_state title: CreateSuiMessageWithWaitRequest PredictedCosmosMessage: 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 type: type: string const: cosmos_message title: Type description: The type of the transaction. chain: $ref: '#/components/schemas/EnrichedCosmosChain' description: The details of the chain that this message is on. sender: $ref: '#/components/schemas/EnrichedCosmosBechAddress' description: The sender of the message. cosmos_message_type: $ref: '#/components/schemas/CosmosMessageType' description: The type of the Cosmos message. message_to_display: type: string title: Message To Display description: User-friendly formatting of the message to be signed. type: object required: - matched_policies - risks - type - chain - sender - cosmos_message_type - message_to_display title: PredictedCosmosMessage EnrichedStacksAddress: 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: stacks title: Type address: type: string maxLength: 171 pattern: ^S[0-9A-Za-z._-]+$ title: Address description: The Stacks address represented in hex format. example: SP3J4NWQXC312DK0GXVRZKSRFBZG8S5FG1D2160E9 type: object required: - type - address title: EnrichedStacksAddress StellarTransaction: 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: stellar_transaction title: Type description: Stellar transaction type. stellar_transaction_type_details: oneOf: - $ref: '#/components/schemas/StellarNativeTransferDetails' - $ref: '#/components/schemas/StellarClassicAssetTransferDetails' - $ref: '#/components/schemas/StellarSorobanTokenTransferDetails' - $ref: '#/components/schemas/StellarChangeTrustDetails' - $ref: '#/components/schemas/StellarRawTransactionDetails' - $ref: '#/components/schemas/StellarClaimClaimableBalanceDetails' description: Details of the Stellar transaction based on its type. discriminator: propertyName: type mapping: change_trust: '#/components/schemas/StellarChangeTrustDetails' claim_claimable_balance: '#/components/schemas/StellarClaimClaimableBalanceDetails' classic_asset_transfer: '#/components/schemas/StellarClassicAssetTransferDetails' native_transfer: '#/components/schemas/StellarNativeTransferDetails' raw_transaction: '#/components/schemas/StellarRawTransactionDetails' soroban_token_transfer: '#/components/schemas/StellarSorobanTokenTransferDetails' chain: $ref: '#/components/schemas/EnrichedStellarChain' description: The details of the chain this transaction is on. sender: $ref: '#/components/schemas/EnrichedStellarAddress' description: The sender of the transaction. 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. For example, https://stellar.expert/ example: https://stellar.expert/explorer/public/tx/abc123def456... 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/StellarTransactionResult' mined_result: description: The result of the transaction after it was mined. $ref: '#/components/schemas/StellarTransactionResult' serialized_signed_transaction: title: Serialized Signed Transaction description: The serialized signed transaction. type: string claim_status: description: The claim status of the transaction. Set to 'claimable' for transactions with claimable balances. $ref: '#/components/schemas/ClaimStatus' memo: title: Memo description: The memo attached to this Stellar transaction. type: string decoded_tx_bytes: title: Decoded Tx Bytes description: The JSON representation of the transaction's data, for raw transactions. type: string type: object required: - id - created_at - modified_at - signatures - direction - interacted_vaults - organization_id - state - state_changes - type - stellar_transaction_type_details - chain - sender title: StellarTransaction 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 ContractDeploymentDetails: properties: type: type: string const: contract_deployment title: Type description: A transaction that deploys a new contract. contract_address: $ref: '#/components/schemas/EnrichedEvmAddress' type: object required: - type - contract_address title: ContractDeploymentDetails EvmBridgeEffectKnownDestination: properties: type: type: string const: known_target_chain title: Type description: The type of the effect destination. dest_address: $ref: '#/components/schemas/EnrichedEvmAddress' description: The destination address of the bridge transaction. dest_chain: $ref: '#/components/schemas/EnrichedEvmChain' description: The destination chain of the bridge transaction. type: object required: - type - dest_address - dest_chain title: EvmBridgeEffectKnownDestination 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. 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 CreateSuiSerializedTransactionDataRequest: properties: type: type: string const: sui_binary_canonical_serialization title: Type description: A Sui Binary Canonical Serialization (or BCS) of a transaction. 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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party.
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' default: auto chain: $ref: '#/components/schemas/SuiChainUniqueId' description: The chain that this transaction is on. Specify the chain name (for example, `sui_mainnet`). data: type: string title: Data description: The base64 encoded BCS of the transaction. example: SGVsbG8= type: object required: - type - chain - data title: CreateSuiSerializedTransactionDataRequest PredictedTonTransaction: 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: ton_transaction title: Type description: Ton transaction type. expected_result: $ref: '#/components/schemas/TonTransactionResult' description: The expected result of the transaction in case it is mined. chain: $ref: '#/components/schemas/EnrichedTonChain' description: The details of the chain that this transaction is on. payload: $ref: '#/components/schemas/TonTransactionPayload' description: The payload of the transaction. ton_transaction_type_details: oneOf: - $ref: '#/components/schemas/TonNativeTransferDetails' - $ref: '#/components/schemas/TonJettonTransferDetails' - $ref: '#/components/schemas/TonRawTransactionDetails' description: Details of the Ton transaction based on its type. discriminator: propertyName: type mapping: jetton_transfer: '#/components/schemas/TonJettonTransferDetails' native_transfer: '#/components/schemas/TonNativeTransferDetails' raw_transaction: '#/components/schemas/TonRawTransactionDetails' suggested_fees: $ref: '#/components/schemas/TonSuggestedFees' description: The suggested fees. sender: $ref: '#/components/schemas/EnrichedTonAddress' description: The sender of the transaction. type: object required: - matched_policies - risks - type - expected_result - chain - payload - ton_transaction_type_details - suggested_fees - sender title: PredictedTonTransaction 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. TronStakeDetails: properties: type: type: string const: stake title: Type description: A TRON stake transaction. sender: $ref: '#/components/schemas/EnrichedTronAddress' description: The sender of the transaction. recipient: description: The recipient of the transaction. $ref: '#/components/schemas/EnrichedTronAddress' decoded_tx_bytes: title: Decoded Tx Bytes description: The json representation of the transaction's data type: string type: object required: - type - sender title: TronStakeDetails 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 AllowanceEffect: 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/EnrichedEvmAddress' description: The owner giving the allowance. spender: $ref: '#/components/schemas/EnrichedEvmAddress' description: The spender receiving the allowance. type: object required: - priced_asset - amount - owner - spender title: AllowanceEffect CosmosTransferToAddressRequest: properties: type: type: string const: address title: Type address: $ref: '#/components/schemas/CosmosBechAddress' description: The cosmos bech32 to transfer to. type: object required: - type - address title: CosmosTransferToAddressRequest StarknetTransaction: 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: starknet_transaction title: Type description: Starknet transaction type. starknet_transaction_type_details: oneOf: - $ref: '#/components/schemas/StarknetNativeTransferDetails' - $ref: '#/components/schemas/StarknetErc20TransferDetails' - $ref: '#/components/schemas/StarknetRawTransactionDetails' - $ref: '#/components/schemas/StarknetContractCreationDetails' description: Details of the Starknet transaction based on its type. discriminator: propertyName: type mapping: contract_deployment: '#/components/schemas/StarknetContractCreationDetails' erc20_transfer: '#/components/schemas/StarknetErc20TransferDetails' native_transfer: '#/components/schemas/StarknetNativeTransferDetails' raw_transaction: '#/components/schemas/StarknetRawTransactionDetails' call_data: items: $ref: '#/components/schemas/StarknetCallData' type: array title: Call Data description: The call data of the transaction. chain: $ref: '#/components/schemas/EnrichedStarknetChain' description: The details of the chain this transaction is on. nonce: title: Nonce description: The nonce of the transaction. type: integer sender: $ref: '#/components/schemas/EnrichedStarknetAddress' description: The sender of the transaction. hash: title: Hash description: The hash of the transaction. type: string maxLength: 66 minLength: 66 pattern: ^0[xX][a-fA-F0-9]+$ example: '0x0684532b069fb0ce7e22041538a1c5e4850aafae042c772393cd7d795b767c74' expected_result: description: The expected result of the transaction in case it is mined. $ref: '#/components/schemas/StarknetTransactionResult' mined_result: description: The result of the transaction after it was mined. $ref: '#/components/schemas/StarknetTransactionResult' explorer_url: title: Explorer Url description: The URL of this transaction in a blockchain explorer. For example, starkscan.co example: https://voyager.online/tx/0x0684532b069fb0ce7e22041538a1c5e4850aafae042c772393cd7d795b767c74 type: string maxLength: 2083 minLength: 1 format: uri fee_details: description: The details of the fee of the transaction. $ref: '#/components/schemas/StarknetFeeDetails' type: object required: - id - created_at - modified_at - signatures - direction - interacted_vaults - organization_id - state - state_changes - type - starknet_transaction_type_details - call_data - chain - sender title: StarknetTransaction RejectedTransactionSummary: properties: safe_hash: type: string title: Safe Hash description: The Safe transaction hash being rejected. to: $ref: '#/components/schemas/EnrichedEvmAddress' description: The target address of the rejected transaction. value: type: string pattern: ^-?\d+$ title: Value description: The value of the rejected transaction. example: '1000000000000000000' method: title: Method description: The method of the rejected transaction. type: string confirmations: type: integer title: Confirmations description: Current number of confirmations. confirmations_required: type: integer title: Confirmations Required description: Required number of confirmations. type: object required: - safe_hash - to - value - confirmations - confirmations_required title: RejectedTransactionSummary EnrichedEvmAddress: 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: evm title: Type address: type: string maxLength: 42 minLength: 42 pattern: ^0[xX][a-fA-F0-9]+$ title: Address description: The EVM address. example: '0x71C7656EC7ab88b098defB751B7401B5f6d8976F' contract: description: The contract details corresponding to this address. $ref: '#/components/schemas/EvmContractMetadata' type: object required: - type - address title: EnrichedEvmAddress 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 SuiMakeMoveVecCommand: properties: type: type: string const: make_move_vec title: Type description: The type of the command. type_tag: title: Type Tag description: The type of the values in the vector. type: string objects: items: $ref: '#/components/schemas/SuiCommandArgument' type: array title: Objects description: The values to put in the vector. type: object required: - type - objects title: SuiMakeMoveVecCommand description: Given n-values of the same type, it constructs a vector. StacksRecipientHex: properties: type: type: string const: hex title: Type description: The type of the recipient. address: type: string maxLength: 171 pattern: ^S[0-9A-Za-z._-]+$ title: Address description: The address of the recipient. example: SP3J4NWQXC312DK0GXVRZKSRFBZG8S5FG1D2160E9 type: object required: - type - address title: StacksRecipientHex 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 StellarRawTransactionDetails: properties: type: type: string const: raw_transaction title: Type description: A raw Stellar transaction containing arbitrary operations provided as XDR. recipient: description: The recipient of the transaction. $ref: '#/components/schemas/EnrichedStellarAddress' type: object required: - type title: StellarRawTransactionDetails 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 EvmBridgeEffect: properties: bridge_name: type: string title: Bridge Name description: The name of the bridge. source: description: The source details of the bridge transaction. oneOf: - $ref: '#/components/schemas/EvmBridgeEffectSourceNative' - $ref: '#/components/schemas/EvmBridgeEffectSourceErc20' discriminator: propertyName: type mapping: erc20: '#/components/schemas/EvmBridgeEffectSourceErc20' native: '#/components/schemas/EvmBridgeEffectSourceNative' destination: oneOf: - $ref: '#/components/schemas/EvmBridgeEffectKnownDestination' - $ref: '#/components/schemas/EvmBridgeEffectUnknownDestination' description: The destination details of the bridge transaction. discriminator: propertyName: type mapping: known_target_chain: '#/components/schemas/EvmBridgeEffectKnownDestination' unknown_target_chain: '#/components/schemas/EvmBridgeEffectUnknownDestination' amount: type: string pattern: ^\d+$ title: Amount description: The amount of the bridge transaction. example: '1000000000000000000' type: object required: - bridge_name - destination - amount title: EvmBridgeEffect ArchAssetIdentifierRequest: 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' type: object required: - type - details title: ArchAssetIdentifierRequest CreateEvmPersonalMessageRequest: properties: type: type: string const: personal_message_type title: Type description: Personal message standard. chain: $ref: '#/components/schemas/EvmChainRequest' description: The EVM chain that this message is intended for. Specify either the chain ID (for example `1` for `ethereum_mainnet`) or the chain name (for example, `ethereum_goerli`). raw_data: type: string minLength: 1 title: Raw Data description: The raw data of the message to be signed, provided as a string or hex-encoded. type: object required: - type - chain - raw_data title: CreateEvmPersonalMessageRequest CreateSuiMessageRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: sui_message title: Type description: Sui message type. details: $ref: '#/components/schemas/SuiPersonalMessageRequest' type: object required: - vault_id - type - details title: CreateSuiMessageRequest StacksPriorityFeeRequest: 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: StacksPriorityFeeRequest ExportType: type: string enum: - csv - zip title: ExportType 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. 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 EvmBridgeEffectUnknownDestination: properties: type: type: string const: unknown_target_chain title: Type description: The type of the effect destination. dest_address: title: Dest Address description: The destination address of the bridge transaction. type: string dest_chain: type: string title: Dest Chain description: The destination chain of the bridge transaction. type: object required: - type - dest_chain title: EvmBridgeEffectUnknownDestination StacksCustomFeeRequest: properties: type: type: string const: custom title: Type total_fee: type: string pattern: ^0*[1-9]\d*$ title: Total Fee description: The total fee to use in the transaction (In microSTX). example: '1000000000000000000' type: object required: - type - total_fee title: StacksCustomFeeRequest 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 CreateSuiTransactionWithWaitRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: sui_transaction title: Type description: Sui transaction type. details: oneOf: - $ref: '#/components/schemas/CreateSuiTransferRequest' - $ref: '#/components/schemas/CreateSuiProgrammableTransactionBlockRequest' - $ref: '#/components/schemas/CreateSuiSerializedTransactionDataRequest' discriminator: propertyName: type mapping: sui_binary_canonical_serialization: '#/components/schemas/CreateSuiSerializedTransactionDataRequest' sui_programmable_transaction_block: '#/components/schemas/CreateSuiProgrammableTransactionBlockRequest' sui_transfer: '#/components/schemas/CreateSuiTransferRequest' timeout: type: integer maximum: 50.0 minimum: 1.0 title: Timeout description: The maximum time in seconds to wait for the transaction to reach the specified state. For states that require more than 50 seconds, using webhooks or polling is preferable. default: 10 wait_for_state: $ref: '#/components/schemas/PushableTransactionState' description: The state to wait for. type: object required: - vault_id - type - details - wait_for_state title: CreateSuiTransactionWithWaitRequest StellarChainUniqueId: type: string enum: - stellar_mainnet title: StellarChainUniqueId StdFee: properties: coins: items: $ref: '#/components/schemas/CosmosCoinWithAmount' type: array title: Coins gas: type: string pattern: ^-?\d+$ title: Gas description: The gas amount. example: '1000000000000000000' payer: description: The payer. $ref: '#/components/schemas/EnrichedCosmosBechAddress' granter: description: The granter. $ref: '#/components/schemas/EnrichedCosmosBechAddress' fee_payer: description: The fee payer. $ref: '#/components/schemas/EnrichedCosmosBechAddress' type: object required: - coins - gas title: StdFee TokenTransferDetails: properties: type: type: string const: token_transfer title: Type description: A transaction involving the transfer of a token from one address to another. direction: description: The direction of funds movement, in case of a transfer. deprecated: true $ref: '#/components/schemas/TransferDirection' recipient: $ref: '#/components/schemas/EnrichedEvmAddress' 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 - recipient title: TokenTransferDetails CosmosTokenTransferDetails: properties: transaction_data: $ref: '#/components/schemas/MessagesList' description: List of transaction's messages. sender: $ref: '#/components/schemas/EnrichedCosmosBechAddress' description: The sender. recipient: $ref: '#/components/schemas/EnrichedCosmosBechAddress' description: The recipient. is_internal: title: Is Internal description: Is this transfer an internal transfer between two vaults. None if the transaction is incoming. type: boolean type: type: string const: token_transfer title: Type description: A transaction involving a token transfer from one address to another. type: object required: - transaction_data - sender - recipient - type title: CosmosTokenTransferDetails StacksTransferEffect: 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/EnrichedStacksAddress' description: The sender of the transfer. to: $ref: '#/components/schemas/EnrichedStacksAddress' description: The receiver of the transfer. type: object required: - priced_asset - amount - from - to title: StacksTransferEffect TransactionSpamState: type: string enum: - unset - manually_set - automatically_set title: TransactionSpamState AptosReversion: properties: state: $ref: '#/components/schemas/AptosReversionState' description: 'The state of the reversion. Is one of the following:
  • `not_reverted`: No reversion, meaning, completed successfully.
  • `unknown_revert`: Fordefi does not know the reason for the reversion.
  • `contract_asserted`: The smart contract originally made an assertion that was later rejected and the transaction was halted.
  • `insufficient_funds_gas_and_value`: A transaction was sent for which there were insufficient funds.
' reason: title: Reason description: The reason for the reversion (additional information). type: string type: object required: - state title: AptosReversion ListTransactionResponse: properties: total: type: integer title: Total page: type: integer title: Page size: type: integer title: Size transactions: items: $ref: '#/components/schemas/Transaction' type: array title: Transactions type: object required: - total - page - size - transactions title: ListTransactionResponse 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 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' BaseBridgeUnknownDestination: properties: type: type: string const: unknown_target_chain title: Type address_repr: type: string title: Address Repr description: The destination address of the bridge transaction. chain_repr: type: string title: Chain Repr description: The destination chain of the bridge transaction. type: object required: - type - address_repr - chain_repr title: BaseBridgeUnknownDestination ReleaseTransactionResponse: oneOf: - $ref: '#/components/schemas/AptosMessage' - $ref: '#/components/schemas/AptosTransaction' - $ref: '#/components/schemas/ArchTransaction' - $ref: '#/components/schemas/BlackBoxSignature' - $ref: '#/components/schemas/CantonTransaction' - $ref: '#/components/schemas/CosmosTransaction' - $ref: '#/components/schemas/CosmosMessage' - $ref: '#/components/schemas/EvmMessage' - $ref: '#/components/schemas/EvmTransaction' - $ref: '#/components/schemas/ExchangeTransaction' - $ref: '#/components/schemas/SolanaMessage' - $ref: '#/components/schemas/SolanaTransaction' - $ref: '#/components/schemas/StacksTransaction' - $ref: '#/components/schemas/StarknetMessage' - $ref: '#/components/schemas/StarknetTransaction' - $ref: '#/components/schemas/StellarMessage' - $ref: '#/components/schemas/StellarTransaction' - $ref: '#/components/schemas/SuiMessage' - $ref: '#/components/schemas/SuiTransaction' - $ref: '#/components/schemas/TonMessage' - $ref: '#/components/schemas/TonTransaction' - $ref: '#/components/schemas/TronMessage' - $ref: '#/components/schemas/TronTransaction' - $ref: '#/components/schemas/UtxoMessage' - $ref: '#/components/schemas/UtxoTransaction' discriminator: propertyName: type mapping: aptos_message: '#/components/schemas/AptosMessage' aptos_transaction: '#/components/schemas/AptosTransaction' arch_transaction: '#/components/schemas/ArchTransaction' black_box_signature: '#/components/schemas/BlackBoxSignature' canton_transaction: '#/components/schemas/CantonTransaction' cosmos_message: '#/components/schemas/CosmosMessage' cosmos_transaction: '#/components/schemas/CosmosTransaction' evm_message: '#/components/schemas/EvmMessage' evm_transaction: '#/components/schemas/EvmTransaction' exchange_transaction: '#/components/schemas/ExchangeTransaction' solana_message: '#/components/schemas/SolanaMessage' solana_transaction: '#/components/schemas/SolanaTransaction' stacks_transaction: '#/components/schemas/StacksTransaction' starknet_message: '#/components/schemas/StarknetMessage' starknet_transaction: '#/components/schemas/StarknetTransaction' stellar_message: '#/components/schemas/StellarMessage' stellar_transaction: '#/components/schemas/StellarTransaction' sui_message: '#/components/schemas/SuiMessage' sui_transaction: '#/components/schemas/SuiTransaction' ton_message: '#/components/schemas/TonMessage' ton_transaction: '#/components/schemas/TonTransaction' tron_message: '#/components/schemas/TronMessage' tron_transaction: '#/components/schemas/TronTransaction' utxo_message: '#/components/schemas/UtxoMessage' utxo_transaction: '#/components/schemas/UtxoTransaction' RecipientContactId: properties: type: type: string const: contact_id title: Type description: The type of the recipient. contact_id: type: string format: uuid title: Contact Id description: The id of the address book contact. type: object required: - type - contact_id title: RecipientContactId CreateStellarTransferRequest: properties: type: type: string const: stellar_transfer title: Type description: A Stellar transfer transaction for transferring native XLM, classic assets, or Soroban tokens. 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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party.
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' default: auto claim_status: description: The claim status of the transaction. $ref: '#/components/schemas/ClaimStatus' to: oneOf: - $ref: '#/components/schemas/StellarRecipientAddress' - $ref: '#/components/schemas/RecipientVaultId' description: 'The recipient of the transfer: either an address or a vault ID.' discriminator: propertyName: type mapping: address: '#/components/schemas/StellarRecipientAddress' vault_id: '#/components/schemas/RecipientVaultId' value: oneOf: - $ref: '#/components/schemas/CreateRequestExplicitAmount' - $ref: '#/components/schemas/CreateRequestMaxAmount' description: The number of units to transfer. discriminator: propertyName: type mapping: max: '#/components/schemas/CreateRequestMaxAmount' value: '#/components/schemas/CreateRequestExplicitAmount' asset_identifier: $ref: '#/components/schemas/StellarAssetIdentifierRequest' description: The Stellar asset identifier to transfer. memo: title: Memo description: Optional memo to include with the transaction. type: string type: object required: - type - to - value - asset_identifier title: CreateStellarTransferRequest StarknetReversion: properties: state: $ref: '#/components/schemas/StarknetReversionState' description: 'The state of the reversion. Is one of the following:
  • `not_reverted`: No reversion, meaning, completed successfully.
  • `unknown_revert`: Fordefi does not know the reason for the reversion.
  • `contract_asserted`: The smart contract originally made an assertion that was later rejected and the transaction was halted.
  • `insufficient_funds_gas_and_value`: A transaction was sent for which there were insufficient funds.
' reason: title: Reason description: The reason for the reversion (additional information). type: string type: object required: - state title: StarknetReversion 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 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:
  • Allow automatically
  • Block
  • Require express approval
  • Skip
' type: object required: - is_default - rule_id - rule_name - action_type title: AmlPolicyMatchOutgoing PredictStarknetMessageRequest: 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: starknet_message title: Type description: Starknet message type. details: $ref: '#/components/schemas/StarknetTypedMessageRequest' type: object required: - vault_id - type - details title: PredictStarknetMessageRequest 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 CreateTonMessageWithWaitRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: ton_message title: Type description: TON message type. details: $ref: '#/components/schemas/TonProofMessageRequest' timeout: type: integer maximum: 50.0 minimum: 1.0 title: Timeout description: The maximum time in seconds to wait for the transaction to reach the specified state. For states that require more than 50 seconds, using webhooks or polling is preferable. default: 10 wait_for_state: $ref: '#/components/schemas/NonPushableTransactionState' description: The state to wait for. type: object required: - vault_id - type - details - wait_for_state title: CreateTonMessageWithWaitRequest TransactionPredictSolanaTransactionRequest: 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/TransactionPredictSolanaTransferRequest' - $ref: '#/components/schemas/TransactionDetailsSolanaRawTransactionRequest' - $ref: '#/components/schemas/TransactionPredictSolanaSerializedTransactionMessageRequest' discriminator: propertyName: type mapping: solana_raw_transaction: '#/components/schemas/TransactionDetailsSolanaRawTransactionRequest' solana_serialized_transaction_message: '#/components/schemas/TransactionPredictSolanaSerializedTransactionMessageRequest' solana_transfer: '#/components/schemas/TransactionPredictSolanaTransferRequest' type: object required: - vault_id - type - details title: TransactionPredictSolanaTransactionRequest 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 BlackBoxSignatureEcdsaStarkDetails: properties: type: type: string const: ecdsa_stark title: Type description: ECDSA over the Stark curve signature. signature: description: The ECDSA signature over the Stark curve. $ref: '#/components/schemas/EcdsaSignature' hash_binary: type: string minLength: 1 title: Hash Binary description: 'The payload to sign, encoded in base64 format. ' example: SGVsbG8= type: object required: - type - hash_binary title: BlackBoxSignatureEcdsaStarkDetails 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 CantonPreApprovalSetupDetails: properties: type: type: string const: pre_approval_setup title: Type description: A transaction that sets up a transfer pre-approval for auto-accepting incoming transfers. asset: $ref: '#/components/schemas/PricedAsset' description: The asset this pre-approval applies to. type: object required: - type - asset title: CantonPreApprovalSetupDetails ReleaseStacksTransactionRequest: properties: release_type: $ref: '#/components/schemas/ReleaseType' description: The type of the release. signer_type: $ref: '#/components/schemas/SignerType' description: Set who should sign the transaction. default: initiator note: title: Note description: An optional transaction note. type: string type: type: string const: stacks_transaction title: Type description: The type of the transaction. fee: title: Fee description: The total fee (in microSTX) for the cancellation transaction. Defaults to a bump over the original. type: string pattern: ^0*[1-9]\d*$ example: '1000000000000000000' type: object required: - release_type - type title: ReleaseStacksTransactionRequest ExchangeTransferExternalRecipientTypeAddress: properties: type: type: string const: address title: Type description: Transfer to external address. address: type: string title: Address description: The address of the recipient in plain string. type: object required: - type - address title: ExchangeTransferExternalRecipientTypeAddress 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 CreateTronMessageRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: tron_message title: Type description: TRON message type. details: oneOf: - $ref: '#/components/schemas/TronTypedMessageV1Request' - $ref: '#/components/schemas/TronTypedMessageV2Request' discriminator: propertyName: type mapping: typed_message_type_v1: '#/components/schemas/TronTypedMessageV1Request' typed_message_type_v2: '#/components/schemas/TronTypedMessageV2Request' type: object required: - vault_id - type - details title: CreateTronMessageRequest 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 CosmosBalanceChangeEffect: 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/EnrichedCosmosBechAddress' description: The address affected by the balance change. type: object required: - priced_asset - diff - address title: CosmosBalanceChangeEffect AptosAssetIdentifierRequest: 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' type: object required: - type - details title: AptosAssetIdentifierRequest SolanaMessageType: type: string enum: - personal_message_type - create_session_message_type title: SolanaMessageType CreateEvmMessageRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: evm_message title: Type description: EVM message type. details: oneOf: - $ref: '#/components/schemas/CreateEvmTypedMessageRequest' - $ref: '#/components/schemas/CreateEvmTypedV1MessageRequest' - $ref: '#/components/schemas/CreateEvmPersonalMessageRequest' discriminator: propertyName: type mapping: personal_message_type: '#/components/schemas/CreateEvmPersonalMessageRequest' typed_message_type: '#/components/schemas/CreateEvmTypedMessageRequest' typed_message_type_v1: '#/components/schemas/CreateEvmTypedV1MessageRequest' type: object required: - vault_id - type - details title: CreateEvmMessageRequest LegacyGasRequest: properties: type: type: string const: legacy title: Type description: The type of gas data. price: type: string pattern: ^0*[1-9]\d*$ title: Price description: The price of a gas unit. example: '1000000000000000000' type: object required: - type - price title: LegacyGasRequest 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 ExchangeBalanceChangeEffect: 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/EnrichedAddress' description: The address affected by the balance change or vault in case of an exchange vault. type: object required: - priced_asset - diff - address title: ExchangeBalanceChangeEffect AllowanceDetails: properties: type: type: string const: allowance title: Type description: 'A transaction involving an allowance. ' spender: $ref: '#/components/schemas/EnrichedEvmAddress' type: object required: - type - spender title: AllowanceDetails 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 StarknetTransferEffect: 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/EnrichedStarknetAddress' description: The sender of the transfer. to: $ref: '#/components/schemas/EnrichedStarknetAddress' description: The receiver of the transfer. type: object required: - priced_asset - amount - from - to title: StarknetTransferEffect CreateArchTransferRequest: properties: type: type: string const: arch_transfer title: Type description: A Arch transfer transaction is for transferring native currency or a token. 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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party.
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' default: auto to: oneOf: - $ref: '#/components/schemas/ArchRecipientBase58Repr' - $ref: '#/components/schemas/RecipientVaultId' - $ref: '#/components/schemas/RecipientContactId' description: The recipient of the transfer. Specify either a general address (a base58 string) or the id of another vault (a UUID string). discriminator: propertyName: type mapping: address: '#/components/schemas/ArchRecipientBase58Repr' contact_id: '#/components/schemas/RecipientContactId' vault_id: '#/components/schemas/RecipientVaultId' value: oneOf: - $ref: '#/components/schemas/CreateRequestExplicitAmount' - $ref: '#/components/schemas/CreateRequestMaxAmount' description: The number of units of currency to transfer. discriminator: propertyName: type mapping: max: '#/components/schemas/CreateRequestMaxAmount' value: '#/components/schemas/CreateRequestExplicitAmount' asset_identifier: $ref: '#/components/schemas/ArchAssetIdentifierRequest' description: The Arch asset identifier to transfer. type: object required: - type - to - value - asset_identifier title: CreateArchTransferRequest 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 CreateEvmTypedMessageRequest: properties: type: type: string const: typed_message_type title: Type description: Typed message standard (version 4). chain: $ref: '#/components/schemas/EvmChainRequest' description: The EVM chain that this message is intended for. Specify either the chain ID (for example `1` for `ethereum_mainnet`) or the chain name (for example, `ethereum_goerli`). raw_data: type: string minLength: 1 title: Raw Data description: The raw data of the message to be signed, provided as a string or hex-encoded. type: object required: - type - chain - raw_data title: CreateEvmTypedMessageRequest ExchangeChainUniqueId: type: string enum: - exchange_binance - exchange_bybit - exchange_coinbase_international - exchange_coinbase_us - exchange_okx - exchange_kraken title: ExchangeChainUniqueId EnrichedCosmosBechAddress: 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: cosmos title: Type address: $ref: '#/components/schemas/CosmosBechAddress' description: The Bech32 address. type: object required: - type - address title: EnrichedCosmosBechAddress 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 SignerInfo: properties: signer_address: $ref: '#/components/schemas/EnrichedCosmosBechAddress' description: The address of the signer (in bech32 format). public_key: type: string pattern: ^[a-fA-F0-9]+$ title: Public Key description: Public key in its compressed format account: type: string pattern: ^-?\d+$ title: Account description: The account number assigned by the chain. example: '1000000000000000000' sequence: type: string pattern: ^-?\d+$ title: Sequence description: The sequence of this transaction. example: '1000000000000000000' type: object required: - signer_address - public_key - account - sequence title: SignerInfo EvmDataRequestHex: properties: type: type: string const: hex title: Type description: Hex raw format. hex_data: type: string pattern: ^0[xX][a-fA-F0-9]+$ title: Hex Data description: The contract call data, as a serialized method-call with its arguments, encoded in hex.See [data field format for transactions on Ethereum](https://ethereum.org/en/developers/docs/transactions/#the-data-field). type: object required: - type - hex_data title: EvmDataRequestHex TonAccountRepr: properties: chain_type: type: string const: ton title: Chain Type description: The type of the chain. address: type: string title: Address description: The address of the TON contract in any format. type: object required: - chain_type - address title: TonAccountRepr 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 CreateArchTransactionWithWaitRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: arch_transaction title: Type description: Arch transaction type. details: oneOf: - $ref: '#/components/schemas/CreateArchTransferRequest' discriminator: propertyName: type mapping: arch_transfer: '#/components/schemas/CreateArchTransferRequest' timeout: type: integer maximum: 50.0 minimum: 1.0 title: Timeout description: The maximum time in seconds to wait for the transaction to reach the specified state. For states that require more than 50 seconds, using webhooks or polling is preferable. default: 10 wait_for_state: $ref: '#/components/schemas/PushableTransactionState' description: The state to wait for. type: object required: - vault_id - type - details - wait_for_state title: CreateArchTransactionWithWaitRequest CreateStellarTransactionRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: stellar_transaction title: Type description: Stellar transaction type. details: oneOf: - $ref: '#/components/schemas/CreateStellarTransferRequest' - $ref: '#/components/schemas/CreateStellarChangeTrustRequest' - $ref: '#/components/schemas/CreateStellarRawTransactionRequest' - $ref: '#/components/schemas/CreateStellarClaimClaimableBalanceRequest' discriminator: propertyName: type mapping: stellar_change_trust: '#/components/schemas/CreateStellarChangeTrustRequest' stellar_claim_claimable_balance: '#/components/schemas/CreateStellarClaimClaimableBalanceRequest' stellar_raw_transaction: '#/components/schemas/CreateStellarRawTransactionRequest' stellar_transfer: '#/components/schemas/CreateStellarTransferRequest' type: object required: - vault_id - type - details title: CreateStellarTransactionRequest CantonAssetIdentifierRequest: 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' type: object required: - type - details title: CantonAssetIdentifierRequest 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 TronTokenTransferDetails: properties: type: type: string const: token_transfer title: Type description: A transaction involving the transfer of an sip10 asset from one address to another. sender: $ref: '#/components/schemas/EnrichedTronAddress' description: The sender of the assets. recipient: $ref: '#/components/schemas/EnrichedTronAddress' description: The recipient of the assets. 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: TronTokenTransferDetails TonTransferEffect: 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/EnrichedTonAddress' description: The sender of the transfer. to: $ref: '#/components/schemas/EnrichedTonAddress' description: The receiver of the transfer. type: object required: - priced_asset - amount - from - to title: TonTransferEffect 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 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' MessagesList: oneOf: - $ref: '#/components/schemas/AminoMessagesList' - $ref: '#/components/schemas/DirectMessagesList' - $ref: '#/components/schemas/MinedMessagesList' discriminator: propertyName: format mapping: amino: '#/components/schemas/AminoMessagesList' direct: '#/components/schemas/DirectMessagesList' mined: '#/components/schemas/MinedMessagesList' TransactionPredictEvmRevokeAllowanceRequest: properties: fee_payer: description: The vault that pays the fee for this transaction. $ref: '#/components/schemas/TransactionFeePayerVault' type: type: string const: evm_revoke_allowance title: Type description: The type of the transaction. 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 use_mev_protected_node: type: boolean title: Use Mev Protected Node description: Use a MEV protected node to send the transaction. By using a MEV protected node, you avoid maximal extractable value (MEV) attacks. default: false gas: description: The gas details of the transaction. The details depend on which option you choose:
  • Gas Priority or
  • Custom Gas Request
oneOf: - $ref: '#/components/schemas/GasPriorityRequest' - $ref: '#/components/schemas/CustomGasRequest' discriminator: propertyName: type mapping: custom: '#/components/schemas/CustomGasRequest' priority: '#/components/schemas/GasPriorityRequest' chain: $ref: '#/components/schemas/EvmChainRequest' description: The chain that this transaction is on.Specify either the chain ID (for example `1` for `ethereum_mainnet`)or the chain name (for example, `ethereum_goerli`). token: type: string maxLength: 42 minLength: 42 pattern: ^0[xX][a-fA-F0-9]+$ title: Token description: The address of the token to revoke allowance for. example: '0x71C7656EC7ab88b098defB751B7401B5f6d8976F' spender: type: string maxLength: 42 minLength: 42 pattern: ^0[xX][a-fA-F0-9]+$ title: Spender description: The address of the spender to revoke allowance for. example: '0x71C7656EC7ab88b098defB751B7401B5f6d8976F' type: object required: - type - chain - token - spender title: TransactionPredictEvmRevokeAllowanceRequest 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. SuiFundsWithdrawalArgument: properties: type: type: string const: funds_withdrawal title: Type description: The type of the input argument. amount: type: string pattern: ^\d+$ title: Amount description: The amount to reserve from the accumulator (MIST for SUI, smallest unit for other coins). example: '1000000000000000000' coin_type: $ref: '#/components/schemas/SuiCoinType' description: The coin type being reserved. source: $ref: '#/components/schemas/SuiFundsWithdrawalSource' description: Which address-balance the funds come from. type: object required: - type - amount - coin_type - source title: SuiFundsWithdrawalArgument description: 'SIP-58 input that reserves Balance from the sender or sponsor''s address-balance accumulator. Paired with `0x2::coin::redeem_funds` to produce a Coin.' StacksSuggestedFees: properties: type: type: string const: stacks title: Type description: The type of the chain. low: type: string pattern: ^\d+$ title: Low description: The low suggested total fee. example: '1000000000000000000' medium: type: string pattern: ^\d+$ title: Medium description: The medium suggested total fee. example: '1000000000000000000' high: type: string pattern: ^\d+$ title: High description: The high suggested total fee. example: '1000000000000000000' chain_unique_id: $ref: '#/components/schemas/StacksChainUniqueId' description: The Stacks chain unique id. type: object required: - type - low - medium - high - chain_unique_id title: StacksSuggestedFees CantonBalanceChangeEffect: 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/EnrichedCantonAddress' description: The address affected by the balance change. type: object required: - priced_asset - diff - address title: CantonBalanceChangeEffect 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] 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 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 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 StacksContractCallPayload: properties: contract_address: $ref: '#/components/schemas/EnrichedStacksAddress' description: The address of the contract to call. contract_name: type: string title: Contract Name description: The name of the contract being called. function_name: type: string title: Function Name description: The name of the function to call. function_arguments: items: type: string type: array title: Function Arguments description: The arguments of the function to call. type: object required: - contract_address - contract_name - function_name - function_arguments title: StacksContractCallPayload PredictedCantonTransaction: 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: canton_transaction title: Type description: Canton transaction type. canton_transaction_type_details: oneOf: - $ref: '#/components/schemas/CantonNativeTransferDetails' - $ref: '#/components/schemas/CantonTokenTransferDetails' - $ref: '#/components/schemas/CantonPartyAllocationDetails' - $ref: '#/components/schemas/CantonApproveTransferDetails' - $ref: '#/components/schemas/CantonPreApprovalSetupDetails' description: Details of the Canton transaction based on its type. discriminator: propertyName: type mapping: approve_transfer: '#/components/schemas/CantonApproveTransferDetails' native_transfer: '#/components/schemas/CantonNativeTransferDetails' party_allocation: '#/components/schemas/CantonPartyAllocationDetails' pre_approval_setup: '#/components/schemas/CantonPreApprovalSetupDetails' token_transfer: '#/components/schemas/CantonTokenTransferDetails' chain: $ref: '#/components/schemas/EnrichedCantonChain' description: The chain this transaction is on. sender: $ref: '#/components/schemas/EnrichedCantonAddress' description: The sender of the transaction. recipient: description: The recipient of the assets. $ref: '#/components/schemas/EnrichedCantonAddress' expected_result: $ref: '#/components/schemas/CantonTransactionResult' description: The expected result of the transaction. memo: title: Memo description: The memo attached to this Canton transaction, if any. type: string type: object required: - matched_policies - risks - type - canton_transaction_type_details - chain - sender - expected_result title: PredictedCantonTransaction TonSuggestedFees: properties: type: type: string const: ton title: Type description: The type of the chain. chain_unique_id: $ref: '#/components/schemas/TonChainUniqueId' description: The Ton chain unique id. gas_price: type: string pattern: ^\d+$ title: Gas Price description: The Current gas price in basechain in nanotons. example: '1000000000000000000' type: object required: - type - chain_unique_id - gas_price title: TonSuggestedFees 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 SuiCoinTransferDetails: properties: type: type: string const: coin_transfer title: Type description: 'A transaction involving the transfer of non-SUI coin from one address to another. ' sender: $ref: '#/components/schemas/EnrichedSuiAddress' description: The sender of the coins. recipient: $ref: '#/components/schemas/EnrichedSuiAddress' description: The recipient of the coins. 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: SuiCoinTransferDetails 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 CreateSolanaTransferRequest: properties: fee_payer: description: The vault that pays the fee for this transaction. $ref: '#/components/schemas/TransactionFeePayerVault' 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_transfer title: Type description: A Solana transfer transaction is for transferring native currency or a token. 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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party.
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' default: auto to: oneOf: - $ref: '#/components/schemas/SolanaRecipientBase58' - $ref: '#/components/schemas/RecipientVaultId' - $ref: '#/components/schemas/RecipientContactId' description: The recipient of the transfer. Specify either a general address, the ID of another vault, or a contact ID object. discriminator: propertyName: type mapping: address: '#/components/schemas/SolanaRecipientBase58' contact_id: '#/components/schemas/RecipientContactId' vault_id: '#/components/schemas/RecipientVaultId' value: oneOf: - $ref: '#/components/schemas/CreateRequestExplicitAmount' - $ref: '#/components/schemas/CreateRequestMaxAmount' description: The number of units of currency to transfer. discriminator: propertyName: type mapping: max: '#/components/schemas/CreateRequestMaxAmount' value: '#/components/schemas/CreateRequestExplicitAmount' asset_identifier: $ref: '#/components/schemas/SolanaAssetIdentifierRequest' description: The Solana asset identifier to transfer. type: object required: - type - to - value - asset_identifier title: CreateSolanaTransferRequest SuiCommandNestedResultArgument: properties: type: type: string const: nested_result title: Type description: The type of the command argument. index: type: integer title: Index description: The index of the command in the command vector. result_index: type: integer title: Result Index description: The index of the result in the result vector of that command. type: object required: - type - index - result_index title: SuiCommandNestedResultArgument description: Like a `SuiCommandResultArgument` but it accesses a nested result. 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 CreateSolanaTransactionWithWaitRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' 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: oneOf: - $ref: '#/components/schemas/CreateSolanaTransferRequest' - $ref: '#/components/schemas/CreateSolanaRawTransactionRequest' - $ref: '#/components/schemas/CreateSolanaSerializedTransactionMessageRequest' discriminator: propertyName: type mapping: solana_raw_transaction: '#/components/schemas/CreateSolanaRawTransactionRequest' solana_serialized_transaction_message: '#/components/schemas/CreateSolanaSerializedTransactionMessageRequest' solana_transfer: '#/components/schemas/CreateSolanaTransferRequest' timeout: type: integer maximum: 50.0 minimum: 1.0 title: Timeout description: The maximum time in seconds to wait for the transaction to reach the specified state. For states that require more than 50 seconds, using webhooks or polling is preferable. default: 10 wait_for_state: $ref: '#/components/schemas/PushableTransactionState' description: The state to wait for. type: object required: - vault_id - type - details - wait_for_state title: CreateSolanaTransactionWithWaitRequest CreateSolanaRawTransactionRequest: 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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party.
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' 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' 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: - type - chain - version - instructions - accounts - address_table_lookups title: CreateSolanaRawTransactionRequest GetTransactionResponse: oneOf: - $ref: '#/components/schemas/AptosMessage' - $ref: '#/components/schemas/AptosTransaction' - $ref: '#/components/schemas/ArchTransaction' - $ref: '#/components/schemas/BlackBoxSignature' - $ref: '#/components/schemas/CantonTransaction' - $ref: '#/components/schemas/CosmosTransaction' - $ref: '#/components/schemas/CosmosMessage' - $ref: '#/components/schemas/EvmMessage' - $ref: '#/components/schemas/EvmTransaction' - $ref: '#/components/schemas/ExchangeTransaction' - $ref: '#/components/schemas/SolanaMessage' - $ref: '#/components/schemas/SolanaTransaction' - $ref: '#/components/schemas/StacksTransaction' - $ref: '#/components/schemas/StarknetMessage' - $ref: '#/components/schemas/StarknetTransaction' - $ref: '#/components/schemas/StellarMessage' - $ref: '#/components/schemas/StellarTransaction' - $ref: '#/components/schemas/SuiMessage' - $ref: '#/components/schemas/SuiTransaction' - $ref: '#/components/schemas/TonMessage' - $ref: '#/components/schemas/TonTransaction' - $ref: '#/components/schemas/TronMessage' - $ref: '#/components/schemas/TronTransaction' - $ref: '#/components/schemas/UtxoMessage' - $ref: '#/components/schemas/UtxoTransaction' discriminator: propertyName: type mapping: aptos_message: '#/components/schemas/AptosMessage' aptos_transaction: '#/components/schemas/AptosTransaction' arch_transaction: '#/components/schemas/ArchTransaction' black_box_signature: '#/components/schemas/BlackBoxSignature' canton_transaction: '#/components/schemas/CantonTransaction' cosmos_message: '#/components/schemas/CosmosMessage' cosmos_transaction: '#/components/schemas/CosmosTransaction' evm_message: '#/components/schemas/EvmMessage' evm_transaction: '#/components/schemas/EvmTransaction' exchange_transaction: '#/components/schemas/ExchangeTransaction' solana_message: '#/components/schemas/SolanaMessage' solana_transaction: '#/components/schemas/SolanaTransaction' stacks_transaction: '#/components/schemas/StacksTransaction' starknet_message: '#/components/schemas/StarknetMessage' starknet_transaction: '#/components/schemas/StarknetTransaction' stellar_message: '#/components/schemas/StellarMessage' stellar_transaction: '#/components/schemas/StellarTransaction' sui_message: '#/components/schemas/SuiMessage' sui_transaction: '#/components/schemas/SuiTransaction' ton_message: '#/components/schemas/TonMessage' ton_transaction: '#/components/schemas/TonTransaction' tron_message: '#/components/schemas/TronMessage' tron_transaction: '#/components/schemas/TronTransaction' utxo_message: '#/components/schemas/UtxoMessage' utxo_transaction: '#/components/schemas/UtxoTransaction' StellarTransactionResult: properties: reversion: $ref: '#/components/schemas/StellarReversion' description: Details whether the transaction was reverted or not. fee: $ref: '#/components/schemas/StellarFee' description: The fee of the transaction. effects: $ref: '#/components/schemas/StellarEffects' description: The effects of the transaction. type: object required: - reversion - fee - effects title: StellarTransactionResult DirectMessage: properties: type: type: string title: Type description: Message type. value: type: string title: Value description: Message bytes, encoded in base64 format. example: SGVsbG8= type: object required: - type - value title: DirectMessage TransactionPredictTronTransactionRequest: 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: tron_transaction title: Type description: TRON transaction type. details: oneOf: - $ref: '#/components/schemas/CreateTronTransferRequest' - $ref: '#/components/schemas/CreateTronSerializedRawTransactionRequest' discriminator: propertyName: type mapping: tron_serialized_raw_transaction: '#/components/schemas/CreateTronSerializedRawTransactionRequest' tron_transfer: '#/components/schemas/CreateTronTransferRequest' type: object required: - vault_id - type - details title: TransactionPredictTronTransactionRequest HyperliquidUsdSendAction: properties: action_type: type: string const: usd_send title: Action Type description: The Hyperliquid action type. destination: type: string title: Destination description: Recipient hex address. amount: type: string pattern: ^\d+(\.\d+)?$ title: Amount description: Transfer amount as a decimal string. example: '1000000000000000000' time: type: integer title: Time description: Unix timestamp in milliseconds used as a nonce by Hyperliquid. type: object required: - action_type - destination - amount - time title: HyperliquidUsdSendAction description: Transfer USD between Hyperliquid accounts. ArchTransactionResult: properties: reversion: $ref: '#/components/schemas/ArchReversion' 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 fee: $ref: '#/components/schemas/ArchFee' description: The fee of the transaction. effects: $ref: '#/components/schemas/ArchEffects' description: The effects of the transaction. type: object required: - reversion - fee - effects title: ArchTransactionResult CreateExchangeTransactionRequest: 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: type: string enum: - initiator - api_signer title: Signer Type description: 'The signer of the transaction. Can be:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
' default: initiator dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: exchange_transaction title: Type description: EXCHANGE transaction type. details: oneOf: - $ref: '#/components/schemas/CreateExchangeExternalWithdrawRequest' - $ref: '#/components/schemas/CreateExchangeInternalTransferRequest' discriminator: propertyName: type mapping: external_withdraw: '#/components/schemas/CreateExchangeExternalWithdrawRequest' internal_transfer: '#/components/schemas/CreateExchangeInternalTransferRequest' type: object required: - vault_id - type - details title: CreateExchangeTransactionRequest CustomGasRequest: properties: gas_limit: title: Gas Limit description: Specifies the maximum number of gas units to be used for mining the transaction. If omitted, Fordefi will automatically estimate the required gas and apply that value. type: string pattern: ^0*[1-9]\d*$ example: '1000000000000000000' type: type: string const: custom title: Type details: oneOf: - $ref: '#/components/schemas/LegacyGasRequest' - $ref: '#/components/schemas/DynamicGasRequest' description: 'Using the Custom Gas Request option, you specify `gas_limit`, as well as the following gas details:
  • If you choose `legacy` (meaning a chain where gas price can be specified exactly), you must specify only the `price` of a gas unit.
  • If you choose `dynamic` (meaning a chain where gas price can be determined dynamically), you must specify two additional values:
    • `max_priority_fee_per_gas`, the maximum tip amount for mining your transaction
    • `max_fee_per_gas`, the maximum amount you are willing to pay for the fee (ultimately, either you''ll pay this amount, or less, depending on the network base fee).

Note that the Legacy gas price setting is allowed on dynamic (EIP-1559) networks as well.
You can get information on gas fees for different chains by examining the response to a call to [List Chains](https://documentation.fordefi.com/redoc/#operation/list_chains_api_v1_blockchains_get). More information is provided in [EVM chains and their fee mechanisms](https://docs.fordefi.com/user-guide/manage-transactions/understand-transaction-fees/evm-chains#evm-chains-and-their-fee-mechanisms). ' discriminator: propertyName: type mapping: dynamic: '#/components/schemas/DynamicGasRequest' legacy: '#/components/schemas/LegacyGasRequest' type: object required: - type - details title: CustomGasRequest EvmBridgeEffectSourceErc20: properties: priced_asset: $ref: '#/components/schemas/PricedAsset' description: The asset information. type: type: string const: erc20 title: Type description: The type of bridge effect. source_address: $ref: '#/components/schemas/EnrichedEvmAddress' description: The source address of the bridge transaction. type: object required: - priced_asset - type - source_address title: EvmBridgeEffectSourceErc20 AptosTransferEffect: 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/EnrichedAptosAddress' description: The sender of the transfer. to: $ref: '#/components/schemas/EnrichedAptosAddress' description: The receiver of the transfer. type: object required: - priced_asset - amount - from - to title: AptosTransferEffect 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 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 StacksPostConditionComparator: type: string enum: - eq - gt - ge - lt - le title: StacksPostConditionComparator RippleTrustLineAssetIdentifierRequest: properties: type: type: string const: trust_line_asset title: Type description: Ripple asset identifier type. currency: type: string maxLength: 40 minLength: 3 pattern: ^([A-Za-z0-9]{3}|[A-Fa-f0-9]{40})$ title: Currency description: The 3-char or 40-char hex currency code. issuer: $ref: '#/components/schemas/RippleAddressRequest' description: The issuer address. type: object required: - type - currency - issuer title: RippleTrustLineAssetIdentifierRequest CosmosMessageBase64Data: properties: type: type: string const: base64 title: Type description: The type of the Cosmos message data. data: type: string title: Data description: The data encoded in base64. example: SGVsbG8= type: object required: - type - data title: CosmosMessageBase64Data CreateCantonTransferRequest: properties: type: type: string const: canton_transfer title: Type description: A Canton transfer transaction for transferring native currency or tokens. 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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party.
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' default: auto to: oneOf: - $ref: '#/components/schemas/CantonRecipientAddress' - $ref: '#/components/schemas/RecipientVaultId' - $ref: '#/components/schemas/RecipientContactId' description: The recipient of the transfer. Specify either a general address, the ID of another vault, or a contact ID. discriminator: propertyName: type mapping: address: '#/components/schemas/CantonRecipientAddress' contact_id: '#/components/schemas/RecipientContactId' vault_id: '#/components/schemas/RecipientVaultId' value: oneOf: - $ref: '#/components/schemas/CreateRequestExplicitAmount' - $ref: '#/components/schemas/CreateRequestMaxAmount' description: The number of units of currency to transfer. discriminator: propertyName: type mapping: max: '#/components/schemas/CreateRequestMaxAmount' value: '#/components/schemas/CreateRequestExplicitAmount' asset_identifier: $ref: '#/components/schemas/CantonAssetIdentifierRequest' description: The Canton asset identifier to transfer. memo: title: Memo description: Optional memo to include with the transaction. type: string type: object required: - type - to - value - asset_identifier title: CreateCantonTransferRequest TonEffects: properties: balance_changes: items: $ref: '#/components/schemas/TonBalanceChangeEffect' type: array title: Balance Changes transfers: items: $ref: '#/components/schemas/TonTransferEffect' type: array title: Transfers type: object required: - balance_changes - transfers title: TonEffects CreateEvmUnwrapNativeRequest: properties: fee_payer: description: The vault that pays the fee for this transaction. $ref: '#/components/schemas/TransactionFeePayerVault' type: type: string const: evm_unwrap_native title: Type description: An EVM unwrap native transaction is for unwrapping to the native token. 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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party.
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' default: auto use_mev_protected_node: type: boolean title: Use Mev Protected Node description: Use an MEV protected node to send the transaction. By using an MEV protected node, you avoid maximal extractable value (MEV) attacks. default: false use_secure_node: type: boolean title: Use Secure Node description: Use a secure node to send the transaction. By using a secure node, you avoid maximal extractable value (MEV) attacks. default: false deprecated: true gas: description: The gas details of the transaction. The details depend on which option you choose:
  • Gas Priority or
  • Custom Gas Request
oneOf: - $ref: '#/components/schemas/GasPriorityRequest' - $ref: '#/components/schemas/CustomGasRequest' discriminator: propertyName: type mapping: custom: '#/components/schemas/CustomGasRequest' priority: '#/components/schemas/GasPriorityRequest' funder: title: Funder description: The unique identifier of the vault that pays the fee for this transaction. deprecated: true type: string format: uuid custom_nonce: anyOf: - type: integer - type: string pattern: ^\d+$ example: '1000000000000000000' title: Custom Nonce description: The user-specified nonce for the transaction.
If not provided, the transaction's nonce will be automatically determined upon signing.
If provided, it must equal the nonce of an existing transaction that has already been signed but not yet mined, on the same vault.
Alternatively, it may equal the next nonce of the vault. chain: $ref: '#/components/schemas/EvmChainRequest' description: The chain that this transaction is on. amount: oneOf: - $ref: '#/components/schemas/CreateRequestExplicitAmount' - $ref: '#/components/schemas/CreateRequestMaxAmount' description: 'The amount of wrapped token to unwrap. Specify one of the following:
  • `value`
  • `max`
' discriminator: propertyName: type mapping: max: '#/components/schemas/CreateRequestMaxAmount' value: '#/components/schemas/CreateRequestExplicitAmount' type: object required: - type - chain - amount title: CreateEvmUnwrapNativeRequest 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 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 EnrichedAddress: oneOf: - $ref: '#/components/schemas/EnrichedAptosAddress' - $ref: '#/components/schemas/EnrichedArchAddress' - $ref: '#/components/schemas/EnrichedCantonAddress' - $ref: '#/components/schemas/EnrichedCosmosBechAddress' - $ref: '#/components/schemas/EnrichedEvmAddress' - $ref: '#/components/schemas/EnrichedExchangeAddress' - $ref: '#/components/schemas/EnrichedSolanaAddress' - $ref: '#/components/schemas/EnrichedStacksAddress' - $ref: '#/components/schemas/EnrichedStarknetAddress' - $ref: '#/components/schemas/EnrichedStellarAddress' - $ref: '#/components/schemas/EnrichedSuiAddress' - $ref: '#/components/schemas/EnrichedTonAddress' - $ref: '#/components/schemas/EnrichedTronAddress' - $ref: '#/components/schemas/EnrichedUtxoAddress' discriminator: propertyName: type mapping: aptos: '#/components/schemas/EnrichedAptosAddress' arch: '#/components/schemas/EnrichedArchAddress' canton: '#/components/schemas/EnrichedCantonAddress' cosmos: '#/components/schemas/EnrichedCosmosBechAddress' evm: '#/components/schemas/EnrichedEvmAddress' exchange: '#/components/schemas/EnrichedExchangeAddress' solana: '#/components/schemas/EnrichedSolanaAddress' stacks: '#/components/schemas/EnrichedStacksAddress' starknet: '#/components/schemas/EnrichedStarknetAddress' stellar: '#/components/schemas/EnrichedStellarAddress' sui: '#/components/schemas/EnrichedSuiAddress' ton: '#/components/schemas/EnrichedTonAddress' tron: '#/components/schemas/EnrichedTronAddress' utxo: '#/components/schemas/EnrichedUtxoAddress' RippleChainUniqueId: type: string enum: - ripple_mainnet title: RippleChainUniqueId 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 StarknetRecipientHex: properties: type: type: string const: hex title: Type description: The type of the recipient. address: type: string maxLength: 66 minLength: 66 pattern: ^0[xX][a-fA-F0-9]+$ title: Address description: The address of the recipient. example: '0x0448f450e64B50dDF49e9F95C5b63a15cD21E21a39cA2D45628d9E5B27e5e1D8' type: object required: - type - address title: StarknetRecipientHex CantonTransactionResult: properties: reversion: $ref: '#/components/schemas/CantonReversion' description: Details whether the transaction was reverted or not. effects: $ref: '#/components/schemas/CantonEffects' description: The effects of the transaction. type: object required: - reversion - effects title: CantonTransactionResult CantonEffects: properties: balance_changes: items: $ref: '#/components/schemas/CantonBalanceChangeEffect' type: array title: Balance Changes transfers: items: $ref: '#/components/schemas/CantonTransferEffect' type: array title: Transfers type: object required: - balance_changes - transfers title: CantonEffects 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. AptosEntryPointDetails: properties: type: type: string const: entry_point title: Type description: A transaction with an entry point function. recipient: $ref: '#/components/schemas/EnrichedAptosAddress' description: The recipient of the coins. type: object required: - type - recipient title: AptosEntryPointDetails SuiPureByteArrayInput: properties: type: type: string const: byte_array_pure_input title: Type description: The type of the pure input. value: type: string title: Value description: The byte array value of the pure input argument, represented as a base64 string. example: SGVsbG8= type: object required: - type - value title: SuiPureByteArrayInput SuiAssetIdentifierRequest: 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' type: object required: - type - details title: SuiAssetIdentifierRequest ExposureType: type: string enum: - direct - indirect title: ExposureType 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] MevProtectedState: type: string enum: - not_mev_protected - mev_protected title: MevProtectedState ArchEffects: properties: balance_changes: items: $ref: '#/components/schemas/ArchBalanceChangeEffect' type: array title: Balance Changes description: The aggregated balance changes of addresses. transfers: items: $ref: '#/components/schemas/ArchTransferEffect' type: array title: Transfers description: The transfer events of the transaction. type: object required: - balance_changes - transfers title: ArchEffects 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 ExchangeTransactionState: type: string enum: - waiting_for_approval - approved - signed - completed - aborted - error_signing - error_submitting_to_exchange - pending_exchange - error_processing_by_exchange title: ExchangeTransactionState EvmRecipientHex: properties: type: type: string const: hex title: Type description: The type of the recipient. address: type: string maxLength: 42 minLength: 42 pattern: ^0[xX][a-fA-F0-9]+$ title: Address description: The address of the recipient. example: '0x71C7656EC7ab88b098defB751B7401B5f6d8976F' type: object required: - type - address title: EvmRecipientHex CreateStellarChangeTrustRequest: properties: type: type: string const: stellar_change_trust title: Type description: A Stellar ChangeTrust operation to create a trustline for a classic asset with maximum limit. 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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party.
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' default: auto claim_status: description: The claim status of the transaction. $ref: '#/components/schemas/ClaimStatus' asset_identifier: $ref: '#/components/schemas/StellarAssetIdentifierRequest' description: The Stellar classic asset identifier to create a trustline for. type: object required: - type - asset_identifier title: CreateStellarChangeTrustRequest CreateEvmTransferRequest: properties: fee_payer: description: The vault that pays the fee for this transaction. $ref: '#/components/schemas/TransactionFeePayerVault' type: type: string const: evm_transfer title: Type description: An EVM transfer transaction is for transferring native currency or ERC20/721/1155 tokens. 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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party.
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' default: auto use_mev_protected_node: type: boolean title: Use Mev Protected Node description: Use an MEV protected node to send the transaction. By using an MEV protected node, you avoid maximal extractable value (MEV) attacks. default: false use_secure_node: type: boolean title: Use Secure Node description: Use a secure node to send the transaction. By using a secure node, you avoid maximal extractable value (MEV) attacks. default: false deprecated: true gas: description: The gas details of the transaction. The details depend on which option you choose:
  • Gas Priority or
  • Custom Gas Request
oneOf: - $ref: '#/components/schemas/GasPriorityRequest' - $ref: '#/components/schemas/CustomGasRequest' discriminator: propertyName: type mapping: custom: '#/components/schemas/CustomGasRequest' priority: '#/components/schemas/GasPriorityRequest' funder: title: Funder description: The unique identifier of the vault that pays the fee for this transaction. deprecated: true type: string format: uuid custom_nonce: anyOf: - type: integer - type: string pattern: ^\d+$ example: '1000000000000000000' title: Custom Nonce description: The user-specified nonce for the transaction.
If not provided, the transaction's nonce will be automatically determined upon signing.
If provided, it must equal the nonce of an existing transaction that has already been signed but not yet mined, on the same vault.
Alternatively, it may equal the next nonce of the vault. to: oneOf: - $ref: '#/components/schemas/EvmRecipientHex' - $ref: '#/components/schemas/RecipientVaultId' - $ref: '#/components/schemas/RecipientContactId' description: The recipient of the transfer. Specify either a general address, the ID of another vault, or a contact ID. discriminator: propertyName: type mapping: contact_id: '#/components/schemas/RecipientContactId' hex: '#/components/schemas/EvmRecipientHex' vault_id: '#/components/schemas/RecipientVaultId' asset_identifier: $ref: '#/components/schemas/EvmAssetIdentifierRequest' description: The asset to be transferred. value: oneOf: - $ref: '#/components/schemas/CreateRequestExplicitAmount' - $ref: '#/components/schemas/CreateRequestMaxAmount' description: 'Specify one of the following:
  • `value`
  • `max`
' discriminator: propertyName: type mapping: max: '#/components/schemas/CreateRequestMaxAmount' value: '#/components/schemas/CreateRequestExplicitAmount' type: object required: - type - to - asset_identifier - value title: CreateEvmTransferRequest StarknetMessage: 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. state: $ref: '#/components/schemas/NonPushableTransactionState' description: The state of the message. state_changes: items: $ref: '#/components/schemas/NonPushableTransactionStateChange' type: array title: State Changes description: The state changes of the message. type: type: string const: starknet_message title: Type description: Starknet message type. starknet_message_type: $ref: '#/components/schemas/StarknetMessageType' description: The type of the Starknet message. raw_data: type: string title: Raw Data description: The raw data of the message. chain: $ref: '#/components/schemas/EnrichedStarknetChain' description: The details of the chain that this message is on. sender: $ref: '#/components/schemas/EnrichedStarknetAddress' description: The sender of the message. message_hash: type: string maxLength: 66 minLength: 66 pattern: ^0[xX][a-fA-F0-9]+$ title: Message Hash description: The hash of the message that was requested to be signed, in hex. example: '0x0684532b069fb0ce7e22041538a1c5e4850aafae042c772393cd7d795b767c74' starknet_signatures: items: type: string type: array title: Starknet Signatures description: The signatures of the message in Starknet format. type: object required: - id - created_at - modified_at - signatures - direction - interacted_vaults - organization_id - state - state_changes - type - starknet_message_type - raw_data - chain - sender - message_hash - starknet_signatures title: StarknetMessage PreconditionFailedError: properties: title: type: string title: Title description: Human-readable error message. detail: type: string title: Detail description: Detailed error message. full_detail: title: Full Detail description: Full error message with additional details, if available. type: string request_id: title: Request Id description: Request ID - for debugging purposes. type: string system_error_code: title: System Error Code description: An additional system error code in Fordefi. type: string type: object required: - title - detail title: PreconditionFailedError AminoMessage: properties: type: type: string title: Type description: Message type. value: type: string title: Value description: Message value. type: object required: - type - value title: AminoMessage EvmTransactionResult: properties: reversion: $ref: '#/components/schemas/EvmReversion' description: Details whether the transaction was reverted or not. gas_debit: $ref: '#/components/schemas/GasDebit' description: The gas debit of the transaction. effects: $ref: '#/components/schemas/EvmEffects' description: 'The effects (outcomes) of the transaction. A single transaction can have multiple effects, for example, a transferral of native funds: moving X ETH from Y to Z (here the effect will have a sender, receiver and amount). A more complex example is a transfer of a token, moving X USDC from X to Z (here, the effects are sender, receiver, amount, and token). ' type: object required: - reversion - gas_debit - effects title: EvmTransactionResult 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 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 SuiPureNumberInput: properties: type: type: string const: number_pure_input title: Type description: The type of the pure input. value: type: string pattern: ^\d+$ title: Value description: The number value of the pure input argument. example: '1000000000000000000' type: object required: - type - value title: SuiPureNumberInput StacksTokenTransferDetails: properties: type: type: string const: token_transfer title: Type description: A transaction involving the transfer of an sip10 asset from one address to another. sender: $ref: '#/components/schemas/EnrichedStacksAddress' description: The sender of the assets. recipient: $ref: '#/components/schemas/EnrichedStacksAddress' description: The recipient of the assets. 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: StacksTokenTransferDetails EvmAssetIdentifierRequest: 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' type: object required: - type - details title: EvmAssetIdentifierRequest TransactionDetailsSuiProgrammableTransactionBlockRequest: properties: type: type: string const: sui_programmable_transaction_block title: Type description: A Sui programmable transaction block transaction. A transaction of this kind 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/SuiChainUniqueId' gas_config: description: The gas configuration for the transaction. $ref: '#/components/schemas/SuiGasConfig' inputs: items: $ref: '#/components/schemas/SuiInput' type: array title: Inputs description: The inputs of the transaction. commands: items: $ref: '#/components/schemas/SuiCommand' type: array title: Commands description: The commands of the transactions. type: object required: - type - chain - inputs - commands title: TransactionDetailsSuiProgrammableTransactionBlockRequest ExchangeEffects: properties: balance_changes: items: $ref: '#/components/schemas/ExchangeBalanceChangeEffect' type: array title: Balance Changes transfers: items: $ref: '#/components/schemas/ExchangeTransferEffect' type: array title: Transfers type: object required: - balance_changes - transfers title: ExchangeEffects StdSignDoc: properties: chain: $ref: '#/components/schemas/EnrichedCosmosChain' description: The chain the transaction is signed on. account_number: type: string pattern: ^-?\d+$ title: Account Number description: The account number of the signer of the transaction. example: '1000000000000000000' sequence: type: string pattern: ^-?\d+$ title: Sequence description: The sequence of the signer of the transaction. example: '1000000000000000000' timeout_height: title: Timeout Height description: The timeout height for the signed transaction. type: string pattern: ^-?\d+$ example: '1000000000000000000' fee: $ref: '#/components/schemas/StdFee' description: The fee of the signed transaction. messages: $ref: '#/components/schemas/AminoMessagesList' description: The messages of the signed transaction. memo: type: string title: Memo description: The memo of the signed transaction. type: object required: - chain - account_number - sequence - fee - messages - memo title: StdSignDoc 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 SuiTransferObjectsCommand: properties: type: type: string const: transfer_objects title: Type description: The type of the command. objects: items: $ref: '#/components/schemas/SuiCommandArgument' type: array title: Objects description: The objects to transfer. address: $ref: '#/components/schemas/SuiCommandArgument' description: The destination address of the transfer. type: object required: - type - objects - address title: SuiTransferObjectsCommand description: Transfer objects from one account to another. StacksReversion: properties: state: $ref: '#/components/schemas/StacksReversionState' description: 'The state of the reversion. Is one of the following:
  • `not_reverted`: No reversion, meaning, completed successfully.
  • `unknown_revert`: Fordefi does not know the reason for the reversion.
  • `contract_asserted`: The smart contract originally made an assertion that was later rejected and the transaction was halted.
  • `insufficient_funds_gas_and_value`: A transaction was sent for which there were insufficient funds.
' reason: title: Reason description: The reason for the reversion (additional information). type: string type: object required: - state title: StacksReversion CreateExchangeExternalWithdrawRequestExplicitAmount: properties: type: type: string const: value title: Type value: type: string pattern: ^\d+$ title: Value description: The amount of the transfer. example: '1000000000000000000' is_net_amount: type: boolean title: Is Net Amount description: '`True` to add fee on top of transfer amount.`False` to include fee in the transfer amount.' default: false type: object required: - type - value title: CreateExchangeExternalWithdrawRequestExplicitAmount CosmosKeyType: type: string enum: - secp256k1 - ethsecp256k1 title: CosmosKeyType UtxoAddressType: type: string enum: - legacy - p2sh - segwit - taproot - merkleroot title: UtxoAddressType CreateAptosTransferRequest: properties: fee_payer: description: The vault that pays the fee for this transaction. $ref: '#/components/schemas/TransactionFeePayerVault' type: type: string const: aptos_transfer title: Type description: An Aptos transfer transaction. A transaction of this kind is for transferring native currency or a coin. 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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party.
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' default: auto gas_config: description: The gas configuration for the transaction. $ref: '#/components/schemas/AptosGasConfigRequest' with_external_fee_payer: type: boolean title: With External Fee Payer description: If true, the transaction's Authenticator will be configured to support an external fee payer. After Fordefi signs the transaction, the client is responsible for forwarding it to the designated fee payer for final signing and broadcasting. default: false to: oneOf: - $ref: '#/components/schemas/AptosRecipientHex' - $ref: '#/components/schemas/RecipientVaultId' - $ref: '#/components/schemas/RecipientContactId' discriminator: propertyName: type mapping: contact_id: '#/components/schemas/RecipientContactId' hex: '#/components/schemas/AptosRecipientHex' vault_id: '#/components/schemas/RecipientVaultId' value: oneOf: - $ref: '#/components/schemas/CreateRequestExplicitAmount' - $ref: '#/components/schemas/CreateRequestMaxAmount' description: The number of units of currency to transfer. discriminator: propertyName: type mapping: max: '#/components/schemas/CreateRequestMaxAmount' value: '#/components/schemas/CreateRequestExplicitAmount' asset_identifier: $ref: '#/components/schemas/AptosAssetIdentifierRequest' description: The Aptos asset identifier to transfer. type: object required: - type - to - value - asset_identifier title: CreateAptosTransferRequest 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. AptosGasConfigRequest: properties: max_gas: title: Max Gas description: The maximum gas amount payed in the transaction (in Octa). type: string pattern: ^0*[1-9]\d*$ example: '1000000000000000000' price: oneOf: - $ref: '#/components/schemas/AptosCustomGasPriceRequest' - $ref: '#/components/schemas/AptosPriorityGasPriceRequest' description: The price details per gas unit. discriminator: propertyName: type mapping: custom: '#/components/schemas/AptosCustomGasPriceRequest' priority: '#/components/schemas/AptosPriorityGasPriceRequest' type: object required: - price title: AptosGasConfigRequest TransactionPredictExchangeTransactionRequest: 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: exchange_transaction title: Type description: Exchange transaction type. details: oneOf: - $ref: '#/components/schemas/CreateExchangeExternalWithdrawRequest' - $ref: '#/components/schemas/CreateExchangeInternalTransferRequest' discriminator: propertyName: type mapping: external_withdraw: '#/components/schemas/CreateExchangeExternalWithdrawRequest' internal_transfer: '#/components/schemas/CreateExchangeInternalTransferRequest' type: object required: - vault_id - type - details title: TransactionPredictExchangeTransactionRequest FiatCurrencySymbol: type: string enum: - usd title: FiatCurrencySymbol description: FiatCurrencySymbol ArchRawTransactionDetails: properties: type: type: string const: raw_transaction title: Type description: A transaction capable of any operation. recipients: items: $ref: '#/components/schemas/EnrichedArchAddress' type: array title: Recipients description: The recipients of the tokens. type: object required: - type - recipients title: ArchRawTransactionDetails CosmosMessageStrData: properties: type: type: string const: string title: Type description: The type of the Cosmos message data. data: type: string title: Data description: The data as plain string. type: object required: - type - data title: CosmosMessageStrData EvmTransaction: 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 current status of the transaction. Can be one of the following:
  • `waiting_for_approval`: If a transaction has not been auto-approved, it waits in this state until it has received all the required approvals.
  • `approved`: The transaction moves into this state on approval. Then, a notification is sent to the mobile device of the creator of the transaction for signing or to the API Signer (depending on the flow that was defined). The transaction remains in this state until it is signed.
  • `pushed_to_blockchain`: Once signed, the transaction is pushed to the blockchain, awaiting mining. From that moment, control of the transaction passes from Fordefi to the blockchain. This status resolves into one of the following: `completed`, `reverted`, `stuck`.
  • `completed`: The transaction was successfully mined into the blockchain.
  • `reverted`: The transaction was mined into the blockchain and was then reverted.
  • `stuck`: The transaction did not reach `completed` or `reverted` after 24 hours.
  • `error_pushing_to_blockchain`: Failed to push the transaction to the blockchain.
  • `aborted`: Either the transaction was not approved or the transaction was approved but the creator aborted the process.
For more information about statuses in the transaction lifecycle, see: [Transaction Lifecycle](https://docs.fordefi.com/docs/transaction-lifecycle). ' 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: evm_transaction title: Type description: EVM transaction type. evm_transaction_type_details: oneOf: - $ref: '#/components/schemas/EvmNativeTransferDetails' - $ref: '#/components/schemas/TokenTransferDetails' - $ref: '#/components/schemas/AllowanceDetails' - $ref: '#/components/schemas/ContractCallDetails' - $ref: '#/components/schemas/ContractDeploymentDetails' - $ref: '#/components/schemas/BridgeDetails' - $ref: '#/components/schemas/SetCodeDetails' description: Details of the EVM transaction based on its type. discriminator: propertyName: type mapping: allowance: '#/components/schemas/AllowanceDetails' contract_call: '#/components/schemas/ContractCallDetails' contract_deployment: '#/components/schemas/ContractDeploymentDetails' cross_chain_bridge: '#/components/schemas/BridgeDetails' native_transfer: '#/components/schemas/EvmNativeTransferDetails' set_code: '#/components/schemas/SetCodeDetails' token_transfer: '#/components/schemas/TokenTransferDetails' chain: $ref: '#/components/schemas/EnrichedEvmChain' description: The details of the chain this transaction is on. from: $ref: '#/components/schemas/EnrichedEvmAddress' description: The sender of the transaction. to: $ref: '#/components/schemas/EnrichedEvmAddress' description: The address of the recipient of the transaction. value: type: string pattern: ^\d+$ title: Value description: The value of native currency sent with this transaction. example: '1000000000000000000' data: type: string title: Data description: The data of the contract call, as a serialized method-call with its arguments, in Base64 format. See [data field format for transactions on Ethereum](https://ethereum.org/en/developers/docs/transactions/#the-data-field). example: SGVsbG8= hex_data: title: Hex Data description: The hex data of the contract call, as a serialized method-call with its arguments. type: string pattern: ^0[xX][a-fA-F0-9]+$ parsed_data: $ref: '#/components/schemas/EvmTransactionParsedData' description: The parsed data of the transaction. hash: title: Hash description: The hash of the transaction. type: string maxLength: 66 minLength: 66 pattern: ^0[xX][a-fA-F0-9]+$ example: '0x780f21260f89d610f24eed21b34d29229611a37e0003e83dd0da91981d7131ae' nonce: title: Nonce description: The nonce of the transaction. type: integer expected_result: description: The expected (simulated) result of the transaction. $ref: '#/components/schemas/EvmTransactionResult' mined_result: description: The result of the transaction after it was mined. $ref: '#/components/schemas/EvmTransactionResult' gas_submitted: oneOf: - $ref: '#/components/schemas/LegacyGas' - $ref: '#/components/schemas/DynamicGas' description: The gas details submitted for the transaction. discriminator: propertyName: type mapping: dynamic: '#/components/schemas/DynamicGas' legacy: '#/components/schemas/LegacyGas' funding_for_transaction_id: title: Funding For Transaction Id description: Funding transaction ID. type: string format: uuid funded_by_transaction_id: title: Funded By Transaction Id description: Funded transaction ID. type: string format: uuid funded_by_vault: description: Funding vault. deprecated: true $ref: '#/components/schemas/VaultRef' current_preceding_pushed_to_blockchain_transaction_id: title: Current Preceding Pushed To Blockchain Transaction Id description: The unique identifier of the transaction that was pushed to the blockchain, In case this transaction is QUEUED. type: string format: uuid use_secure_node: title: Use Secure Node description: '`True` if Fordefi sends this transaction through a secure node, `False` otherwise. By using a secure node, you avoid maximal extractable value (MEV) attacks.' deprecated: true type: boolean use_mev_protected_node: type: boolean title: Use Mev Protected Node description: '`True` if Fordefi sends this transaction through an MEV protected node, `False` otherwise. By using an MEV protected node, you avoid maximal extractable value (MEV) attacks.' explorer_url: title: Explorer Url description: The URL of this transaction in a blockchain explorer. example: https://etherscan.io/tx/0x123 type: string maxLength: 2083 minLength: 1 format: uri raw_transaction: title: Raw Transaction description: The raw transaction data, encoded as a hex string. type: string pattern: ^0[xX][a-fA-F0-9]+$ fee_payer: description: The address that pays the fee for this transaction (from address). $ref: '#/components/schemas/EnrichedEvmAddress' type: object required: - id - created_at - modified_at - signatures - direction - interacted_vaults - organization_id - state - state_changes - is_cancelation - is_acceleration - type - evm_transaction_type_details - chain - from - to - value - data - parsed_data - gas_submitted - use_mev_protected_node title: EvmTransaction CreateSessionDetails: properties: type: type: string const: create_session_message_type title: Type description: The type of the Solana message. version: type: string title: Version description: The version of the create session data. domain: $ref: '#/components/schemas/Dapp' description: The session domain that determines which contracts the session can access. session_key: type: string title: Session Key description: The session public key. expiration: type: string format: date-time title: Expiration description: The session expiration date and time. allow_all_tokens: type: boolean title: Allow All Tokens description: True if the session is granted access to all tokens. all_tokens_matched_exactly: type: boolean title: All Tokens Matched Exactly description: True if every token in the message matches to exactly one asset. type: object required: - type - version - domain - session_key - expiration - allow_all_tokens - all_tokens_matched_exactly title: CreateSessionDetails CreateUtxoTransactionRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: utxo_transaction title: Type description: UTXO transaction type. details: oneOf: - $ref: '#/components/schemas/TransactionDetailsUtxoTransferRequest' - $ref: '#/components/schemas/TransactionDetailsUtxoPsbtRequest' description: Transaction details. discriminator: propertyName: type mapping: utxo_partially_signed_bitcoin_transaction: '#/components/schemas/TransactionDetailsUtxoPsbtRequest' utxo_transfer: '#/components/schemas/TransactionDetailsUtxoTransferRequest' type: object required: - vault_id - type - details title: CreateUtxoTransactionRequest 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 CreateCantonApproveTransferRequest: properties: type: type: string const: canton_approve_transfer title: Type description: A Canton transaction that approves a specific incoming transfer transaction. 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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party.
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' default: auto transaction_id: type: string format: uuid title: Transaction Id description: The transaction id to approve. chain: $ref: '#/components/schemas/CantonChainUniqueId' description: The Canton chain that the transaction lives on. type: object required: - type - transaction_id - chain title: CreateCantonApproveTransferRequest PredictedTronTransaction: 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: tron_transaction title: Type description: TRON transaction type. expected_result: $ref: '#/components/schemas/TronTransactionResult' description: The expected result of the transaction in case it is mined. chain: $ref: '#/components/schemas/EnrichedTronChain' description: The details of the chain that this transaction is on. tron_transaction_type_details: oneOf: - $ref: '#/components/schemas/TronNativeTransferDetails' - $ref: '#/components/schemas/TronTokenTransferDetails' - $ref: '#/components/schemas/TronStakeDetails' - $ref: '#/components/schemas/TronUnstakeDetails' - $ref: '#/components/schemas/TronDelegateDetails' - $ref: '#/components/schemas/TronUndelegateDetails' - $ref: '#/components/schemas/TronContractCallDetails' description: Details of the tron transaction based on its type. discriminator: propertyName: type mapping: contract_call: '#/components/schemas/TronContractCallDetails' delegate: '#/components/schemas/TronDelegateDetails' native_transfer: '#/components/schemas/TronNativeTransferDetails' stake: '#/components/schemas/TronStakeDetails' token_transfer: '#/components/schemas/TronTokenTransferDetails' undelegate: '#/components/schemas/TronUndelegateDetails' unstake: '#/components/schemas/TronUnstakeDetails' memo: title: Memo description: The memo of the transaction. type: string sender: $ref: '#/components/schemas/EnrichedTronAddress' description: The sender of the transaction. type: object required: - matched_policies - risks - type - expected_result - chain - tron_transaction_type_details - sender title: PredictedTronTransaction EvmMessageResult: properties: effects: $ref: '#/components/schemas/EvmEffectsBase' description: Array of predicted transaction effects from simulation, including token balance changes and token allowances. type: object required: - effects title: EvmMessageResult SuiCommandInputArgument: properties: type: type: string const: input title: Type description: The type of the command argument. index: type: integer title: Index description: The index of the input in the input vector. type: object required: - type - index title: SuiCommandInputArgument ClaimClaimableBalanceByTransactionSource: properties: type: type: string const: by_transaction title: Type description: Claim by Fordefi transaction ID. transaction_id: type: string format: uuid title: Transaction Id description: The Fordefi transaction ID of the incoming transaction containing claimable balances. type: object required: - type - transaction_id title: ClaimClaimableBalanceByTransactionSource TonRecipientHex: properties: type: type: string const: hex title: Type description: The type of the recipient. address: type: string title: Address description: The address of the recipient in any format. type: object required: - type - address title: TonRecipientHex CreateTransactionWithWaitRequest: oneOf: - $ref: '#/components/schemas/CreateAptosMessageWithWaitRequest' - $ref: '#/components/schemas/CreateAptosTransactionWithWaitRequest' - $ref: '#/components/schemas/CreateArchTransactionWithWaitRequest' - $ref: '#/components/schemas/CreateBlackBoxSignatureWithWaitRequest' - $ref: '#/components/schemas/CreateCantonTransactionWithWaitRequest' - $ref: '#/components/schemas/CreateCosmosMessageWithWaitRequest' - $ref: '#/components/schemas/CreateCosmosTransactionWithWaitRequest' - $ref: '#/components/schemas/CreateEvmMessageWithWaitRequest' - $ref: '#/components/schemas/CreateEvmTransactionWithWaitRequest' - $ref: '#/components/schemas/CreateSolanaMessageWithWaitRequest' - $ref: '#/components/schemas/CreateSolanaTransactionWithWaitRequest' - $ref: '#/components/schemas/CreateStacksTransactionWithWaitRequest' - $ref: '#/components/schemas/CreateStarknetMessageWithWaitRequest' - $ref: '#/components/schemas/CreateStarknetTransactionWithWaitRequest' - $ref: '#/components/schemas/CreateStellarMessageWithWaitRequest' - $ref: '#/components/schemas/CreateStellarTransactionWithWaitRequest' - $ref: '#/components/schemas/CreateSuiMessageWithWaitRequest' - $ref: '#/components/schemas/CreateSuiTransactionWithWaitRequest' - $ref: '#/components/schemas/CreateTonMessageWithWaitRequest' - $ref: '#/components/schemas/CreateTonTransactionWithWaitRequest' - $ref: '#/components/schemas/CreateTronMessageWithWaitRequest' - $ref: '#/components/schemas/CreateTronTransactionWithWaitRequest' - $ref: '#/components/schemas/CreateUtxoMessageWithWaitRequest' - $ref: '#/components/schemas/CreateUtxoTransactionWithWaitRequest' discriminator: propertyName: type mapping: aptos_message: '#/components/schemas/CreateAptosMessageWithWaitRequest' aptos_transaction: '#/components/schemas/CreateAptosTransactionWithWaitRequest' arch_transaction: '#/components/schemas/CreateArchTransactionWithWaitRequest' black_box_signature: '#/components/schemas/CreateBlackBoxSignatureWithWaitRequest' canton_transaction: '#/components/schemas/CreateCantonTransactionWithWaitRequest' cosmos_message: '#/components/schemas/CreateCosmosMessageWithWaitRequest' cosmos_transaction: '#/components/schemas/CreateCosmosTransactionWithWaitRequest' evm_message: '#/components/schemas/CreateEvmMessageWithWaitRequest' evm_transaction: '#/components/schemas/CreateEvmTransactionWithWaitRequest' solana_message: '#/components/schemas/CreateSolanaMessageWithWaitRequest' solana_transaction: '#/components/schemas/CreateSolanaTransactionWithWaitRequest' stacks_transaction: '#/components/schemas/CreateStacksTransactionWithWaitRequest' starknet_message: '#/components/schemas/CreateStarknetMessageWithWaitRequest' starknet_transaction: '#/components/schemas/CreateStarknetTransactionWithWaitRequest' stellar_message: '#/components/schemas/CreateStellarMessageWithWaitRequest' stellar_transaction: '#/components/schemas/CreateStellarTransactionWithWaitRequest' sui_message: '#/components/schemas/CreateSuiMessageWithWaitRequest' sui_transaction: '#/components/schemas/CreateSuiTransactionWithWaitRequest' ton_message: '#/components/schemas/CreateTonMessageWithWaitRequest' ton_transaction: '#/components/schemas/CreateTonTransactionWithWaitRequest' tron_message: '#/components/schemas/CreateTronMessageWithWaitRequest' tron_transaction: '#/components/schemas/CreateTronTransactionWithWaitRequest' utxo_message: '#/components/schemas/CreateUtxoMessageWithWaitRequest' utxo_transaction: '#/components/schemas/CreateUtxoTransactionWithWaitRequest' ArchCompiledInstruction: 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/EnrichedArchAddress' 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: ArchCompiledInstruction EnrichedStellarAddress: 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: stellar title: Type address: type: string maxLength: 56 minLength: 56 pattern: ^[GCL][A-Z2-7]{55}$ title: Address description: The Stellar address represented in base32 format. example: GBRPYHIL2CI3FNQ4BXLFMNDLFJHO7W3B6FSHLTAVM2A4P45SHO4ZB7I2 type: object required: - type - address title: EnrichedStellarAddress TransactionPredictUtxoMessageRequest: 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_message title: Type description: The type of the transaction. details: $ref: '#/components/schemas/UtxoMessageDetails' type: object required: - vault_id - type - details title: TransactionPredictUtxoMessageRequest 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 TronTypedMessageV2Request: properties: type: type: string const: typed_message_type_v2 title: Type description: V2 message type. Signs an opaque plaintext message (TronWeb signMessageV2). Despite the 'typed_message' name, these are personal message signatures, NOT TIP-712 structured typed data. chain: $ref: '#/components/schemas/TronChainUniqueId' description: The chain that this message is on. Specify the chain name. raw_data: oneOf: - $ref: '#/components/schemas/TronTypedMessageV2TextRawData' - $ref: '#/components/schemas/TronTypedMessageV2Base64RawData' description: The message to be signed. discriminator: propertyName: format mapping: base64: '#/components/schemas/TronTypedMessageV2Base64RawData' text: '#/components/schemas/TronTypedMessageV2TextRawData' type: object required: - type - chain - raw_data title: TronTypedMessageV2Request CreateStellarMessageWithWaitRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: stellar_message title: Type description: Stellar message type. details: $ref: '#/components/schemas/StellarMessageRequest' timeout: type: integer maximum: 50.0 minimum: 1.0 title: Timeout description: The maximum time in seconds to wait for the transaction to reach the specified state. For states that require more than 50 seconds, using webhooks or polling is preferable. default: 10 wait_for_state: $ref: '#/components/schemas/NonPushableTransactionState' description: The state to wait for. type: object required: - vault_id - type - details - wait_for_state title: CreateStellarMessageWithWaitRequest CreateTronTransferRequest: properties: type: type: string const: tron_transfer title: Type description: A TRON transfer transaction for transferring native currency or tokens. 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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party.
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' default: auto to: oneOf: - $ref: '#/components/schemas/TronRecipientHex' - $ref: '#/components/schemas/RecipientVaultId' - $ref: '#/components/schemas/RecipientContactId' discriminator: propertyName: type mapping: contact_id: '#/components/schemas/RecipientContactId' hex: '#/components/schemas/TronRecipientHex' vault_id: '#/components/schemas/RecipientVaultId' value: oneOf: - $ref: '#/components/schemas/CreateRequestExplicitAmount' - $ref: '#/components/schemas/CreateRequestMaxAmount' description: The number of units to transfer. discriminator: propertyName: type mapping: max: '#/components/schemas/CreateRequestMaxAmount' value: '#/components/schemas/CreateRequestExplicitAmount' asset_identifier: $ref: '#/components/schemas/TronAssetIdentifierRequest' description: The TRON asset identifier to transfer. memo: title: Memo description: Optional memo to include with the transaction type: string type: object required: - type - to - value - asset_identifier title: CreateTronTransferRequest 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 StacksPostConditions: properties: post_condition_mode: $ref: '#/components/schemas/StacksPostConditionMode' description: The post condition mode of the transaction. post_conditions: items: $ref: '#/components/schemas/StacksPostCondition' type: array title: Post Conditions description: The post conditions of the transaction. type: object required: - post_condition_mode - post_conditions title: StacksPostConditions AptosMessageType: type: string enum: - personal_message_type title: AptosMessageType TransactionPredictCosmosTransactionRequest: 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: cosmos_transaction title: Type description: The type of the transaction. details: oneOf: - $ref: '#/components/schemas/TypedCosmosRawTransactionRequest' - $ref: '#/components/schemas/TypedCosmosTransferRequest' description: Transaction details. discriminator: propertyName: type mapping: cosmos_raw_transaction: '#/components/schemas/TypedCosmosRawTransactionRequest' cosmos_transfer: '#/components/schemas/TypedCosmosTransferRequest' type: object required: - vault_id - type - details title: TransactionPredictCosmosTransactionRequest CreateTronTransactionWithWaitRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: tron_transaction title: Type description: TRON transaction type. details: oneOf: - $ref: '#/components/schemas/CreateTronTransferRequest' - $ref: '#/components/schemas/CreateTronSerializedRawTransactionRequest' discriminator: propertyName: type mapping: tron_serialized_raw_transaction: '#/components/schemas/CreateTronSerializedRawTransactionRequest' tron_transfer: '#/components/schemas/CreateTronTransferRequest' timeout: type: integer maximum: 50.0 minimum: 1.0 title: Timeout description: The maximum time in seconds to wait for the transaction to reach the specified state. For states that require more than 50 seconds, using webhooks or polling is preferable. default: 10 wait_for_state: $ref: '#/components/schemas/PushableTransactionState' description: The state to wait for. type: object required: - vault_id - type - details - wait_for_state title: CreateTronTransactionWithWaitRequest 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 TransactionPredictCosmosMessageRequest: 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: cosmos_message title: Type description: The type of the transaction. details: $ref: '#/components/schemas/CosmosArbitraryMessageRequest' type: object required: - vault_id - type - details title: TransactionPredictCosmosMessageRequest SuiPureBoolInput: properties: type: type: string const: bool_pure_input title: Type description: The type of the pure input. value: type: boolean title: Value description: The boolean value of the pure input argument. type: object required: - type - value title: SuiPureBoolInput StdCoin: properties: denom: type: string title: Denom description: Denom of this coin. amount: type: string pattern: ^-?\d+$ title: Amount description: Amount of this coin. example: '1000000000000000000' type: object required: - denom - amount title: StdCoin 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 UtxoMessage: 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. state: $ref: '#/components/schemas/NonPushableTransactionState' description: The state of the message. state_changes: items: $ref: '#/components/schemas/NonPushableTransactionStateChange' type: array title: State Changes description: The state changes of the message. type: type: string const: utxo_message title: Type description: utxo message type. utxo_message_type: $ref: '#/components/schemas/UtxoMessageType' description: The type of the message to sign. raw_data: type: string title: Raw Data description: The raw data of the message, encoded in base64 example: SGVsbG8= chain: $ref: '#/components/schemas/EnrichedUtxoChain' description: The details of the chain that this message is on. string_data: type: string title: String Data description: The message as a string. sender: $ref: '#/components/schemas/EnrichedUtxoAddress' description: The sender of the message. type: object required: - id - created_at - modified_at - signatures - direction - interacted_vaults - organization_id - state - state_changes - type - utxo_message_type - raw_data - chain - string_data - sender title: UtxoMessage 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 ArchTransferEffect: 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/EnrichedArchAddress' description: The sender of the transfer. to: $ref: '#/components/schemas/EnrichedArchAddress' description: The receiver of the transfer. type: object required: - priced_asset - amount - from - to title: ArchTransferEffect CreateStarknetTransferRequest: properties: type: type: string const: starknet_transfer title: Type description: A Starknet transfer transaction. A transaction of this kind is for transferring native currency or an erc20 token. 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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party.
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' default: auto to: oneOf: - $ref: '#/components/schemas/StarknetRecipientHex' - $ref: '#/components/schemas/RecipientVaultId' - $ref: '#/components/schemas/RecipientContactId' discriminator: propertyName: type mapping: contact_id: '#/components/schemas/RecipientContactId' hex: '#/components/schemas/StarknetRecipientHex' vault_id: '#/components/schemas/RecipientVaultId' value: oneOf: - $ref: '#/components/schemas/CreateRequestExplicitAmount' - $ref: '#/components/schemas/CreateRequestMaxAmount' description: The number of units of currency to transfer. discriminator: propertyName: type mapping: max: '#/components/schemas/CreateRequestMaxAmount' value: '#/components/schemas/CreateRequestExplicitAmount' asset_identifier: $ref: '#/components/schemas/StarknetAssetIdentifierRequest' description: The Starknet asset identifier to transfer. type: object required: - type - to - value - asset_identifier title: CreateStarknetTransferRequest StellarSorobanTokenTransferDetails: properties: type: type: string const: soroban_token_transfer title: Type description: A transaction involving the transfer of a Soroban token (SEP-41 compatible) from one address to another. sender: $ref: '#/components/schemas/EnrichedStellarAddress' description: The sender of the assets. recipient: description: The recipient of the assets. $ref: '#/components/schemas/EnrichedStellarAddress' 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 title: StellarSorobanTokenTransferDetails CosmosMessageType: type: string enum: - arbitrary_message_type title: CosmosMessageType 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 CosmosToken: properties: name: type: string title: Name description: The name of the coin. symbol: type: string title: Symbol description: The symbol of the coin. display: title: Display description: The display string of the coin. deprecated: true type: string description: title: Description description: The description of the coin. deprecated: true type: string base_denom: type: string title: Base Denom description: The base denom of the coin. denom: type: string title: Denom description: The denom of the coin. decimals: type: integer title: Decimals description: The decimals relative to the base coin. logo_url: title: Logo Url description: The coin logo url. type: string maxLength: 2083 minLength: 1 format: uri explorer_url: title: Explorer Url description: The explorer url of the coin. type: string maxLength: 2083 minLength: 1 format: uri type: type: string const: token title: Type type: object required: - name - symbol - base_denom - denom - decimals - type title: CosmosToken SuiPureInputArgument: properties: type: type: string const: pure title: Type description: The type of the input argument. details: $ref: '#/components/schemas/BaseSuiPureInput' type: object required: - type - details title: SuiPureInputArgument EnrichedStarknetAddress: 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: starknet title: Type address: type: string maxLength: 66 minLength: 66 pattern: ^0[xX][a-fA-F0-9]+$ title: Address description: The Starknet address represented in hex format. example: '0x0448f450e64B50dDF49e9F95C5b63a15cD21E21a39cA2D45628d9E5B27e5e1D8' type: object required: - type - address title: EnrichedStarknetAddress StacksPostConditionMode: type: string enum: - allow - deny title: StacksPostConditionMode 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 EvmNativeTransferDetails: properties: type: type: string const: native_transfer title: Type description: 'A transaction involving the transfer of native currency from one address to another. ' direction: description: The direction of the movement of funds, in case of a transfer. deprecated: true $ref: '#/components/schemas/TransferDirection' 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 title: EvmNativeTransferDetails TonReversion: properties: state: $ref: '#/components/schemas/TonReversionState' description: 'The state of the reversion. Is one of the following:
  • `not_reverted`: No reversion, meaning, completed successfully.
  • `unknown_revert`: Fordefi does not know the reason for the reversion.
  • `contract_asserted`: The smart contract originally made an assertion that was later rejected and the transaction was halted.
  • `insufficient_funds_gas_and_value`: A transaction was sent for which there were insufficient funds.
' reason: title: Reason description: The reason for the reversion (additional information). type: string type: object required: - state title: TonReversion SuiCoinType: properties: chain: $ref: '#/components/schemas/SuiChain' description: The chain details this address is of. coin_type: type: string title: Coin Type description: Coin type. type: object required: - chain - coin_type title: SuiCoinType description: Coin type represents a Sui blockchain coin type. EnrichedArchAddress: 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: arch title: Type address: type: string maxLength: 44 minLength: 32 pattern: ^[a-km-zA-HJ-NP-Z1-9]+$ title: Address description: The Arch address represented in Base58 format. example: 4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA type: object required: - type - address title: EnrichedArchAddress 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 CosmosCoinWithAmount: properties: coin_with_amount: oneOf: - $ref: '#/components/schemas/CosmosNativeCoinWithAmount' - $ref: '#/components/schemas/CosmosTokenWithAmount' description: The coin info. discriminator: propertyName: type mapping: native: '#/components/schemas/CosmosNativeCoinWithAmount' token: '#/components/schemas/CosmosTokenWithAmount' type: object required: - coin_with_amount title: CosmosCoinWithAmount CreateRequestMaxAmount: properties: type: type: string const: max title: Type type: object required: - type title: CreateRequestMaxAmount 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 SafeTypedMessageEvmMessage: properties: domain: $ref: '#/components/schemas/EvmMessageDomainData' description: The domain data. primary_type: type: string title: Primary Type description: Used to identify the primary type of the message. enriched_addresses: additionalProperties: $ref: '#/components/schemas/EnrichedEvmAddress' type: object title: Enriched Addresses description: 'Addresses that are related to this message, enriched with metadata.Please NOTE: the dictionary keys are EIP-55 checksummed addresses' default: {} type: type: string const: safe title: Type description: The typed message type. to: $ref: '#/components/schemas/EnrichedEvmAddress' description: The target address. value: type: string pattern: ^-?\d+$ title: Value description: The value in wei. example: '1000000000000000000' data: type: string title: Data description: The transaction data. operation: $ref: '#/components/schemas/SafeOperation' description: 'Operation type: 0 = Call, 1 = DelegateCall.' safe_gas: type: string pattern: ^-?\d+$ title: Safe Gas description: Gas for the Safe transaction. example: '1000000000000000000' base_gas: type: string pattern: ^-?\d+$ title: Base Gas description: Base gas. example: '1000000000000000000' gas_price: type: string pattern: ^-?\d+$ title: Gas Price description: Gas price. example: '1000000000000000000' gas_token: description: Token address for gas payment (0x0 for ETH). $ref: '#/components/schemas/EnrichedEvmAddress' refund_receiver: description: Address to receive gas refund. $ref: '#/components/schemas/EnrichedEvmAddress' nonce: type: string pattern: ^-?\d+$ title: Nonce description: Safe transaction nonce. example: '1000000000000000000' decoded_method: title: Decoded Method description: The decoded method name. type: string decoded_parameters_json: title: Decoded Parameters Json description: The decoded parameters as JSON string. type: string decoding_error: title: Decoding Error description: Error message if decoding failed. type: string is_multi_send: type: boolean title: Is Multi Send description: Whether this is a multi-send batched transaction. is_sensitive_operation: type: boolean title: Is Sensitive Operation description: Whether this operation modifies Safe ownership, modules, or guards. is_rejection: type: boolean title: Is Rejection description: Whether this is a rejection transaction. rejected_transaction: description: Details of the transaction being rejected. $ref: '#/components/schemas/RejectedTransactionSummary' type: object required: - domain - primary_type - type - to - value - data - operation - safe_gas - base_gas - gas_price - nonce - is_multi_send - is_sensitive_operation - is_rejection title: SafeTypedMessageEvmMessage GasPriorityLevel: type: string enum: - custom - low - medium - high title: GasPriorityLevel EvmBridgesEffect: properties: priced_asset: $ref: '#/components/schemas/PricedAsset' description: The asset information. name: type: string title: Name description: The name of the bridge. amount: type: string pattern: ^\d+$ title: Amount description: The amount of the bridge. example: '1000000000000000000' source: $ref: '#/components/schemas/EnrichedEvmAddress' description: The source of the bridge. destination: oneOf: - $ref: '#/components/schemas/EvmBridgeKnownDestination' - $ref: '#/components/schemas/BaseBridgeUnknownDestination' description: The destination of the bridge. discriminator: propertyName: type mapping: known_target_chain: '#/components/schemas/EvmBridgeKnownDestination' unknown_target_chain: '#/components/schemas/BaseBridgeUnknownDestination' type: object required: - priced_asset - name - amount - source - destination title: EvmBridgesEffect PredictTonSerializedRawTransactionRequest: properties: type: type: string const: ton_raw_transaction title: Type description: An Ton transaction with raw payload. 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/TonChainUniqueId' description: The chain that this transaction is on. Specify the chain name (for example, `ton_mainnet`). transaction_payload: $ref: '#/components/schemas/TonTransactionPayload' description: The transaction payload type: object required: - type - chain - transaction_payload title: PredictTonSerializedRawTransactionRequest SuiImmOrOwnedObjectRefInputArgument: properties: digest: type: string maxLength: 44 minLength: 32 pattern: ^[a-km-zA-HJ-NP-Z1-9]+$ title: Digest description: The digest of the object. example: 9K8mnqJdxf3B7vgFmRhj9JqKqsN5AxvSgWk5faGshEta object_id: type: string maxLength: 66 minLength: 66 pattern: ^0[xX][a-fA-F0-9]+$ title: Object Id description: The id of the object. example: '0x3300c18e7b931bdfc73dccf3e2d043ad1c9d120c777fff5aeeb9956224e5247a' version: type: string pattern: ^0*[1-9]\d*$ title: Version description: The version of the object. example: '1000000000000000000' type: type: string const: imm_or_owned title: Type description: The type of the object. type: object required: - digest - object_id - version - type title: SuiImmOrOwnedObjectRefInputArgument StellarMessage: 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. state: $ref: '#/components/schemas/NonPushableTransactionState' description: The state of the message. state_changes: items: $ref: '#/components/schemas/NonPushableTransactionStateChange' type: array title: State Changes description: The state changes of the message. type: type: string const: stellar_message title: Type description: Stellar message type. stellar_message_type: $ref: '#/components/schemas/StellarMessageType' description: The type of the Stellar message. raw_data: type: string title: Raw Data description: The raw data of the message. chain: $ref: '#/components/schemas/EnrichedStellarChain' description: The details of the chain that this message is on. sender: $ref: '#/components/schemas/EnrichedStellarAddress' description: The sender of the message. type: object required: - id - created_at - modified_at - signatures - direction - interacted_vaults - organization_id - state - state_changes - type - stellar_message_type - raw_data - chain - sender title: StellarMessage StdFeeRequest: properties: amount: items: $ref: '#/components/schemas/StdCoin' type: array title: Amount description: List of coins to pay for this transaction. gas: type: string pattern: ^\d+(\.\d+)?$ title: Gas description: Gas wanted for this transaction. Accepts an integer string (e.g. "200000") or a fractional string (e.g. "168908.4") — fractional values are rounded up to the next integer before being forwarded to the downstream service. example: '1000000000000000000' payer: title: Payer description: Payer for this transaction. default: '' type: string granter: title: Granter description: Granter for this transaction. default: '' type: string fee_payer: title: Fee Payer description: Fee Payer for this transaction. default: '' type: string type: object required: - amount - gas title: StdFeeRequest SuiTransferEffect: 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/EnrichedSuiAddress' description: The sender of the transfer. to: $ref: '#/components/schemas/EnrichedSuiAddress' description: The receiver of the transfer. type: object required: - priced_asset - amount - from - to title: SuiTransferEffect CreateExchangeTransferRequestMaxAmount: properties: type: type: string const: max title: Type type: object required: - type title: CreateExchangeTransferRequestMaxAmount DynamicGasRequest: properties: type: type: string const: dynamic title: Type description: The type of gas data. max_priority_fee_per_gas: type: string pattern: ^\d+$ title: Max Priority Fee Per Gas description: Max priority fee per gas. example: '1000000000000000000' max_fee_per_gas: type: string pattern: ^0*[1-9]\d*$ title: Max Fee Per Gas description: Max fee per gas. example: '1000000000000000000' type: object required: - type - max_priority_fee_per_gas - max_fee_per_gas title: DynamicGasRequest PredictedAptosMessage: 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 type: type: string const: aptos_message title: Type description: Aptos message type. chain: $ref: '#/components/schemas/EnrichedAptosChain' description: The details of the chain that this message is on. sender: $ref: '#/components/schemas/EnrichedAptosAddress' description: The sender of the message. aptos_message_type: $ref: '#/components/schemas/AptosMessageType' description: The type of the Aptos message. message_to_display: type: string title: Message To Display description: User-friendly formatting of the message to be signed. type: object required: - matched_policies - risks - type - chain - sender - aptos_message_type - message_to_display title: PredictedAptosMessage TonMessageType: type: string enum: - proof_message_type title: TonMessageType TronNativeTransferDetails: properties: type: type: string const: native_transfer title: Type description: A transaction involving the transfer of TRON coin from one address to another. sender: $ref: '#/components/schemas/EnrichedTronAddress' description: The sender of the assets. recipient: $ref: '#/components/schemas/EnrichedTronAddress' description: The recipient of the assets. 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: TronNativeTransferDetails ArchTransactionAccount: properties: address: $ref: '#/components/schemas/EnrichedArchAddress' 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: ArchTransactionAccount CreateCantonPartyAllocationRequest: properties: type: type: string const: canton_party_allocation title: Type description: A Canton party allocation transaction for registering an external party on a node. 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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party.
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' default: auto chain: $ref: '#/components/schemas/CantonChainUniqueId' description: The Canton chain to allocate the party on. type: object required: - type - chain title: CreateCantonPartyAllocationRequest CosmosTransaction: 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' cosmos_transaction_type_details: $ref: '#/components/schemas/CosmosTransactionTypeDetails' description: Transaction details memo: type: string title: Memo description: Transaction memo. default: '' chain: $ref: '#/components/schemas/EnrichedCosmosChain' description: The details of the chain this transaction is on. sender: $ref: '#/components/schemas/EnrichedCosmosBechAddress' description: The address that originated the transaction. type: type: string const: cosmos_transaction title: Type description: The type of the transaction. hash: title: Hash description: The hash of the transaction. type: string maxLength: 64 minLength: 64 pattern: ^[a-fA-F0-9]+$ example: 12BE33E7F1B6CA644CC006FB8CBD0C4C7C95B1072DA90E9F4C39CB837072BBF5 explorer_url: title: Explorer Url description: The URL of this transaction in a blockchain explorer. example: https://www.mintscan.io/cosmos/txs/65A22C9050C8A29DE15CD8D0D08C847766B734403008C428C3148A23137ED3EF type: string maxLength: 2083 minLength: 1 format: uri signers_info: items: $ref: '#/components/schemas/SignerInfo' type: array title: Signers Info description: List of signers info. expected_result: description: The expected result of the transaction in case it is mined. $ref: '#/components/schemas/CosmosTransactionResult' mined_result: description: The result of the transaction after it was mined. $ref: '#/components/schemas/CosmosTransactionResult' sign_doc: description: The signed document of the transaction. $ref: '#/components/schemas/SignDoc' type: object required: - id - created_at - modified_at - signatures - direction - interacted_vaults - organization_id - state - state_changes - cosmos_transaction_type_details - chain - sender - type - signers_info title: CosmosTransaction StellarReversion: properties: state: $ref: '#/components/schemas/StellarReversionState' description: 'The state of the reversion. Is one of the following:
  • `not_reverted`: No reversion, meaning, completed successfully.
  • `unknown_revert`: Fordefi does not know the reason for the reversion.
  • `insufficient_funds_gas_and_value`: The transaction was reverted due to insufficient funds.
' reason: title: Reason description: The reason for the reversion (additional information). type: string type: object required: - state title: StellarReversion 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 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 StellarClassicAssetTransferDetails: properties: type: type: string const: classic_asset_transfer title: Type description: A transaction involving the transfer of a Stellar classic asset (credit) from one address to another. sender: $ref: '#/components/schemas/EnrichedStellarAddress' description: The sender of the assets. recipient: description: The recipient of the assets. $ref: '#/components/schemas/EnrichedStellarAddress' 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 title: StellarClassicAssetTransferDetails SuiReversionState: type: string enum: - not_reverted - unknown_revert - contract_asserted - insufficient_funds_gas_and_value - invalid_input - transaction_failed_to_reach_finality - out_of_gas - transaction_locked_objects_failure title: SuiReversionState StellarChangeTrustDetails: properties: type: type: string const: change_trust title: Type description: A ChangeTrust operation to establish or update a trustline for Stellar classic asset. recipient: description: The recipient of the trustline operation — always the vault itself. $ref: '#/components/schemas/EnrichedStellarAddress' type: object required: - type title: StellarChangeTrustDetails StacksAssetIdentifierRequest: 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' type: object required: - type - details title: StacksAssetIdentifierRequest 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 ExchangeReversion: properties: state: $ref: '#/components/schemas/ExchangeReversionState' description: 'The state of the reversion. Is one of the following:
  • `not_reverted`: No reversion, meaning, completed successfully.
  • `insufficient_exchange_withdraw_funds`: Insufficient funds in exchange vault for withdraw or
  • `insufficient_exchange_deposit_minimum_amount`: Insufficient minimum amount for depositinsufficient withdraw amount to cover fee.
' reason: title: Reason description: The reason for the reversion (additional information). type: string type: object required: - state title: ExchangeReversion CosmosPushData: properties: type: type: string const: cosmos_transaction title: Type description: The type of the transaction. transaction_body: title: Transaction Body description: "The byte sequence of the serialized signed\n transaction to be sent to the chain." type: string example: SGVsbG8= type: object required: - type title: CosmosPushData SuiProgrammableTransactionBlockDetails: properties: type: type: string const: programmable_transaction_block title: Type description: A transaction capable of any operation. sender: $ref: '#/components/schemas/EnrichedSuiAddress' description: The sender of the transaction. recipients: items: $ref: '#/components/schemas/EnrichedSuiAddress' type: array title: Recipients description: The recipients that interacted with the transaction. type: object required: - type - sender - recipients title: SuiProgrammableTransactionBlockDetails IndexTransactionByHashStatus: type: string enum: - indexed - already_indexed - no_interaction title: IndexTransactionByHashStatus AptosTransaction: 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: aptos_transaction title: Type description: Aptos transaction type. aptos_transaction_type_details: oneOf: - $ref: '#/components/schemas/AptosNativeTransferDetails' - $ref: '#/components/schemas/AptosCoinTransferDetails' - $ref: '#/components/schemas/AptosEntryPointDetails' - $ref: '#/components/schemas/AptosScriptDetails' description: Details of the Aptos transaction based on its type. discriminator: propertyName: type mapping: coin_transfer: '#/components/schemas/AptosCoinTransferDetails' entry_point: '#/components/schemas/AptosEntryPointDetails' native_transfer: '#/components/schemas/AptosNativeTransferDetails' script: '#/components/schemas/AptosScriptDetails' chain: $ref: '#/components/schemas/EnrichedAptosChain' description: The details of the chain this transaction is on. version: title: Version description: The version of the transaction. type: integer nonce: title: Nonce description: The nonce of the transaction. type: integer sender: $ref: '#/components/schemas/EnrichedAptosAddress' description: The sender of the transaction. payload: oneOf: - $ref: '#/components/schemas/AptosEntryFunctionPayload' - $ref: '#/components/schemas/ScriptPayload' description: The payload of the transaction. discriminator: propertyName: type mapping: entry_point: '#/components/schemas/AptosEntryFunctionPayload' script: '#/components/schemas/ScriptPayload' hash: title: Hash description: The hash of the transaction. type: string maxLength: 66 minLength: 66 pattern: ^0[xX][a-fA-F0-9]+$ example: '0x780f21260f89d610f24eed21b34d29229611a37e0003e83dd0da91981d7131ae' gas_submitted: $ref: '#/components/schemas/AptosGasData' description: The gas details submitted for the transaction. with_external_fee_payer: type: boolean title: With External Fee Payer description: If true, the transaction's Authenticator will be configured to support an external fee payer. After Fordefi signs the transaction, the client is responsible for forwarding it to the designated fee payer for final signing and broadcasting. default: false fee_payer: description: The address of the fee payer vault for sponsored transactions. $ref: '#/components/schemas/EnrichedAptosAddress' serialized_signed_transaction: title: Serialized Signed Transaction description: The serialized signed transaction. type: string example: SGVsbG8= expected_result: description: The expected result of the transaction in case it is mined. $ref: '#/components/schemas/AptosTransactionResult' mined_result: description: The result of the transaction after it was mined. $ref: '#/components/schemas/AptosTransactionResult' explorer_url: title: Explorer Url description: The URL of this transaction in a blockchain explorer. For example, explorer.aptoslabs.com example: https://explorer.aptoslabs.com/txn/0xe2b537430a0b30d05272f4cb99945d3355fdcb5d1390b348cdc320645786799d?network=mainnet type: string maxLength: 2083 minLength: 1 format: uri type: object required: - id - created_at - modified_at - signatures - direction - interacted_vaults - organization_id - state - state_changes - type - aptos_transaction_type_details - chain - sender - payload - gas_submitted title: AptosTransaction PushMode: type: string enum: - auto - manual - deferred title: PushMode StarknetAssetIdentifierRequest: 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' type: object required: - type - details title: StarknetAssetIdentifierRequest 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 GasPriorityLevelRequest: type: string enum: - low - medium - high title: GasPriorityLevelRequest StacksTransaction: 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: stacks_transaction title: Type description: Stacks transaction type. stacks_transaction_type_details: oneOf: - $ref: '#/components/schemas/StacksNativeTransferDetails' - $ref: '#/components/schemas/StacksTokenTransferDetails' - $ref: '#/components/schemas/StacksRawTransactionDetails' description: Details of the Stacks transaction based on its type. discriminator: propertyName: type mapping: native_transfer: '#/components/schemas/StacksNativeTransferDetails' raw_transaction: '#/components/schemas/StacksRawTransactionDetails' token_transfer: '#/components/schemas/StacksTokenTransferDetails' chain: $ref: '#/components/schemas/EnrichedStacksChain' description: The details of the chain this transaction is on. nonce: title: Nonce description: The nonce of the transaction. type: integer sender: $ref: '#/components/schemas/EnrichedStacksAddress' description: The sender of the transaction. hash: title: Hash description: The hash of the transaction. type: string maxLength: 66 minLength: 66 pattern: ^0[xX][a-fA-F0-9]+$ example: '0xadc53fc37f9210735c5ed562aa914cb745c910ded94720bfe9e67a2ac6f2ae24' post_conditions: description: The post conditions of the transaction. $ref: '#/components/schemas/StacksPostConditions' serialized_payload: title: Serialized Payload description: The serialized payload of the transaction. type: string pattern: ^0[xX][a-fA-F0-9]+$ serialized_signed_transaction: title: Serialized Signed Transaction description: The serialized signed transaction. type: string pattern: ^0[xX][a-fA-F0-9]+$ expected_result: description: The expected result of the transaction in case it is mined. $ref: '#/components/schemas/StacksTransactionResult' mined_result: description: The result of the transaction after it was mined. $ref: '#/components/schemas/StacksTransactionResult' explorer_url: title: Explorer Url description: The URL of this transaction in a blockchain explorer. For example, https://explorer.hiro.so/ example: https://explorer.hiro.so/txid/0xd303fc22b2b8c346a0a1fa164a1ccb878a172dc2b8ce08253a6b2312cafb1520 type: string maxLength: 2083 minLength: 1 format: uri memo: title: Memo description: The memo of the transaction. type: string type: object required: - id - created_at - modified_at - signatures - direction - interacted_vaults - organization_id - state - state_changes - type - stacks_transaction_type_details - chain - sender title: StacksTransaction SuiMessage: 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. state: $ref: '#/components/schemas/NonPushableTransactionState' description: The state of the message. state_changes: items: $ref: '#/components/schemas/NonPushableTransactionStateChange' type: array title: State Changes description: The state changes of the message. type: type: string const: sui_message title: Type description: Sui message type. sui_message_type: $ref: '#/components/schemas/SuiMessageType' description: The type of the Sui message. string_data: type: string title: String Data description: The message as a string. raw_data: type: string title: Raw Data description: The raw data of the message, encoded in base64 example: SGVsbG8= chain: $ref: '#/components/schemas/EnrichedSuiChain' description: The details of the chain that this message is on. sender: $ref: '#/components/schemas/EnrichedSuiAddress' description: The sender of the message. type: object required: - id - created_at - modified_at - signatures - direction - interacted_vaults - organization_id - state - state_changes - type - sui_message_type - string_data - raw_data - chain - sender title: SuiMessage 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 CreateCosmosTransactionRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: cosmos_transaction title: Type description: Cosmos transaction type. details: oneOf: - $ref: '#/components/schemas/TypedCosmosRawTransactionRequest' - $ref: '#/components/schemas/TypedCosmosTransferRequest' description: Transaction details. discriminator: propertyName: type mapping: cosmos_raw_transaction: '#/components/schemas/TypedCosmosRawTransactionRequest' cosmos_transfer: '#/components/schemas/TypedCosmosTransferRequest' type: object required: - vault_id - type - details title: CreateCosmosTransactionRequest 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 EnrichedExchangeAddress: 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: exchange title: Type exchange_type: $ref: '#/components/schemas/ExchangeType' type: object required: - type - exchange_type title: EnrichedExchangeAddress 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 CreateEvmWrapNativeRequest: properties: fee_payer: description: The vault that pays the fee for this transaction. $ref: '#/components/schemas/TransactionFeePayerVault' type: type: string const: evm_wrap_native title: Type description: An EVM wrap native transaction is for wrapping the native token. 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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party.
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' default: auto use_mev_protected_node: type: boolean title: Use Mev Protected Node description: Use an MEV protected node to send the transaction. By using an MEV protected node, you avoid maximal extractable value (MEV) attacks. default: false use_secure_node: type: boolean title: Use Secure Node description: Use a secure node to send the transaction. By using a secure node, you avoid maximal extractable value (MEV) attacks. default: false deprecated: true gas: description: The gas details of the transaction. The details depend on which option you choose:
  • Gas Priority or
  • Custom Gas Request
oneOf: - $ref: '#/components/schemas/GasPriorityRequest' - $ref: '#/components/schemas/CustomGasRequest' discriminator: propertyName: type mapping: custom: '#/components/schemas/CustomGasRequest' priority: '#/components/schemas/GasPriorityRequest' funder: title: Funder description: The unique identifier of the vault that pays the fee for this transaction. deprecated: true type: string format: uuid custom_nonce: anyOf: - type: integer - type: string pattern: ^\d+$ example: '1000000000000000000' title: Custom Nonce description: The user-specified nonce for the transaction.
If not provided, the transaction's nonce will be automatically determined upon signing.
If provided, it must equal the nonce of an existing transaction that has already been signed but not yet mined, on the same vault.
Alternatively, it may equal the next nonce of the vault. chain: $ref: '#/components/schemas/EvmChainRequest' description: The chain that this transaction is on. amount: oneOf: - $ref: '#/components/schemas/CreateRequestExplicitAmount' - $ref: '#/components/schemas/CreateRequestMaxAmount' description: 'The amount of native token to wrap. Specify one of the following:
  • `value`
  • `max`
' discriminator: propertyName: type mapping: max: '#/components/schemas/CreateRequestMaxAmount' value: '#/components/schemas/CreateRequestExplicitAmount' type: object required: - type - chain - amount title: CreateEvmWrapNativeRequest AptosPriorityGasPriceRequest: properties: type: type: string const: priority title: Type priority: $ref: '#/components/schemas/FeePriorityLevelRequest' description: 'Using the Gas Priority option, you allocate gas according to `gas_limit` and `priority_level`, 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 title: AptosPriorityGasPriceRequest CreateTransferRequest: $ref: '#/components/schemas/GenericCreateTransferRequest' title: CreateTransferRequest EvmEffects: properties: balance_changes: items: $ref: '#/components/schemas/EvmBalanceChangeEffect' type: array title: Balance Changes description: 'The aggregated balance changes at the addresses that are involved in the transaction. Values are indicated for all currency components of the transactions: native, ERC-20, ERC-721, and ERC-1155.' transfers: items: $ref: '#/components/schemas/EvmTransferEffect' type: array title: Transfers description: The transfer events of the transaction. allowances: items: $ref: '#/components/schemas/AllowanceEffect' type: array title: Allowances description: The allowance events of the transaction. bridge: title: Bridge description: The bridge effects of the transaction. deprecated: true items: $ref: '#/components/schemas/EvmBridgeEffect' type: array bridges: items: $ref: '#/components/schemas/EvmBridgesEffect' type: array title: Bridges description: The bridge effects of the transaction. contract_deployments: items: $ref: '#/components/schemas/EvmContractDeploymentEffect' type: array title: Contract Deployments description: The contract deployment information of the transaction. set_code_authorizations: items: $ref: '#/components/schemas/SetCodeAuthorizationEffect' type: array title: Set Code Authorizations description: The set code authorization effects of the transaction. type: object required: - balance_changes - transfers - allowances - bridges - contract_deployments - set_code_authorizations title: EvmEffects EvmChainRequest: anyOf: - $ref: '#/components/schemas/EvmChainName' - type: integer minimum: 1.0 title: EvmChainId description: The EVM chain ID can be either one of those supported by the default chains below or a custom chain ID if one was added to your organization.
  • 1=`ethereum_mainnet`
  • 5=`ethereum_goerli`
  • 10=`optimism_mainnet`
  • 14=`flare_mainnet`
  • 16=`flare_testnet`
  • 30=`rootstock_mainnet`
  • 56=`bsc_mainnet`
  • 100=`gnosis_mainnet`
  • 130=`unichain_mainnet`
  • 137=`polygon_mainnet`
  • 143=`monad_mainnet`
  • 146=`sonic_mainnet`
  • 169=`manta_pacific_mainnet`
  • 196=`x_layer_mainnet`
  • 250=`fantom_mainnet`
  • 324=`zksync_era_mainnet`
  • 999=`hyperevm_mainnet`
  • 1030=`conflux_mainnet`
  • 1100=`dymension_mainnet`
  • 1101=`polygon_zkevm_mainnet`
  • 1329=`sei_mainnet`
  • 1337=`hypercore_mainnet`
  • 1666=`aster_mainnet`
  • 1672=`pharos_mainnet`
  • 1729=`reya_mainnet`
  • 2222=`kava_mainnet`
  • 4200=`merlin_mainnet`
  • 4217=`tempo_mainnet`
  • 4663=`robinhood_mainnet`
  • 5000=`mantle_mainnet`
  • 7000=`zeta_mainnet`
  • 7700=`canto_mainnet`
  • 8453=`base_mainnet`
  • 8818=`clink_mainnet`
  • 8819=`clink_testnet`
  • 9745=`plasma_mainnet`
  • 16661=`zero_gravity_mainnet`
  • 17000=`ethereum_holesky`
  • 80001=`polygon_mumbai`
  • 80094=`berachain_mainnet`
  • 42161=`arbitrum_mainnet`
  • 43113=`avalanche_fuji`
  • 43114=`avalanche_chain`
  • 57073=`ink_mainnet`
  • 59144=`linea_mainnet`
  • 81457=`blast_mainnet`
  • 421614=`arbitrum_sepolia`
  • 534352=`scroll_mainnet`
  • 660279=`xai_mainnet`
  • 747474=`katana_mainnet`
  • 810180=`zklink_nova_mainnet`
  • 11155111=`ethereum_sepolia`
- type: string minLength: 1 title: EvmChainUniqueId description: The unique EVM chain ID.
Can be either one of those supported by the default chains below or a custom numeric chain ID `evm_` if one was added to your organization.
  • `"evm_1"`
  • `"evm_5"`
  • `"evm_10"`
  • `"evm_14"`
  • `"evm_16"`
  • `"evm_30"`
  • `"evm_56"`
  • `"evm_100"`
  • `"evm_130"`
  • `"evm_137"`
  • `"evm_143"`
  • `"evm_146"`
  • `"evm_169"`
  • `"evm_196"`
  • `"evm_250"`
  • `"evm_324"`
  • `"evm_999"`
  • `"evm_1030"`
  • `"evm_1100"`
  • `"evm_1101"`
  • `"evm_1329"`
  • `"evm_1337"`
  • `"evm_1666"`
  • `"evm_1672"`
  • `"evm_1729"`
  • `"evm_2222"`
  • `"evm_4200"`
  • `"evm_4217"`
  • `"evm_4663"`
  • `"evm_5000"`
  • `"evm_7000"`
  • `"evm_7700"`
  • `"evm_8453"`
  • `"evm_8818"`
  • `"evm_8819"`
  • `"evm_9745"`
  • `"evm_16661"`
  • `"evm_17000"`
  • `"evm_80001"`
  • `"evm_80094"`
  • `"evm_42161"`
  • `"evm_43113"`
  • `"evm_43114"`
  • `"evm_57073"`
  • `"evm_59144"`
  • `"evm_81457"`
  • `"evm_421614"`
  • `"evm_534352"`
  • `"evm_660279"`
  • `"evm_747474"`
  • `"evm_810180"`
  • `"evm_11155111"`
  • `"evm_ethereum_mainnet"`
  • `"evm_ethereum_goerli"`
  • `"evm_optimism_mainnet"`
  • `"evm_flare_mainnet"`
  • `"evm_flare_testnet"`
  • `"evm_rootstock_mainnet"`
  • `"evm_bsc_mainnet"`
  • `"evm_gnosis_mainnet"`
  • `"evm_unichain_mainnet"`
  • `"evm_polygon_mainnet"`
  • `"evm_monad_mainnet"`
  • `"evm_sonic_mainnet"`
  • `"evm_manta_pacific_mainnet"`
  • `"evm_x_layer_mainnet"`
  • `"evm_fantom_mainnet"`
  • `"evm_zksync_era_mainnet"`
  • `"evm_hyperevm_mainnet"`
  • `"evm_conflux_mainnet"`
  • `"evm_dymension_mainnet"`
  • `"evm_polygon_zkevm_mainnet"`
  • `"evm_sei_mainnet"`
  • `"evm_hypercore_mainnet"`
  • `"evm_aster_mainnet"`
  • `"evm_pharos_mainnet"`
  • `"evm_reya_mainnet"`
  • `"evm_kava_mainnet"`
  • `"evm_merlin_mainnet"`
  • `"evm_tempo_mainnet"`
  • `"evm_robinhood_mainnet"`
  • `"evm_mantle_mainnet"`
  • `"evm_zeta_mainnet"`
  • `"evm_canto_mainnet"`
  • `"evm_base_mainnet"`
  • `"evm_clink_mainnet"`
  • `"evm_clink_testnet"`
  • `"evm_plasma_mainnet"`
  • `"evm_zero_gravity_mainnet"`
  • `"evm_ethereum_holesky"`
  • `"evm_polygon_mumbai"`
  • `"evm_berachain_mainnet"`
  • `"evm_arbitrum_mainnet"`
  • `"evm_avalanche_fuji"`
  • `"evm_avalanche_chain"`
  • `"evm_ink_mainnet"`
  • `"evm_linea_mainnet"`
  • `"evm_blast_mainnet"`
  • `"evm_arbitrum_sepolia"`
  • `"evm_scroll_mainnet"`
  • `"evm_xai_mainnet"`
  • `"evm_katana_mainnet"`
  • `"evm_zklink_nova_mainnet"`
  • `"evm_ethereum_sepolia"`
title: EvmChainRequest description: The EVM chain name or ID. StacksFee: properties: priority: $ref: '#/components/schemas/FeePriorityLevel' description: The priority level. total_fee: type: string pattern: ^\d+$ title: Total Fee description: The total fee payed for the transaction. 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 - total_fee - priced_asset title: StacksFee 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] 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 ExchangeTransactionStateChange: 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 exchange transaction. $ref: '#/components/schemas/ExchangeTransactionState' new_state: $ref: '#/components/schemas/ExchangeTransactionState' description: The new state of the exchange transaction. type: object required: - changed_at - new_state title: ExchangeTransactionStateChange ExchangeExternalWithdrawDetails: properties: is_internal: type: boolean title: Is Internal description: Is this transfer an internal transfer between two vaults. sender: $ref: '#/components/schemas/EnrichedExchangeAddress' description: The sender of the transaction. type: type: string const: external_withdraw title: Type description: 'A transaction from an exchange vault to an MPC vault or external address. ' recipient: $ref: '#/components/schemas/EnrichedAddress' description: The recipient of the transfer. chain: $ref: '#/components/schemas/EnrichedChain' description: The details of the chain this transaction is on. memo: title: Memo description: Transaction memo. type: string 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. For example, Solscan. example: https://solscan.io/tx/FAWA66f...6kEZanwHeDFNS type: string maxLength: 2083 minLength: 1 format: uri type: object required: - is_internal - sender - type - recipient - chain title: ExchangeExternalWithdrawDetails BridgeDetails: properties: type: type: string const: cross_chain_bridge title: Type description: A transaction involving the transfer of funds from one blockchain to another. bridge_effect: description: The bridge effects of the transaction. deprecated: true $ref: '#/components/schemas/EvmBridgeEffect' bridge_effects: $ref: '#/components/schemas/EvmBridgesEffect' description: The bridge effects of the transaction. type: object required: - type - bridge_effects title: BridgeDetails TransactionPredictEvmSetCodeRequest: properties: fee_payer: description: The vault that pays the fee for this transaction. $ref: '#/components/schemas/TransactionFeePayerVault' type: type: string const: evm_set_code title: Type description: An EVM set code transaction is for setting the code of a specific contract. 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 use_mev_protected_node: type: boolean title: Use Mev Protected Node description: Use a MEV protected node to send the transaction. By using a MEV protected node, you avoid maximal extractable value (MEV) attacks. default: false gas: description: The gas details of the transaction. The details depend on which option you choose:
  • Gas Priority or
  • Custom Gas Request
oneOf: - $ref: '#/components/schemas/GasPriorityRequest' - $ref: '#/components/schemas/CustomGasRequest' discriminator: propertyName: type mapping: custom: '#/components/schemas/CustomGasRequest' priority: '#/components/schemas/GasPriorityRequest' chain: $ref: '#/components/schemas/EvmChainRequest' description: The chain that this transaction is on. Specify either the chain name (for example `ethereum_mainnet`), the chain ID as a string (`evm_1`), or the chain ID as an integer (`1`). enable: type: boolean title: Enable description: Whether to set the code of the contract, or to clear it. type: object required: - type - chain - enable title: TransactionPredictEvmSetCodeRequest 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 TransferDirection: type: string enum: - outgoing - incoming - internal title: TransferDirection SuiSuggestedFees: properties: type: type: string const: sui title: Type description: The type of the chain. chain_unique_id: $ref: '#/components/schemas/SuiChainUniqueId' description: The Sui chain unique id. type: object required: - type - chain_unique_id title: SuiSuggestedFees 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:
  • Allow automatically
  • Block
  • Require express approval
' type: object required: - is_default - rule_id - rule_name - action_type title: PolicyMatch TonReversionState: type: string enum: - not_reverted - unknown_revert - contract_asserted - insufficient_funds_gas_and_value title: TonReversionState GasPriorityRequest: properties: gas_limit: title: Gas Limit description: Specifies the maximum number of gas units to be used for mining the transaction. If omitted, Fordefi will automatically estimate the required gas and apply that value. type: string pattern: ^0*[1-9]\d*$ example: '1000000000000000000' type: type: string const: priority title: Type priority_level: $ref: '#/components/schemas/GasPriorityLevelRequest' description: 'Using the Gas Priority option, you allocate gas according to `gas_limit` and `priority_level`, and the range of fee you are willing to add: low, medium, or high - Fordefi will add 10%, 20%, or 25%, respectively to the recent average gas price to mine the transaction successfully.' type: object required: - type - priority_level title: GasPriorityRequest 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 CreateTronMessageWithWaitRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: tron_message title: Type description: TRON message type. details: oneOf: - $ref: '#/components/schemas/TronTypedMessageV1Request' - $ref: '#/components/schemas/TronTypedMessageV2Request' discriminator: propertyName: type mapping: typed_message_type_v1: '#/components/schemas/TronTypedMessageV1Request' typed_message_type_v2: '#/components/schemas/TronTypedMessageV2Request' timeout: type: integer maximum: 50.0 minimum: 1.0 title: Timeout description: The maximum time in seconds to wait for the transaction to reach the specified state. For states that require more than 50 seconds, using webhooks or polling is preferable. default: 10 wait_for_state: $ref: '#/components/schemas/NonPushableTransactionState' description: The state to wait for. type: object required: - vault_id - type - details - wait_for_state title: CreateTronMessageWithWaitRequest EvmReversionState: type: string enum: - not_reverted - unknown_revert - contract_asserted - out_of_gas - max_fee_less_than_block_base_fee - base_fee_exceeds_gas_limit - insufficient_funds_gas_and_value - invalid_input - transaction_rejected - gas_limit_exceeds_block_limit - mixed_secure_node_revert title: EvmReversionState AptosReversionState: type: string enum: - not_reverted - unknown_revert - contract_asserted - insufficient_funds_gas_and_value title: AptosReversionState StellarClaimClaimableBalanceDetails: properties: type: type: string const: claim_claimable_balance title: Type description: A ClaimClaimableBalance operation to claim pending claimable balances for a Stellar asset. recipient: description: The recipient of the claim — always the vault itself. $ref: '#/components/schemas/EnrichedStellarAddress' type: object required: - type title: StellarClaimClaimableBalanceDetails 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:
  • `not_reverted`: No reversion, meaning, completed successfully.
  • `unknown_revert`: Fordefi does not know the reason for the reversion.
  • `contract_asserted`: The smart contract originally made an assertion that was later rejected and the transaction was halted.
  • `insufficient_funds_gas_and_value`: A transaction was sent for which there were insufficient funds.
  • `insufficient_funds_for_rent`: There is not enough SOL in the account to pay for the rent.
' reason: title: Reason description: The reason for the reversion (additional information). type: string type: object required: - state title: SolanaReversion HyperliquidSendToEvmWithDataAction: properties: action_type: type: string const: send_to_evm_with_data title: Action Type description: The Hyperliquid action type. destination_chain_id: type: integer title: Destination Chain Id description: Target chain ID for the CCTP bridge. destination_recipient: type: string title: Destination Recipient description: Recipient address on the destination chain. token: type: string title: Token description: Token identifier, e.g. 'USDC'. amount: title: Amount description: Bridge amount as a decimal string. type: string pattern: ^\d+(\.\d+)?$ example: '1000000000000000000' gas_limit: type: integer title: Gas Limit description: Gas limit for the bridge transaction. address_encoding: type: string title: Address Encoding description: Address encoding format. default: hex time: type: integer title: Time description: Unix timestamp in milliseconds used as a nonce by Hyperliquid. type: object required: - action_type - destination_chain_id - destination_recipient - token - gas_limit - time title: HyperliquidSendToEvmWithDataAction description: Bridge withdrawal via CCTP (Circle Cross-Chain Transfer Protocol). CreateAptosTransactionRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: aptos_transaction title: Type description: Aptos transaction type. details: oneOf: - $ref: '#/components/schemas/CreateAptosTransferRequest' - $ref: '#/components/schemas/CreateAptosSerializedRawTransactionRequest' discriminator: propertyName: type mapping: aptos_serialized_entry_point_payload: '#/components/schemas/CreateAptosSerializedRawTransactionRequest' aptos_transfer: '#/components/schemas/CreateAptosTransferRequest' type: object required: - vault_id - type - details title: CreateAptosTransactionRequest VaultType: type: string enum: - aptos - arch - black_box - canton - cosmos - evm - safe - solana - stacks - starknet - stellar - sui - ton - tron - utxo - exchange title: VaultType SimulationStatus: type: string enum: - success - failed - reverted - skipped title: SimulationStatus CreateCantonPreApprovalSetupRequest: properties: type: type: string const: canton_pre_approval_setup title: Type description: A Canton transaction that sets up a transfer pre-approval for auto-accepting incoming transfers. 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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party.
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' default: auto asset_identifier: $ref: '#/components/schemas/CantonAssetIdentifierRequest' description: The Canton asset identifier to set up pre-approval for. type: object required: - type - asset_identifier title: CreateCantonPreApprovalSetupRequest PredictTronMessageRequest: 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: tron_message title: Type description: TRON message type. details: oneOf: - $ref: '#/components/schemas/TronTypedMessageV1Request' - $ref: '#/components/schemas/TronTypedMessageV2Request' discriminator: propertyName: type mapping: typed_message_type_v1: '#/components/schemas/TronTypedMessageV1Request' typed_message_type_v2: '#/components/schemas/TronTypedMessageV2Request' type: object required: - vault_id - type - details title: PredictTronMessageRequest 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 BinaryHashPayload: properties: format: type: string const: hash_binary title: Format description: '' hash_binary: type: string minLength: 1 title: Hash Binary description: The payload to sign, encoded in base64 format. example: SGVsbG8= type: object required: - format - hash_binary title: BinaryHashPayload CreateStellarClaimClaimableBalanceRequest: properties: type: type: string const: stellar_claim_claimable_balance title: Type description: Claim claimable balances on Stellar. Auto-creates trustline if needed. 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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party.
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' default: auto claim_status: description: The claim status of the transaction. $ref: '#/components/schemas/ClaimStatus' source: oneOf: - $ref: '#/components/schemas/ClaimClaimableBalanceByAssetSource' - $ref: '#/components/schemas/ClaimClaimableBalanceByTransactionSource' description: The source for resolving which claimable balances to claim. discriminator: propertyName: type mapping: by_asset: '#/components/schemas/ClaimClaimableBalanceByAssetSource' by_transaction: '#/components/schemas/ClaimClaimableBalanceByTransactionSource' type: object required: - type - source title: CreateStellarClaimClaimableBalanceRequest 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 CreateEvmSetCodeRequest: properties: fee_payer: description: The vault that pays the fee for this transaction. $ref: '#/components/schemas/TransactionFeePayerVault' type: type: string const: evm_set_code title: Type description: An EVM set code transaction is for setting the code of a specific contract. 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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party.
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' default: auto use_mev_protected_node: type: boolean title: Use Mev Protected Node description: Use an MEV protected node to send the transaction. By using an MEV protected node, you avoid maximal extractable value (MEV) attacks. default: false use_secure_node: type: boolean title: Use Secure Node description: Use a secure node to send the transaction. By using a secure node, you avoid maximal extractable value (MEV) attacks. default: false deprecated: true gas: description: The gas details of the transaction. The details depend on which option you choose:
  • Gas Priority or
  • Custom Gas Request
oneOf: - $ref: '#/components/schemas/GasPriorityRequest' - $ref: '#/components/schemas/CustomGasRequest' discriminator: propertyName: type mapping: custom: '#/components/schemas/CustomGasRequest' priority: '#/components/schemas/GasPriorityRequest' funder: title: Funder description: The unique identifier of the vault that pays the fee for this transaction. deprecated: true type: string format: uuid custom_nonce: anyOf: - type: integer - type: string pattern: ^\d+$ example: '1000000000000000000' title: Custom Nonce description: The user-specified nonce for the transaction.
If not provided, the transaction's nonce will be automatically determined upon signing.
If provided, it must equal the nonce of an existing transaction that has already been signed but not yet mined, on the same vault.
Alternatively, it may equal the next nonce of the vault. chain: $ref: '#/components/schemas/EvmChainRequest' description: The chain that this transaction is on. Specify either the chain name (for example `ethereum_mainnet`), the chain ID as a string (`evm_1`), or the chain ID as an integer (`1`). enable: type: boolean title: Enable description: Whether to set the code of the contract, or to clear it. type: object required: - type - chain - enable title: CreateEvmSetCodeRequest HyperliquidUnknownAction: properties: action_type: type: string const: unknown_action title: Action Type description: The Hyperliquid action type. type: object required: - action_type title: HyperliquidUnknownAction CreateStacksTransactionSerializedRequest: properties: type: type: string const: stacks_serialized_transaction title: Type description: A serialized Stacks transaction. 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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party.
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' default: auto fee: description: The fee configuration for the transaction. oneOf: - $ref: '#/components/schemas/StacksCustomFeeRequest' - $ref: '#/components/schemas/StacksPriorityFeeRequest' discriminator: propertyName: type mapping: custom: '#/components/schemas/StacksCustomFeeRequest' priority: '#/components/schemas/StacksPriorityFeeRequest' serialized_transaction: type: string pattern: ^0[xX][a-fA-F0-9]+$ title: Serialized Transaction description: The serialized transaction to create in hex-encoded format. chain: $ref: '#/components/schemas/StacksChainUniqueId' description: The chain that this transaction is on. Specify the chain name (for example, `stacks_mainnet`). type: object required: - type - serialized_transaction - chain title: CreateStacksTransactionSerializedRequest 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 BlackBoxSignatureSchnorrSecp256k1Details: properties: type: type: string const: schnorr_secp256k1 title: Type description: Schnorr over the secp256k1 curve signature. signature: title: Signature description: The signature, encoded in base64 format. type: string example: SGVsbG8= hash_binary: type: string minLength: 1 title: Hash Binary description: The payload to sign, encoded in base64 format. example: SGVsbG8= type: object required: - type - hash_binary title: BlackBoxSignatureSchnorrSecp256k1Details 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 AptosNativeTransferDetails: properties: type: type: string const: native_transfer title: Type description: 'A transaction involving the transfer of APT coin from one address to another. ' sender: $ref: '#/components/schemas/EnrichedAptosAddress' description: The sender of the coins. recipient: $ref: '#/components/schemas/EnrichedAptosAddress' description: The recipient of the coins. 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: AptosNativeTransferDetails 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 EvmDataRequest: oneOf: - $ref: '#/components/schemas/EvmDataRequestBase64' - $ref: '#/components/schemas/EvmDataRequestFullDetails' - $ref: '#/components/schemas/EvmDataRequestHex' discriminator: propertyName: type mapping: base64: '#/components/schemas/EvmDataRequestBase64' full_details: '#/components/schemas/EvmDataRequestFullDetails' hex: '#/components/schemas/EvmDataRequestHex' 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 PredictTonTransferRequest: properties: type: type: string const: ton_transfer title: Type description: An TON transfer transaction. A transaction of this kind is for transferring native currency or a jetton. 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 to: oneOf: - $ref: '#/components/schemas/TonRecipientHex' - $ref: '#/components/schemas/RecipientVaultId' - $ref: '#/components/schemas/RecipientContactId' discriminator: propertyName: type mapping: contact_id: '#/components/schemas/RecipientContactId' hex: '#/components/schemas/TonRecipientHex' vault_id: '#/components/schemas/RecipientVaultId' value: oneOf: - $ref: '#/components/schemas/CreateRequestExplicitAmount' - $ref: '#/components/schemas/CreateRequestMaxAmount' description: The number of units of currency to transfer. discriminator: propertyName: type mapping: max: '#/components/schemas/CreateRequestMaxAmount' value: '#/components/schemas/CreateRequestExplicitAmount' asset_identifier: $ref: '#/components/schemas/TonAssetIdentifierRequest' description: The TON asset identifier to transfer. comment: title: Comment description: A comment to attach to the transaction. type: string type: object required: - type - to - value - asset_identifier title: PredictTonTransferRequest SuiMessageVersion: type: string enum: - v1 title: SuiMessageVersion EvmBridgeKnownDestination: properties: type: type: string const: known_target_chain title: Type chain: $ref: '#/components/schemas/EnrichedEvmChain' description: The chain of the destination. address: $ref: '#/components/schemas/EnrichedEvmAddress' description: The address of the destination. type: object required: - type - chain - address title: EvmBridgeKnownDestination StellarTransferEffect: 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/EnrichedStellarAddress' description: The sender of the transfer. to: $ref: '#/components/schemas/EnrichedStellarAddress' description: The receiver of the transfer. is_pending: type: boolean title: Is Pending description: Whether this transfer is pending (e.g. claimable balance). default: false type: object required: - priced_asset - amount - from - to title: StellarTransferEffect PredictedTonMessage: 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 type: type: string const: ton_message title: Type description: TON message type. chain: $ref: '#/components/schemas/EnrichedTonChain' description: The details of the chain that this message is on. sender: $ref: '#/components/schemas/EnrichedTonAddress' description: The sender of the message. ton_message_type: $ref: '#/components/schemas/TonMessageType' description: The type of the TON message. message_to_display: type: string title: Message To Display description: User-friendly formatting of the message to be signed. type: object required: - matched_policies - risks - type - chain - sender - ton_message_type - message_to_display title: PredictedTonMessage 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 EvmReversion: properties: state: $ref: '#/components/schemas/EvmReversionState' description: 'The state of the reversion. Is one of the following:
  • `not_reverted`: No reversion, meaning, completed successfully.
  • `unknown_revert`: Fordefi does not know the reason for the reversion.
  • `contract_asserted`: The smart contract originally made an assertion that was later rejected and the transaction was halted.
  • `out_of_gas`: Gas is insufficient for the transaction.
  • `max_fee_less_than_block_base_fee`: The input parameter `max_fee_per_gas` (under custom gas details) is lower than the current base fee of the block, so the miner cannot include the transaction in the block.
  • `base_fee_exceeds_gas_limit`: The base fee that is always paid is set to 21000 gas units in Ethereum. If a gas limit that''s lower than that was set, the transaction is rejected.
  • `insufficient_funds_gas_and_value`: A transaction was sent for which there were insufficient funds.
  • `invalid_input`: A general error that might occur for many different reasons, usually because of issues on the Fordefi side and not on the client''s.
  • `transaction_rejected`: As for `invalid_input`.
  • `gas_limit_exceeds_block_limit`: There''s a limit on gas consumption for the whole block, which no single transaction can pass.
' reason: title: Reason description: The reason for the reversion (additional information). type: string type: object required: - state title: EvmReversion Export: properties: id: type: string format: uuid title: Id description: ID of the export. creation_time: type: string format: date-time title: Creation Time description: The date and time when the object was created. type: $ref: '#/components/schemas/ExportType' description: Type of the export. state: $ref: '#/components/schemas/ExportState' description: The current state of the export. organization_id: type: string format: uuid title: Organization Id description: The id of the organization. user_id: type: string title: User Id description: The id of the user. resource_type: $ref: '#/components/schemas/ExportedResource' description: The type of the resource being exported. successful_items_count: type: integer title: Successful Items Count description: The number of items that were successfully exported. failed_items_count: type: integer title: Failed Items Count description: The number of items that failed to be exported. total_items_count: type: integer title: Total Items Count description: The total number of items to be exported. request_id: type: string title: Request Id description: The request id of the export. download_url: type: string title: Download Url description: The download url of the export. expiration_time: type: string format: date-time title: Expiration Time description: The date and time when the object will expire. type: object required: - id - creation_time - type - state - organization_id - user_id - resource_type - successful_items_count - failed_items_count - total_items_count - request_id - download_url - expiration_time title: Export CantonPartyAllocationDetails: properties: type: type: string const: party_allocation title: Type description: A transaction that allocates an external party on a Canton node. type: object required: - type title: CantonPartyAllocationDetails 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 CantonReversionState: type: string enum: - not_reverted - unknown_revert - insufficient_funds_gas_and_value - unknown_recipient - already_pre_approved title: CantonReversionState CreateStarknetContractDeploymentRequest: properties: type: type: string const: starknet_contract_deployment title: Type description: A Starknet transaction to deploy a contract account. 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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party.
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' default: auto chain: $ref: '#/components/schemas/StarknetChainUniqueId' description: The chain that this transaction is on. Specify the chain name (for example, `starknet_mainnet`). type: object required: - type - chain title: CreateStarknetContractDeploymentRequest CosmosTransactionTypeDetails: oneOf: - $ref: '#/components/schemas/CosmosMultipleMessagesTransactionDetails' - $ref: '#/components/schemas/CosmosNativeTransferDetails' - $ref: '#/components/schemas/CosmosTokenTransferDetails' discriminator: propertyName: type mapping: messages: '#/components/schemas/CosmosMultipleMessagesTransactionDetails' native_transfer: '#/components/schemas/CosmosNativeTransferDetails' token_transfer: '#/components/schemas/CosmosTokenTransferDetails' EvmTransactionMethodArgument: properties: name: type: string title: Name description: The name of the argument. type: type: string title: Type description: The type of the argument. value: type: string title: Value description: The value of the argument. enriched_address: description: Details of the address if it is an address. $ref: '#/components/schemas/EnrichedEvmAddress' children: items: $ref: '#/components/schemas/EvmTransactionMethodArgument' type: array title: Children description: 'Decoded child arguments for complex types: array elements (e.g. bytes[], address[], uint256[3]) and tuple fields. Empty for scalar types.' type: object required: - name - type - value title: EvmTransactionMethodArgument 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 TransactionPredictEvmUnwrapNativeRequest: properties: fee_payer: description: The vault that pays the fee for this transaction. $ref: '#/components/schemas/TransactionFeePayerVault' type: type: string const: evm_unwrap_native title: Type description: An EVM unwrap native transaction is for unwrapping to the native token. 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 use_mev_protected_node: type: boolean title: Use Mev Protected Node description: Use a MEV protected node to send the transaction. By using a MEV protected node, you avoid maximal extractable value (MEV) attacks. default: false gas: description: The gas details of the transaction. The details depend on which option you choose:
  • Gas Priority or
  • Custom Gas Request
oneOf: - $ref: '#/components/schemas/GasPriorityRequest' - $ref: '#/components/schemas/CustomGasRequest' discriminator: propertyName: type mapping: custom: '#/components/schemas/CustomGasRequest' priority: '#/components/schemas/GasPriorityRequest' chain: $ref: '#/components/schemas/EvmChainRequest' description: The chain that this transaction is on. amount: oneOf: - $ref: '#/components/schemas/CreateRequestExplicitAmount' - $ref: '#/components/schemas/CreateRequestMaxAmount' description: 'The amount of wrapped token to unwrap. Specify one of the following:
  • `value`
  • `max`
' discriminator: propertyName: type mapping: max: '#/components/schemas/CreateRequestMaxAmount' value: '#/components/schemas/CreateRequestExplicitAmount' type: object required: - type - chain - amount title: TransactionPredictEvmUnwrapNativeRequest PredictStellarMessageRequest: 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: stellar_message title: Type description: Stellar message type. details: $ref: '#/components/schemas/StellarMessageRequest' type: object required: - vault_id - type - details title: PredictStellarMessageRequest 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 SuiUpgradeCommand: properties: type: type: string const: upgrade title: Type description: The type of the command. modules: items: type: string example: SGVsbG8= type: array title: Modules description: The modules to publish. dependencies: items: type: string type: array title: Dependencies description: The dependencies of the modules. package_id: type: string title: Package Id description: The package id of the module to upgrade. ticket: $ref: '#/components/schemas/SuiCommandArgument' description: The ticket with capability. type: object required: - type - modules - dependencies - package_id - ticket title: SuiUpgradeCommand description: Upgrade a Move module. EnrichedSuiAddress: 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: sui title: Type address: type: string maxLength: 66 minLength: 66 pattern: ^0[xX][a-fA-F0-9]+$ title: Address description: The Sui address represented in hex format. example: '0x3300c18e7b931bdfc73dccf3e2d043ad1c9d120c777fff5aeeb9956224e5247a' type: object required: - type - address title: EnrichedSuiAddress ExportState: type: string enum: - created - in_progress - aborted - ready - error title: ExportState 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 HyperliquidWithdrawAction: properties: action_type: type: string const: withdraw title: Action Type description: The Hyperliquid action type. destination: type: string title: Destination description: Recipient hex address. amount: type: string pattern: ^\d+(\.\d+)?$ title: Amount description: Withdrawal amount as a decimal string. example: '1000000000000000000' time: type: integer title: Time description: Unix timestamp in milliseconds used as a nonce by Hyperliquid. type: object required: - action_type - destination - amount - time title: HyperliquidWithdrawAction description: Withdraw funds from Hyperliquid L1 to an external address. StacksRawTransactionDetails: properties: type: type: string const: raw_transaction title: Type description: A transaction with contract call. contract_call_payload: $ref: '#/components/schemas/StacksContractCallPayload' description: The contract call payload. type: object required: - type - contract_call_payload title: StacksRawTransactionDetails SolanaChainUniqueId: type: string enum: - solana_mainnet - solana_devnet - solana_eclipse_mainnet - solana_fogo_mainnet - solana_fogo_testnet title: SolanaChainUniqueId SuiInput: oneOf: - $ref: '#/components/schemas/SuiPureInputArgument' - $ref: '#/components/schemas/SuiObjectInputArgument' - $ref: '#/components/schemas/SuiFundsWithdrawalArgument' discriminator: propertyName: type mapping: funds_withdrawal: '#/components/schemas/SuiFundsWithdrawalArgument' object: '#/components/schemas/SuiObjectInputArgument' pure: '#/components/schemas/SuiPureInputArgument' EvmBalanceChangeEffect: 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/EnrichedEvmAddress' description: The address affected by the balance change. type: object required: - priced_asset - diff - address title: EvmBalanceChangeEffect GenericCreateTransferRequest: properties: fee_payer: description: The vault that pays the fee for this transaction. $ref: '#/components/schemas/TransactionFeePayerVault' vault_id: type: string format: uuid title: Vault Id description: The ID of the vault to transfer from. to: oneOf: - $ref: '#/components/schemas/TransferRecipientAddress' - $ref: '#/components/schemas/RecipientVaultId' - $ref: '#/components/schemas/RecipientContactId' description: 'The recipient of the transfer: an address, vault ID, or contact ID.' discriminator: propertyName: type mapping: address: '#/components/schemas/TransferRecipientAddress' contact_id: '#/components/schemas/RecipientContactId' vault_id: '#/components/schemas/RecipientVaultId' amount: oneOf: - $ref: '#/components/schemas/CreateRequestExplicitAmount' - $ref: '#/components/schemas/CreateRequestMaxAmount' description: The number of units of currency to transfer. discriminator: propertyName: type mapping: max: '#/components/schemas/CreateRequestMaxAmount' value: '#/components/schemas/CreateRequestExplicitAmount' asset_identifier: oneOf: - $ref: '#/components/schemas/AptosAssetIdentifierRequest' - $ref: '#/components/schemas/ArchAssetIdentifierRequest' - $ref: '#/components/schemas/CantonAssetIdentifierRequest' - $ref: '#/components/schemas/CosmosAssetIdentifierRequest' - $ref: '#/components/schemas/EvmAssetIdentifierRequest' - $ref: '#/components/schemas/ExchangeAssetIdentifierRequest' - $ref: '#/components/schemas/RippleAssetIdentifierRequest' - $ref: '#/components/schemas/SolanaAssetIdentifierRequest' - $ref: '#/components/schemas/StacksAssetIdentifierRequest' - $ref: '#/components/schemas/StellarAssetIdentifierRequest' - $ref: '#/components/schemas/StarknetAssetIdentifierRequest' - $ref: '#/components/schemas/SuiAssetIdentifierRequest' - $ref: '#/components/schemas/TonAssetIdentifierRequest' - $ref: '#/components/schemas/TronAssetIdentifierRequest' - $ref: '#/components/schemas/UtxoAssetIdentifierRequest' description: The asset to be transferred. discriminator: propertyName: type mapping: aptos: '#/components/schemas/AptosAssetIdentifierRequest' arch: '#/components/schemas/ArchAssetIdentifierRequest' canton: '#/components/schemas/CantonAssetIdentifierRequest' cosmos: '#/components/schemas/CosmosAssetIdentifierRequest' evm: '#/components/schemas/EvmAssetIdentifierRequest' exchange: '#/components/schemas/ExchangeAssetIdentifierRequest' ripple: '#/components/schemas/RippleAssetIdentifierRequest' solana: '#/components/schemas/SolanaAssetIdentifierRequest' stacks: '#/components/schemas/StacksAssetIdentifierRequest' starknet: '#/components/schemas/StarknetAssetIdentifierRequest' stellar: '#/components/schemas/StellarAssetIdentifierRequest' sui: '#/components/schemas/SuiAssetIdentifierRequest' ton: '#/components/schemas/TonAssetIdentifierRequest' tron: '#/components/schemas/TronAssetIdentifierRequest' utxo: '#/components/schemas/UtxoAssetIdentifierRequest' memo: title: Memo description: 'The memo of the transaction. Supported on chains: Canton, Cosmos, Stacks, Stellar, Utxo, Tron, Ton' type: string fee_priority: $ref: '#/components/schemas/FeePriorityLevelRequest' description: The fee priority of the transaction. default: medium note: title: Note description: An optional transaction note. type: string type: object required: - vault_id - to - amount - asset_identifier title: GenericCreateTransferRequest ExchangeTransferExternalRecipientTypeContact: properties: type: type: string const: contact title: Type description: Transfer to an address book contact. contact_id: type: string format: uuid title: Contact Id description: The ID of the address book contact. type: object required: - type - contact_id title: ExchangeTransferExternalRecipientTypeContact 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 ExchangeFee: properties: priced_asset: $ref: '#/components/schemas/PricedAsset' description: The asset information. fee: type: string pattern: ^\d+$ title: Fee description: The exchange's fee. example: '1000000000000000000' type: object required: - priced_asset - fee title: ExchangeFee ChainSource: type: string enum: - default - custom title: ChainSource TronFee: properties: trx_fee: type: string pattern: ^\d+$ title: Trx Fee description: The total TRX fee payed for the transaction. example: '1000000000000000000' energy_fee: type: string pattern: ^\d+$ title: Energy Fee description: The total energy fee payed for the transaction. example: '1000000000000000000' bandwidth_fee: type: string pattern: ^\d+$ title: Bandwidth Fee description: The total bandwidth fee payed for the transaction. 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: - trx_fee - energy_fee - bandwidth_fee - priced_asset title: TronFee StacksPostCondition: oneOf: - $ref: '#/components/schemas/KnownAssetStacksPostCondition' - $ref: '#/components/schemas/UnknownAssetStacksPostCondition' discriminator: propertyName: type mapping: known_asset: '#/components/schemas/KnownAssetStacksPostCondition' unknown_asset: '#/components/schemas/UnknownAssetStacksPostCondition' RecipientVaultId: properties: type: type: string const: vault_id title: Type description: The type of the recipient. vault_id: type: string format: uuid title: Vault Id description: The id of the recipient vault. type: object required: - type - vault_id title: RecipientVaultId 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 EvmDataRequestBase64: properties: type: type: string const: base64 title: Type description: Base64 raw format. raw_data: type: string title: Raw Data description: The raw data of the transaction, as a serialized method-call with its arguments, in Base64 format. See [data field format for transactions on Ethereum](https://ethereum.org/en/developers/docs/transactions/#the-data-field). example: SGVsbG8= type: object required: - type - raw_data title: EvmDataRequestBase64 StarknetEffects: properties: balance_changes: items: $ref: '#/components/schemas/StarknetBalanceChangeEffect' type: array title: Balance Changes transfers: items: $ref: '#/components/schemas/StarknetTransferEffect' type: array title: Transfers type: object required: - balance_changes - transfers title: StarknetEffects TronRecipientHex: properties: type: type: string const: hex title: Type description: The type of the recipient. address: type: string maxLength: 34 minLength: 34 pattern: ^T[a-km-zA-HJ-NP-Z1-9]+$ title: Address description: The address of the recipient. example: TJCnKsPa7y5okkXvQAidZBzqx3QyQ6sxMW type: object required: - type - address title: TronRecipientHex CreateStarknetMessageWithWaitRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: starknet_message title: Type description: Starknet message type. details: $ref: '#/components/schemas/StarknetTypedMessageRequest' timeout: type: integer maximum: 50.0 minimum: 1.0 title: Timeout description: The maximum time in seconds to wait for the transaction to reach the specified state. For states that require more than 50 seconds, using webhooks or polling is preferable. default: 10 wait_for_state: $ref: '#/components/schemas/NonPushableTransactionState' description: The state to wait for. type: object required: - vault_id - type - details - wait_for_state title: CreateStarknetMessageWithWaitRequest PredictStacksTransactionRequest: 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: stacks_transaction title: Type description: Stacks transaction type. details: oneOf: - $ref: '#/components/schemas/CreateStacksTransferRequest' - $ref: '#/components/schemas/CreateStacksTransactionSerializedRequest' discriminator: propertyName: type mapping: stacks_serialized_transaction: '#/components/schemas/CreateStacksTransactionSerializedRequest' stacks_transfer: '#/components/schemas/CreateStacksTransferRequest' type: object required: - vault_id - type - details title: PredictStacksTransactionRequest CreateStacksTransactionWithWaitRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: stacks_transaction title: Type description: Stacks transaction type. details: oneOf: - $ref: '#/components/schemas/CreateStacksTransferRequest' - $ref: '#/components/schemas/CreateStacksTransactionSerializedRequest' discriminator: propertyName: type mapping: stacks_serialized_transaction: '#/components/schemas/CreateStacksTransactionSerializedRequest' stacks_transfer: '#/components/schemas/CreateStacksTransferRequest' timeout: type: integer maximum: 50.0 minimum: 1.0 title: Timeout description: The maximum time in seconds to wait for the transaction to reach the specified state. For states that require more than 50 seconds, using webhooks or polling is preferable. default: 10 wait_for_state: $ref: '#/components/schemas/PushableTransactionState' description: The state to wait for. type: object required: - vault_id - type - details - wait_for_state title: CreateStacksTransactionWithWaitRequest 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. TronUnstakeDetails: properties: type: type: string const: unstake title: Type description: A TRON unstake transaction. sender: $ref: '#/components/schemas/EnrichedTronAddress' description: The sender of the transaction. recipient: description: The recipient of the transaction. $ref: '#/components/schemas/EnrichedTronAddress' decoded_tx_bytes: title: Decoded Tx Bytes description: The json representation of the transaction's data type: string type: object required: - type - sender title: TronUnstakeDetails TransactionPredictAptosMessageRequest: 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: aptos_message title: Type description: Aptos message type. details: $ref: '#/components/schemas/AptosPersonalMessageRequest' type: object required: - vault_id - type - details title: TransactionPredictAptosMessageRequest Erc20: properties: address: $ref: '#/components/schemas/EvmAddress' description: The token address name: type: string title: Name description: The token name symbol: type: string title: Symbol description: The token symbol or ticker type: type: string const: erc20 title: Type description: The type of the token 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: - address - name - symbol - type - decimals title: Erc20 description: An ERC-20 token. StacksTransactionResult: properties: reversion: $ref: '#/components/schemas/StacksReversion' description: Details whether the transaction was reverted or not. fee: $ref: '#/components/schemas/StacksFee' description: The fees of the transaction. effects: $ref: '#/components/schemas/StacksEffects' description: The effects of the transaction. type: object required: - reversion - fee - effects title: StacksTransactionResult ArchChainUniqueId: type: string enum: - arch_mainnet - arch_testnet title: ArchChainUniqueId 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 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 FeePriorityLevelRequest: type: string enum: - low - medium - high title: FeePriorityLevelRequest CreateStacksTransactionRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: stacks_transaction title: Type description: Stacks transaction type. details: oneOf: - $ref: '#/components/schemas/CreateStacksTransferRequest' - $ref: '#/components/schemas/CreateStacksTransactionSerializedRequest' discriminator: propertyName: type mapping: stacks_serialized_transaction: '#/components/schemas/CreateStacksTransactionSerializedRequest' stacks_transfer: '#/components/schemas/CreateStacksTransferRequest' type: object required: - vault_id - type - details title: CreateStacksTransactionRequest ApproveTransactionErrorType: type: string enum: - invalid_transaction_state - non_managed_transaction - transactions_already_approved title: ApproveTransactionErrorType StellarRecipientAddress: properties: type: type: string const: address title: Type description: The type of the recipient. address: type: string maxLength: 56 minLength: 56 pattern: ^[GC][A-Z2-7]{55}$ title: Address description: The Stellar account address of the recipient. example: GBRPYHIL2CI3FNQ4BXLFMNDLFJHO7W3B6FSHLTAVM2A4P45SHO4ZB7I2 type: object required: - type - address title: StellarRecipientAddress 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 EvmDynamicSuggestedFees: properties: type: type: string const: dynamic title: Type low: $ref: '#/components/schemas/DynamicGasFields' description: The low suggested gas fees. medium: $ref: '#/components/schemas/DynamicGasFields' description: The medium suggested gas fees. high: $ref: '#/components/schemas/DynamicGasFields' description: The high suggested gas fees. type: object required: - type - low - medium - high title: EvmDynamicSuggestedFees 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 CantonReversion: properties: state: $ref: '#/components/schemas/CantonReversionState' description: 'The state of the reversion. Is one of the following:
  • `not_reverted`: No reversion, meaning, completed successfully.
  • `unknown_revert`: Fordefi does not know the reason for the reversion.
  • `insufficient_funds_gas_and_value`: The transaction was reverted due to insufficient funds.
  • `already_pre_approved`: Transfers of this asset are already pre-approved for this vault.
  • `unknown_recipient`: The recipient party is not known on the network.
' reason: title: Reason description: The reason for the reversion (additional information). type: string type: object required: - state title: CantonReversion SuiObjectInputArgument: properties: type: type: string const: object title: Type description: The type of the input argument. details: oneOf: - $ref: '#/components/schemas/SuiImmOrOwnedObjectRefInputArgument' - $ref: '#/components/schemas/SuiReceivingObjectRefInputArgument' - $ref: '#/components/schemas/SuiSharedObjectRefInputArgument' - $ref: '#/components/schemas/SuiPartialObjectRefInputArgument' discriminator: propertyName: type mapping: imm_or_owned: '#/components/schemas/SuiImmOrOwnedObjectRefInputArgument' partial: '#/components/schemas/SuiPartialObjectRefInputArgument' receiving: '#/components/schemas/SuiReceivingObjectRefInputArgument' shared: '#/components/schemas/SuiSharedObjectRefInputArgument' type: object required: - type - details title: SuiObjectInputArgument EcdsaSignature: properties: r: type: string pattern: ^0[xX][a-fA-F0-9]+$ title: R description: The x-coordinate of the point on the curve, represented in hex format. s: type: string pattern: ^0[xX][a-fA-F0-9]+$ title: S description: The scalar, known as the "signature proof", represented in hex format. v: type: integer title: V description: The recovery id, only relevant for Ethereum signtures. type: object required: - r - s - v title: EcdsaSignature EvmContractMetadata: 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. oneOf: - $ref: '#/components/schemas/Erc20' - $ref: '#/components/schemas/Erc721' - $ref: '#/components/schemas/Erc1155' discriminator: propertyName: type mapping: erc1155: '#/components/schemas/Erc1155' erc20: '#/components/schemas/Erc20' erc721: '#/components/schemas/Erc721' type: object required: - is_verified title: EvmContractMetadata ReleaseEvmTransactionRequest: properties: release_type: $ref: '#/components/schemas/ReleaseType' description: The type of the release. signer_type: $ref: '#/components/schemas/SignerType' description: Set who should sign the transaction. default: initiator note: title: Note description: An optional transaction note. type: string type: type: string const: evm_transaction title: Type description: The type of the transaction. fail_on_prediction_failure: type: boolean title: Fail On Prediction Failure description: '`True` if transaction creation should fail in case prediction 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 gas: description: 'Using the Custom Gas Request option, you specify `gas_limit`, as well as the following gas details:
  • If you choose `legacy` (meaning a chain where gas price can be specified exactly), you must specify only the `price` of a gas unit.
  • If you choose `dynamic` (meaning a chain where gas price can be determined dynamically), you must specify two additional values:
    • `max_priority_fee_per_gas`, the maximum tip amount for mining your transaction
    • `max_fee_per_gas`, the maximum amount you are willing to pay for the fee (ultimately, either you''ll pay this amount, or less, depending on the network base fee).

Note that the Legacy gas price setting is allowed on dynamic (EIP-1559) networks as well.
You can get information on gas fees for different chains by examining the response to a call to [List Chains](https://documentation.fordefi.com/redoc/#operation/list_chains_api_v1_blockchains_get). More information is provided in [EVM chains and their fee mechanisms](https://docs.fordefi.com/user-guide/manage-transactions/understand-transaction-fees/evm-chains#evm-chains-and-their-fee-mechanisms). ' oneOf: - $ref: '#/components/schemas/CustomGasRequest' discriminator: propertyName: type mapping: custom: '#/components/schemas/CustomGasRequest' type: object required: - release_type - type title: ReleaseEvmTransactionRequest AptosSuggestedFees: properties: type: type: string const: aptos title: Type description: The type of the chain. low: type: string pattern: ^\d+$ title: Low description: The low suggested fee price. example: '1000000000000000000' medium: type: string pattern: ^\d+$ title: Medium description: The medium suggested fee price. example: '1000000000000000000' high: type: string pattern: ^\d+$ title: High description: The high suggested fee price example: '1000000000000000000' chain_unique_id: $ref: '#/components/schemas/AptosChainUniqueId' description: The APTOS chain unique id. type: object required: - type - low - medium - high - chain_unique_id title: AptosSuggestedFees 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 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 EnrichedAptosAddress: 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: aptos title: Type address: type: string maxLength: 66 minLength: 66 pattern: ^0[xX][a-fA-F0-9]+$ title: Address description: The Aptos address represented in hex format. example: '0x3300c18e7b931bdfc73dccf3e2d043ad1c9d120c777fff5aeeb9956224e5247a' type: object required: - type - address title: EnrichedAptosAddress EvmAddress: properties: type: type: string const: evm title: Type chain: $ref: '#/components/schemas/EvmChain' 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: - type - chain - hex_repr title: EvmAddress description: Address represents an EVM blockchain address. AminoSignDoc: properties: format: type: string const: amino title: Format sign_doc: $ref: '#/components/schemas/StdSignDoc' description: Sign doc for amino format. type: object required: - format - sign_doc title: AminoSignDoc CreateSolanaMessageRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: solana_message title: Type description: Solana message type. details: $ref: '#/components/schemas/SolanaPersonalMessageRequest' type: object required: - vault_id - type - details title: CreateSolanaMessageRequest ArchReversionState: type: string enum: - not_reverted - unknown_revert - contract_asserted - insufficient_funds_gas_and_value - insufficient_funds_for_rent title: ArchReversionState StarknetMessageType: type: string enum: - typed_message_type title: StarknetMessageType SolanaReversionState: type: string enum: - not_reverted - unknown_revert - contract_asserted - insufficient_funds_gas_and_value - insufficient_funds_for_rent title: SolanaReversionState CreateBlackBoxSignatureRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: black_box_signature title: Type description: Black Box signature type. details: oneOf: - $ref: '#/components/schemas/BinaryHashPayload' - $ref: '#/components/schemas/IntegerHashPayload' discriminator: propertyName: format mapping: hash_binary: '#/components/schemas/BinaryHashPayload' hash_integer: '#/components/schemas/IntegerHashPayload' type: object required: - vault_id - type - details title: CreateBlackBoxSignatureRequest SpotSwapTypedMessageEvmMessage: properties: provider_info: $ref: '#/components/schemas/ProviderInfo' description: The swap provider. provider_source: title: Provider Source description: The source of the swap provider. type: string slippage_bps: type: string pattern: ^\d+(\.\d+)?$ title: Slippage Bps description: Slippage tolerance in basis points. example: '1000000000000000000' price_impact_pct: title: Price Impact Pct description: Price impact percentage. type: string pattern: ^\d+(\.\d+)?$ example: '1000000000000000000' rate: type: string pattern: ^\d+(\.\d+)?$ title: Rate description: The exchange rate of the swap. example: '1000000000000000000' input_asset: $ref: '#/components/schemas/AssetInfo' description: Information about the input asset of the swap. output_asset: $ref: '#/components/schemas/AssetInfo' description: Information about the output asset of the swap. wrapped_native_asset: description: Information about the wrapped native asset of the swap. $ref: '#/components/schemas/AssetInfo' recipient: $ref: '#/components/schemas/EnrichedEvmAddress' description: The final recipient of the output asset. quote_created_at: type: string format: date-time title: Quote Created At description: The timestamp when the quote was created. quote_expiration_time: type: string format: date-time title: Quote Expiration Time description: The timestamp when the quote will expire. estimated_duration_milliseconds: title: Estimated Duration Milliseconds description: The estimated duration of the swap in milliseconds. type: string pattern: ^0*[1-9]\d*$ example: '1000000000000000000' provider_fee: description: The provider fee of the swap. $ref: '#/components/schemas/ProviderFee' failure_reason: title: Failure Reason description: Reason for failure, if any, from the provider. type: string provider_explorer_url: title: Provider Explorer Url description: URL to the swap provider's dedicated block explorer for tracking this swap execution status. type: string maxLength: 2083 minLength: 1 format: uri bridge_state: description: The state of the bridge transaction. $ref: '#/components/schemas/BridgeState' bridge_effects: description: The bridge effects of the transaction. $ref: '#/components/schemas/EvmBridgesEffect' domain: $ref: '#/components/schemas/EvmMessageDomainData' description: The domain data. primary_type: type: string title: Primary Type description: Used to identify the primary type of the message. enriched_addresses: additionalProperties: $ref: '#/components/schemas/EnrichedEvmAddress' type: object title: Enriched Addresses description: 'Addresses that are related to this message, enriched with metadata.Please NOTE: the dictionary keys are EIP-55 checksummed addresses' default: {} type: type: string const: spot_swap title: Type description: The typed message type. permit2_details: description: Permit2 details, if applicable (e.g., for UniswapX flows needing a permit). $ref: '#/components/schemas/Permit2TypedMessageEvmMessage' is_gasless: type: boolean title: Is Gasless description: Whether the swap is gasless. type: object required: - provider_info - slippage_bps - rate - input_asset - output_asset - recipient - quote_created_at - quote_expiration_time - domain - primary_type - type - is_gasless title: SpotSwapTypedMessageEvmMessage CreateEvmMessageWithWaitRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: evm_message title: Type description: EVM message type. details: oneOf: - $ref: '#/components/schemas/CreateEvmTypedMessageRequest' - $ref: '#/components/schemas/CreateEvmTypedV1MessageRequest' - $ref: '#/components/schemas/CreateEvmPersonalMessageRequest' discriminator: propertyName: type mapping: personal_message_type: '#/components/schemas/CreateEvmPersonalMessageRequest' typed_message_type: '#/components/schemas/CreateEvmTypedMessageRequest' typed_message_type_v1: '#/components/schemas/CreateEvmTypedV1MessageRequest' timeout: type: integer maximum: 50.0 minimum: 1.0 title: Timeout description: The maximum time in seconds to wait for the transaction to reach the specified state. For states that require more than 50 seconds, using webhooks or polling is preferable. default: 10 wait_for_state: $ref: '#/components/schemas/NonPushableTransactionState' description: The state to wait for. type: object required: - vault_id - type - details - wait_for_state title: CreateEvmMessageWithWaitRequest TransactionDirection: type: string enum: - outgoing - incoming title: TransactionDirection BlackBoxSignatureEcdsaSecp256k1Details: properties: type: type: string const: ecdsa_secp256k1 title: Type description: ECDSA over the secp256k1 curve signature. signature: description: The ECDSA signature. $ref: '#/components/schemas/EcdsaSignature' hash_binary: type: string minLength: 1 title: Hash Binary description: The payload to sign, encoded in base64 format. example: SGVsbG8= type: object required: - type - hash_binary title: BlackBoxSignatureEcdsaSecp256k1Details TronUndelegateDetails: properties: type: type: string const: undelegate title: Type description: A TRON undelegate transaction. sender: $ref: '#/components/schemas/EnrichedTronAddress' description: The sender of the transaction. recipient: description: The recipient of the transaction. $ref: '#/components/schemas/EnrichedTronAddress' decoded_tx_bytes: title: Decoded Tx Bytes description: The json representation of the transaction's data type: string type: object required: - type - sender title: TronUndelegateDetails 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 CosmosAssetIdentifierRequest: 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' type: object required: - type - details title: CosmosAssetIdentifierRequest EnrichedTronAddress: 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: tron title: Type address: type: string maxLength: 34 minLength: 34 pattern: ^T[a-km-zA-HJ-NP-Z1-9]+$ title: Address description: The TRON address represented in base58 format. example: TJCnKsPa7y5okkXvQAidZBzqx3QyQ6sxMW type: object required: - type - address title: EnrichedTronAddress 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 TransactionRiskSeverity: type: string enum: - low - medium - high title: TransactionRiskSeverity 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 UtxoMessageType: type: string enum: - ecdsa - bip322_simple title: UtxoMessageType CreateUtxoMessageRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: utxo_message title: Type description: Utxo message type. details: $ref: '#/components/schemas/UtxoMessageDetails' description: The details of the transaction type: object required: - vault_id - type - details title: CreateUtxoMessageRequest 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' CosmosBechAddress: properties: type: type: string const: cosmos title: Type chain: $ref: '#/components/schemas/CosmosChainUniqueId' description: The Cosmos chain. address: type: string title: Address description: The address as bech32. example: cosmos1tdk0g5d4ry9lq0erejttyufqcvwpqdj6tdql38 hex_repr: title: Hex Repr description: The hex representation of the address. type: string minLength: 40 pattern: ^[a-fA-F0-9]+$ example: DBCE78FD2D006A3BAC2C548D93271ABA3D63F01E key_type: $ref: '#/components/schemas/CosmosKeyType' description: The type of the key that this address is derived from. default: secp256k1 type: object required: - type - chain - address title: CosmosBechAddress 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 CreateAptosSerializedRawTransactionRequest: properties: type: type: string const: aptos_serialized_entry_point_payload title: Type description: An Aptos transaction with serialized entry point payload. 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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party.
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' default: auto gas_config: description: The gas configuration for the transaction. $ref: '#/components/schemas/AptosGasConfigRequest' with_external_fee_payer: type: boolean title: With External Fee Payer description: If true, the transaction's Authenticator will be configured to support an external fee payer. After Fordefi signs the transaction, the client is responsible for forwarding it to the designated fee payer for final signing and broadcasting. default: false chain: $ref: '#/components/schemas/AptosChainUniqueId' description: The chain that this transaction is on. Specify the chain name (for example, `aptos_mainnet`). serialized_transaction_payload: type: string title: Serialized Transaction Payload description: The serialized transaction payload in base64 format. example: SGVsbG8= type: object required: - type - chain - serialized_transaction_payload title: CreateAptosSerializedRawTransactionRequest 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 EvmMessage: 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. state: $ref: '#/components/schemas/NonPushableTransactionState' description: The state of the message. state_changes: items: $ref: '#/components/schemas/NonPushableTransactionStateChange' type: array title: State Changes description: The state changes of the message. type: type: string const: evm_message title: Type description: EVM message type. evm_message_type: $ref: '#/components/schemas/EvmMessageType' description: The type of the EVM message. raw_data: type: string title: Raw Data description: The raw data of the message. typed_data: description: The typed data of the message. oneOf: - $ref: '#/components/schemas/UnknownTypedMessageEvmMessage' - $ref: '#/components/schemas/PermitTypedMessageEvmMessage' - $ref: '#/components/schemas/Permit2TypedMessageEvmMessage' - $ref: '#/components/schemas/SpotSwapTypedMessageEvmMessage' - $ref: '#/components/schemas/SafeTypedMessageEvmMessage' - $ref: '#/components/schemas/HyperliquidTypedMessageEvmMessage' discriminator: propertyName: type mapping: hyperliquid: '#/components/schemas/HyperliquidTypedMessageEvmMessage' permit: '#/components/schemas/PermitTypedMessageEvmMessage' permit2: '#/components/schemas/Permit2TypedMessageEvmMessage' safe: '#/components/schemas/SafeTypedMessageEvmMessage' spot_swap: '#/components/schemas/SpotSwapTypedMessageEvmMessage' unknown: '#/components/schemas/UnknownTypedMessageEvmMessage' vault: $ref: '#/components/schemas/VaultRef' description: The vault creating the message. chain: $ref: '#/components/schemas/EnrichedEvmChain' description: The details of the chain that this message is on. sender: $ref: '#/components/schemas/EnrichedEvmAddress' description: The sender of the message. expected_result: description: Predicted result of the message execution. Only available for intents that Fordefi knows how to simulate, like ERC20 allowances and swaps created in the Fordefi app. $ref: '#/components/schemas/EvmMessageResult' type: object required: - id - created_at - modified_at - signatures - direction - interacted_vaults - organization_id - state - state_changes - type - evm_message_type - raw_data - vault - chain - sender title: EvmMessage StellarFee: properties: fee_charged: type: string pattern: ^\d+$ title: Fee Charged description: The fee charged for the transaction (in stroops). 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: - fee_charged - priced_asset title: StellarFee 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 UnknownAssetStacksPostCondition: properties: address: $ref: '#/components/schemas/EnrichedStacksAddress' description: The address this post condition applies to. condition_code: $ref: '#/components/schemas/StacksPostConditionComparator' description: The condition code of the post condition. amount: type: string pattern: ^\d+$ title: Amount description: The amount of the asset this post condition applies to. example: '1000000000000000000' type: type: string const: unknown_asset title: Type description: The type of the post condition. asset_name: type: string title: Asset Name description: The asset name this post condition applies to type: object required: - address - condition_code - amount - type - asset_name title: UnknownAssetStacksPostCondition FeePriorityLevel: type: string enum: - custom - low - medium - high title: FeePriorityLevel 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 CreateStarknetTransactionWithWaitRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: starknet_transaction title: Type description: Starknet transaction type. details: oneOf: - $ref: '#/components/schemas/CreateStarknetTransferRequest' - $ref: '#/components/schemas/CreateStarknetTransactionInvokeRequest' - $ref: '#/components/schemas/CreateStarknetContractDeploymentRequest' discriminator: propertyName: type mapping: starknet_contract_call: '#/components/schemas/CreateStarknetTransactionInvokeRequest' starknet_contract_deployment: '#/components/schemas/CreateStarknetContractDeploymentRequest' starknet_transfer: '#/components/schemas/CreateStarknetTransferRequest' timeout: type: integer maximum: 50.0 minimum: 1.0 title: Timeout description: The maximum time in seconds to wait for the transaction to reach the specified state. For states that require more than 50 seconds, using webhooks or polling is preferable. default: 10 wait_for_state: $ref: '#/components/schemas/PushableTransactionState' description: The state to wait for. type: object required: - vault_id - type - details - wait_for_state title: CreateStarknetTransactionWithWaitRequest CosmosNativeTransferDetails: properties: transaction_data: $ref: '#/components/schemas/MessagesList' description: List of transaction's messages. sender: $ref: '#/components/schemas/EnrichedCosmosBechAddress' description: The sender. recipient: $ref: '#/components/schemas/EnrichedCosmosBechAddress' description: The recipient. is_internal: title: Is Internal description: Is this transfer an internal transfer between two vaults. None if the transaction is incoming. type: boolean type: type: string const: native_transfer title: Type description: A transaction involving a native transfer from one address to another. type: object required: - transaction_data - sender - recipient - type title: CosmosNativeTransferDetails TronTransferEffect: 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/EnrichedTronAddress' description: The sender of the transfer. to: $ref: '#/components/schemas/EnrichedTronAddress' description: The receiver of the transfer. type: object required: - priced_asset - amount - from - to title: TronTransferEffect ProviderId: type: string enum: - oneinch - cowswap - uniswap - jupiter - kyberswap - layerzero - paraswap - bebop - cctp_standard - cctp_fast title: ProviderId AptosGasPrice: properties: priority_level: $ref: '#/components/schemas/FeePriorityLevel' description: The priority level of the gas price. price: type: string pattern: ^0*[1-9]\d*$ title: Price description: The price per gas unit (in Octa). example: '1000000000000000000' fiat_price: description: The price of the asset used to pay the gas. $ref: '#/components/schemas/Price' type: object required: - priority_level - price title: AptosGasPrice AminoRequestData: properties: format: type: string const: amino title: Format messages: items: $ref: '#/components/schemas/AminoMessage' type: array title: Messages description: List of messages in amino format. memo: title: Memo description: Transaction memo. default: '' type: string std_fee: description: Fee info for this transaction. Currently, only payment in the native currency is supported. $ref: '#/components/schemas/StdFeeRequest' timeout_height: type: integer minimum: 0.0 title: Timeout Height description: Timeout height for this transaction. default: 0 type: object required: - format - messages title: AminoRequestData AmlScanStatus: type: string enum: - error - timeout - skipped - completed - unsupported_chain - pending title: AmlScanStatus RippleAddressRequest: properties: chain: $ref: '#/components/schemas/RippleChainUniqueId' description: The chain details this address is of. base58_repr: type: string maxLength: 34 minLength: 25 pattern: ^r[1-9A-HJ-NP-Za-km-z]{24,33}$ title: Base58 Repr description: The classic (base58check) representation of the address. example: rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh type: object required: - chain - base58_repr title: RippleAddressRequest description: Address represents a Ripple (XRP Ledger) blockchain address. 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: An API Signer - a service that you run on your own network or cloud environment.
  • `multiple_signers`: An API Signer or a person that is part of the list of allowed signers.
  • `end_user`: An end user - a signature by a mobile device with a third-party app that uses Fordefi''s Mobile SDK.
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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party.
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' $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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' 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 StarknetNativeTransferDetails: properties: type: type: string const: native_transfer title: Type description: 'A transaction involving the transfer of Starknet coin from one address to another. ' sender: $ref: '#/components/schemas/EnrichedStarknetAddress' description: The sender of the assets. recipient: $ref: '#/components/schemas/EnrichedStarknetAddress' description: The recipient of the assets. 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: StarknetNativeTransferDetails Erc1155: properties: address: $ref: '#/components/schemas/EvmAddress' description: The token address name: type: string title: Name description: The token name symbol: type: string title: Symbol description: The token symbol or ticker type: type: string const: erc1155 title: Type description: The type of the token type: object required: - address - name - symbol - type title: Erc1155 StellarTrustlineChangeEffect: properties: priced_asset: $ref: '#/components/schemas/PricedAsset' description: The asset information. address: $ref: '#/components/schemas/EnrichedStellarAddress' description: The address that established or updated the trustline. limit: type: string pattern: ^-?\d+$ title: Limit description: The trustline limit. example: '1000000000000000000' type: object required: - priced_asset - address - limit title: StellarTrustlineChangeEffect CreateTransactionRequest: oneOf: - $ref: '#/components/schemas/CreateAptosMessageRequest' - $ref: '#/components/schemas/CreateAptosTransactionRequest' - $ref: '#/components/schemas/CreateArchTransactionRequest' - $ref: '#/components/schemas/CreateBlackBoxSignatureRequest' - $ref: '#/components/schemas/CreateCantonTransactionRequest' - $ref: '#/components/schemas/CreateCosmosTransactionRequest' - $ref: '#/components/schemas/CreateCosmosMessageRequest' - $ref: '#/components/schemas/CreateEvmMessageRequest' - $ref: '#/components/schemas/CreateEvmTransactionRequest' - $ref: '#/components/schemas/CreateExchangeTransactionRequest' - $ref: '#/components/schemas/CreateSolanaMessageRequest' - $ref: '#/components/schemas/CreateSolanaTransactionRequest' - $ref: '#/components/schemas/CreateStacksTransactionRequest' - $ref: '#/components/schemas/CreateStarknetMessageRequest' - $ref: '#/components/schemas/CreateStarknetTransactionRequest' - $ref: '#/components/schemas/CreateStellarMessageRequest' - $ref: '#/components/schemas/CreateStellarTransactionRequest' - $ref: '#/components/schemas/CreateSuiMessageRequest' - $ref: '#/components/schemas/CreateSuiTransactionRequest' - $ref: '#/components/schemas/CreateTonMessageRequest' - $ref: '#/components/schemas/CreateTonTransactionRequest' - $ref: '#/components/schemas/CreateTronMessageRequest' - $ref: '#/components/schemas/CreateTronTransactionRequest' - $ref: '#/components/schemas/CreateUtxoMessageRequest' - $ref: '#/components/schemas/CreateUtxoTransactionRequest' discriminator: propertyName: type mapping: aptos_message: '#/components/schemas/CreateAptosMessageRequest' aptos_transaction: '#/components/schemas/CreateAptosTransactionRequest' arch_transaction: '#/components/schemas/CreateArchTransactionRequest' black_box_signature: '#/components/schemas/CreateBlackBoxSignatureRequest' canton_transaction: '#/components/schemas/CreateCantonTransactionRequest' cosmos_message: '#/components/schemas/CreateCosmosMessageRequest' cosmos_transaction: '#/components/schemas/CreateCosmosTransactionRequest' evm_message: '#/components/schemas/CreateEvmMessageRequest' evm_transaction: '#/components/schemas/CreateEvmTransactionRequest' exchange_transaction: '#/components/schemas/CreateExchangeTransactionRequest' solana_message: '#/components/schemas/CreateSolanaMessageRequest' solana_transaction: '#/components/schemas/CreateSolanaTransactionRequest' stacks_transaction: '#/components/schemas/CreateStacksTransactionRequest' starknet_message: '#/components/schemas/CreateStarknetMessageRequest' starknet_transaction: '#/components/schemas/CreateStarknetTransactionRequest' stellar_message: '#/components/schemas/CreateStellarMessageRequest' stellar_transaction: '#/components/schemas/CreateStellarTransactionRequest' sui_message: '#/components/schemas/CreateSuiMessageRequest' sui_transaction: '#/components/schemas/CreateSuiTransactionRequest' ton_message: '#/components/schemas/CreateTonMessageRequest' ton_transaction: '#/components/schemas/CreateTonTransactionRequest' tron_message: '#/components/schemas/CreateTronMessageRequest' tron_transaction: '#/components/schemas/CreateTronTransactionRequest' utxo_message: '#/components/schemas/CreateUtxoMessageRequest' utxo_transaction: '#/components/schemas/CreateUtxoTransactionRequest' 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 TonMessage: 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. state: $ref: '#/components/schemas/NonPushableTransactionState' description: The state of the message. state_changes: items: $ref: '#/components/schemas/NonPushableTransactionStateChange' type: array title: State Changes description: The state changes of the message. type: type: string const: ton_message title: Type description: TON message type. ton_message_type: $ref: '#/components/schemas/TonMessageType' description: The type of the TON message. raw_payload_to_sign: type: string title: Raw Payload To Sign description: The payload that was requested to be signed, encoded in base64. example: SGVsbG8= string_payload_to_sign: type: string title: String Payload To Sign description: The payload that was requested to be signed. chain: $ref: '#/components/schemas/EnrichedTonChain' description: The details of the chain that this message is on. sender: $ref: '#/components/schemas/EnrichedTonAddress' description: The sender of the message. domain: type: string title: Domain description: The domain of the daap. domain_bytes_length: type: integer title: Domain Bytes Length description: The daap domain's length timestamp: type: integer title: Timestamp description: The signing timestamp type: object required: - id - created_at - modified_at - signatures - direction - interacted_vaults - organization_id - state - state_changes - type - ton_message_type - raw_payload_to_sign - string_payload_to_sign - chain - sender - domain - domain_bytes_length - timestamp title: TonMessage AptosTransactionResult: properties: reversion: $ref: '#/components/schemas/AptosReversion' description: Details whether the transaction was reverted or not. fee_statement: $ref: '#/components/schemas/AptosFeeStatement' description: The fee statement of the transaction. effects: $ref: '#/components/schemas/AptosEffects' description: The effects of the transaction. raw_result: title: Raw Result description: The raw result of the transaction. type: string type: object required: - reversion - fee_statement - effects title: AptosTransactionResult StarknetCallData: properties: to: $ref: '#/components/schemas/EnrichedStarknetAddress' description: The address of the contract to call. method_name: type: string title: Method Name description: The name of the method to call. method_arguments: items: type: string type: array title: Method Arguments description: The arguments of the method to call. type: object required: - to - method_name - method_arguments title: StarknetCallData CreateEvmRawTransactionRequest: properties: fee_payer: description: The vault that pays the fee for this transaction. $ref: '#/components/schemas/TransactionFeePayerVault' type: type: string const: evm_raw_transaction title: Type description: An EVM raw transaction receives raw data and is for general transactions. 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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party.
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' default: auto use_mev_protected_node: type: boolean title: Use Mev Protected Node description: Use an MEV protected node to send the transaction. By using an MEV protected node, you avoid maximal extractable value (MEV) attacks. default: false use_secure_node: type: boolean title: Use Secure Node description: Use a secure node to send the transaction. By using a secure node, you avoid maximal extractable value (MEV) attacks. default: false deprecated: true gas: description: The gas details of the transaction. The details depend on which option you choose:
  • Gas Priority or
  • Custom Gas Request
oneOf: - $ref: '#/components/schemas/GasPriorityRequest' - $ref: '#/components/schemas/CustomGasRequest' discriminator: propertyName: type mapping: custom: '#/components/schemas/CustomGasRequest' priority: '#/components/schemas/GasPriorityRequest' funder: title: Funder description: The unique identifier of the vault that pays the fee for this transaction. deprecated: true type: string format: uuid custom_nonce: anyOf: - type: integer - type: string pattern: ^\d+$ example: '1000000000000000000' title: Custom Nonce description: The user-specified nonce for the transaction.
If not provided, the transaction's nonce will be automatically determined upon signing.
If provided, it must equal the nonce of an existing transaction that has already been signed but not yet mined, on the same vault.
Alternatively, it may equal the next nonce of the vault. chain: $ref: '#/components/schemas/EvmChainRequest' description: The chain that this transaction is on. Specify either the chain name (for example `ethereum_mainnet`), the chain ID as a string (for example `evm_1`), or the chain ID as an integer (for example, `1`). to: title: To description: The address of the recipient of the transaction, or null for contract creation. type: string maxLength: 42 minLength: 42 pattern: ^0[xX][a-fA-F0-9]+$ example: '0x71C7656EC7ab88b098defB751B7401B5f6d8976F' value: type: string pattern: ^\d+$ title: Value description: The value of native currency to send this transaction with. example: '1000000000000000000' data: description: The format of the data request. The following formats are available:
  • Base64 raw data
  • Hex raw data
  • Smart contract call of method and arguments
$ref: '#/components/schemas/EvmDataRequest' type: object required: - type - chain - value title: CreateEvmRawTransactionRequest TransactionPredictArchTransactionRequest: 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: arch_transaction title: Type description: The type of the transaction. details: oneOf: - $ref: '#/components/schemas/CreateArchTransferRequest' discriminator: propertyName: type mapping: arch_transfer: '#/components/schemas/CreateArchTransferRequest' type: object required: - vault_id - type - details title: TransactionPredictArchTransactionRequest PersonalMessageDetails: properties: type: type: string const: personal_message_type title: Type description: The type of the Solana message. type: object required: - type title: PersonalMessageDetails StacksChainUniqueId: type: string enum: - stacks_mainnet title: StacksChainUniqueId MinedSignDoc: properties: format: type: string const: mined title: Format messages: type: string title: Messages description: The messages of the transaction. chain: $ref: '#/components/schemas/EnrichedCosmosChain' description: The chain the transaction is signed on. type: object required: - format - messages - chain title: MinedSignDoc PredictedSuiMessage: 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 type: type: string const: sui_message title: Type description: Sui message type. chain: $ref: '#/components/schemas/EnrichedSuiChain' description: The details of the chain that this message is on. sender: $ref: '#/components/schemas/EnrichedSuiAddress' description: The sender of the message. sui_message_type: $ref: '#/components/schemas/SuiMessageType' description: The type of the Sui message. message_to_display: type: string title: Message To Display description: User-friendly formatting of the message to be signed. type: object required: - matched_policies - risks - type - chain - sender - sui_message_type - message_to_display title: PredictedSuiMessage TonNativeTransferDetails: properties: type: type: string const: native_transfer title: Type description: 'A transaction involving the transfer of TON coin from one address to another. ' sender: $ref: '#/components/schemas/EnrichedTonAddress' description: The sender of the assets. recipient: $ref: '#/components/schemas/EnrichedTonAddress' description: The recipient of the assets. 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: TonNativeTransferDetails TransactionPredictEvmRawTransactionRequest: properties: fee_payer: description: The vault that pays the fee for this transaction. $ref: '#/components/schemas/TransactionFeePayerVault' type: type: string const: evm_raw_transaction title: Type description: An EVM raw transaction receives raw data and is for general transactions. 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 use_mev_protected_node: type: boolean title: Use Mev Protected Node description: Use a MEV protected node to send the transaction. By using a MEV protected node, you avoid maximal extractable value (MEV) attacks. default: false gas: description: The gas details of the transaction. The details depend on which option you choose:
  • Gas Priority or
  • Custom Gas Request
oneOf: - $ref: '#/components/schemas/GasPriorityRequest' - $ref: '#/components/schemas/CustomGasRequest' discriminator: propertyName: type mapping: custom: '#/components/schemas/CustomGasRequest' priority: '#/components/schemas/GasPriorityRequest' chain: $ref: '#/components/schemas/EvmChainRequest' description: The chain that this transaction is on. Specify either the chain ID (for example `1` for `ethereum_mainnet`)or the chain name (for example, `ethereum_goerli`). to: title: To description: The address of the recipient of the transaction, or null for contract creation. type: string maxLength: 42 minLength: 42 pattern: ^0[xX][a-fA-F0-9]+$ example: '0x71C7656EC7ab88b098defB751B7401B5f6d8976F' value: type: string pattern: ^\d+$ title: Value description: The value of native currency to send this transaction with. example: '1000000000000000000' data: description: The data of the transaction. $ref: '#/components/schemas/EvmDataRequest' type: object required: - type - chain - value title: TransactionPredictEvmRawTransactionRequest 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 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 TonNetwork: type: integer enum: - 0 - -239 - -1 title: TonNetwork 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. ArchNativeTransferDetails: properties: type: type: string const: native_transfer title: Type description: 'A transaction involving the transfer of native currency from one address to another. ' recipient: $ref: '#/components/schemas/EnrichedArchAddress' 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 - recipient title: ArchNativeTransferDetails TransactionDetailsEvmTypedMessageRequest: properties: type: type: string const: typed_message_type title: Type description: The type of the EVM message. chain: $ref: '#/components/schemas/EvmChainRequest' description: The evm chain this message is intended for. raw_data: type: string title: Raw Data description: The raw data of the message to be signed, provided as a string or hex-encoded. type: object required: - type - chain - raw_data title: TransactionDetailsEvmTypedMessageRequest 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 UtxoChainUniqueId: type: string enum: - bitcoin_mainnet - bitcoin_testnet - bitcoin_testnet_v4 - dogecoin_mainnet - bitcoin_cash_mainnet - pearl_testnet - pearl_mainnet title: UtxoChainUniqueId SuiSharedObjectRefInputArgument: properties: type: type: string const: shared title: Type description: The type of the object. object_id: type: string maxLength: 66 minLength: 66 pattern: ^0[xX][a-fA-F0-9]+$ title: Object Id description: The id of the shared object. example: '0x3300c18e7b931bdfc73dccf3e2d043ad1c9d120c777fff5aeeb9956224e5247a' initial_shared_version: type: integer title: Initial Shared Version description: The initial shared version of the object. mutable: type: boolean title: Mutable description: '`True` if the object is mutable, `False` otherwise.' type: object required: - type - object_id - initial_shared_version - mutable title: SuiSharedObjectRefInputArgument EvmTransferEffect: 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/EnrichedEvmAddress' description: The sender of the transfer. to: $ref: '#/components/schemas/EnrichedEvmAddress' description: The receiver of the transfer. type: object required: - priced_asset - amount - from - to title: EvmTransferEffect CreateUtxoMessageWithWaitRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: utxo_message title: Type description: Utxo message type. details: $ref: '#/components/schemas/UtxoMessageDetails' description: The details of the transaction timeout: type: integer maximum: 50.0 minimum: 1.0 title: Timeout description: The maximum time in seconds to wait for the transaction to reach the specified state. For states that require more than 50 seconds, using webhooks or polling is preferable. default: 10 wait_for_state: $ref: '#/components/schemas/NonPushableTransactionState' description: The state to wait for. type: object required: - vault_id - type - details - wait_for_state title: CreateUtxoMessageWithWaitRequest CreateExchangeInternalTransferRequestExplicitAmount: properties: type: type: string const: value title: Type value: type: string pattern: ^\d+$ title: Value description: The amount of the transfer. example: '1000000000000000000' type: object required: - type - value title: CreateExchangeInternalTransferRequestExplicitAmount BlackBoxSignature: 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: $ref: '#/components/schemas/ManagedTransactionData' 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). ' 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. state: $ref: '#/components/schemas/NonPushableTransactionState' description: The state of the message. state_changes: items: $ref: '#/components/schemas/NonPushableTransactionStateChange' type: array title: State Changes description: The state changes of the message. type: type: string const: black_box_signature title: Type description: Black Box signature type. vault: $ref: '#/components/schemas/VaultRef' description: The vault whose key has been used for signing. details: oneOf: - $ref: '#/components/schemas/BlackBoxSignatureEcdsaStarkDetails' - $ref: '#/components/schemas/BlackBoxSignatureEcdsaSecp256k1Details' - $ref: '#/components/schemas/BlackBoxSignatureEddsaEd25519Details' - $ref: '#/components/schemas/BlackBoxSignatureSchnorrSecp256k1Details' discriminator: propertyName: type mapping: ecdsa_secp256k1: '#/components/schemas/BlackBoxSignatureEcdsaSecp256k1Details' ecdsa_stark: '#/components/schemas/BlackBoxSignatureEcdsaStarkDetails' eddsa_ed25519: '#/components/schemas/BlackBoxSignatureEddsaEd25519Details' schnorr_secp256k1: '#/components/schemas/BlackBoxSignatureSchnorrSecp256k1Details' type: object required: - id - created_at - modified_at - managed_transaction_data - signatures - direction - interacted_vaults - organization_id - state - state_changes - type - vault - details title: BlackBoxSignature SuiSplitCoinsCommand: properties: type: type: string const: split_coins title: Type description: The type of the command. coin_object: $ref: '#/components/schemas/SuiCommandArgument' description: The coin to split. amounts: items: $ref: '#/components/schemas/SuiCommandArgument' type: array title: Amounts description: The amounts to split the coin into. type: object required: - type - coin_object - amounts title: SuiSplitCoinsCommand description: Split coin into smaller coins. 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 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. AptosChainUniqueId: type: string enum: - aptos_mainnet - aptos_testnet - aptos_movement_mainnet - aptos_movement_testnet title: AptosChainUniqueId ScriptPayload: properties: typed_arguments: items: type: string type: array title: Typed Arguments description: The typed arguments of the transaction. arguments: items: type: string type: array title: Arguments description: The arguments of the transaction. type: type: string const: script title: Type code: type: string title: Code description: The script code of the transaction. example: SGVsbG8= type: object required: - typed_arguments - arguments - type - code title: ScriptPayload BaseSuiPureInput: properties: value: oneOf: - $ref: '#/components/schemas/SuiPureNumberInput' - $ref: '#/components/schemas/SuiPureByteArrayInput' - $ref: '#/components/schemas/SuiPureStringInput' - $ref: '#/components/schemas/SuiPureBoolInput' discriminator: propertyName: type mapping: bool_pure_input: '#/components/schemas/SuiPureBoolInput' byte_array_pure_input: '#/components/schemas/SuiPureByteArrayInput' number_pure_input: '#/components/schemas/SuiPureNumberInput' string_pure_input: '#/components/schemas/SuiPureStringInput' type: object required: - value title: BaseSuiPureInput SolanaAssetIdentifierRequest: 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' type: object required: - type - details title: SolanaAssetIdentifierRequest IntegerHashPayload: properties: format: type: string const: hash_integer title: Format description: '' hash_integer: type: string pattern: ^0[xX][a-fA-F0-9]+$ title: Hash Integer description: The payload to sign, as a big-endian integer. Only relevant for Stark curve signatures. type: object required: - format - hash_integer title: IntegerHashPayload CreateStellarTransactionWithWaitRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: stellar_transaction title: Type description: Stellar transaction type. details: oneOf: - $ref: '#/components/schemas/CreateStellarTransferRequest' - $ref: '#/components/schemas/CreateStellarChangeTrustRequest' - $ref: '#/components/schemas/CreateStellarRawTransactionRequest' - $ref: '#/components/schemas/CreateStellarClaimClaimableBalanceRequest' discriminator: propertyName: type mapping: stellar_change_trust: '#/components/schemas/CreateStellarChangeTrustRequest' stellar_claim_claimable_balance: '#/components/schemas/CreateStellarClaimClaimableBalanceRequest' stellar_raw_transaction: '#/components/schemas/CreateStellarRawTransactionRequest' stellar_transfer: '#/components/schemas/CreateStellarTransferRequest' timeout: type: integer maximum: 50.0 minimum: 1.0 title: Timeout description: The maximum time in seconds to wait for the transaction to reach the specified state. For states that require more than 50 seconds, using webhooks or polling is preferable. default: 10 wait_for_state: $ref: '#/components/schemas/PushableTransactionState' description: The state to wait for. type: object required: - vault_id - type - details - wait_for_state title: CreateStellarTransactionWithWaitRequest TransactionPredictSolanaSerializedTransactionMessageRequest: 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_serialized_transaction_message title: Type description: A Solana serialized transaction message request. 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`). data: type: string title: Data description: 'The base64 encoded binary transaction message. Can be either a serialized legacy Message or a serialized MessageV0. The first account in the serialized transaction message must match theaddress of the vault in the request. If the serialized message contains a recent block hash, the server may override it to prevent the transaction from expiring. Additionally, if the transaction does not include a priority fee (ComputeBudget instruction), the server might add it to increase the chances of the transaction landing on chain.' example: SGVsbG8= signatures: title: Signatures description: 'List of Base64 encoded partial signatures. Can be omitted if the transaction requires no partial signatures, or if ephemeral_keys are passed instead. If passed, then the size of this array must match the total number of signers in the transaction, and elements in positions corresponding to vault accounts must be `{data: null}`' items: $ref: '#/components/schemas/SolanaTransactionSignaturesRequest' type: array ephemeral_keys: title: Ephemeral Keys description: 'A list of 64-byte Solana secret keys, encoded as base64, for any non-vault signer accounts. Can be omitted if the transaction requires no partial signatures, or if signatures are passed instead. If passed, then the size of this array must match the total number of signers in the transaction, and elements in positions corresponding to vault accounts must be `{data: null}`' items: $ref: '#/components/schemas/SolanaSecretKeyRequest' type: array type: object required: - type - chain - data title: TransactionPredictSolanaSerializedTransactionMessageRequest SuiReceivingObjectRefInputArgument: properties: digest: type: string maxLength: 44 minLength: 32 pattern: ^[a-km-zA-HJ-NP-Z1-9]+$ title: Digest description: The digest of the object. example: 9K8mnqJdxf3B7vgFmRhj9JqKqsN5AxvSgWk5faGshEta object_id: type: string maxLength: 66 minLength: 66 pattern: ^0[xX][a-fA-F0-9]+$ title: Object Id description: The id of the object. example: '0x3300c18e7b931bdfc73dccf3e2d043ad1c9d120c777fff5aeeb9956224e5247a' version: type: string pattern: ^0*[1-9]\d*$ title: Version description: The version of the object. example: '1000000000000000000' type: type: string const: receiving title: Type description: The type of the object. type: object required: - digest - object_id - version - type title: SuiReceivingObjectRefInputArgument TransactionDetailsUtxoTransferRequest: properties: type: type: string const: utxo_transfer title: Type description: A UTXO transfer transaction. outputs: title: Outputs description: The outputs of the transaction.
Must be provided and hold at least one output in case 'send_max_to' is not provided. items: $ref: '#/components/schemas/UtxoOutputRequest' type: array send_max_to: description: The recipient to which to send the maximum amount of funds available, once other outputs are handled.
If no other outputs are provided, this recipient will receive the entire balance of the vault.
Either this field or a non-empty outputs field must be provided. oneOf: - $ref: '#/components/schemas/UtxoOutputToAddressRequest' - $ref: '#/components/schemas/UtxoOutputToVaultAddressIdRequest' - $ref: '#/components/schemas/UtxoOutputToVaultIdRequest' - $ref: '#/components/schemas/UtxoOutputToContactIdRequest' discriminator: propertyName: type mapping: address: '#/components/schemas/UtxoOutputToAddressRequest' contact_id: '#/components/schemas/UtxoOutputToContactIdRequest' vault_address_id: '#/components/schemas/UtxoOutputToVaultAddressIdRequest' vault_id: '#/components/schemas/UtxoOutputToVaultIdRequest' fee_per_byte: description: The fee details of the transaction. The details depend on which option you choose:
  • Fee Priority or
  • Custom Fee Request
oneOf: - $ref: '#/components/schemas/FeePriorityRequest' - $ref: '#/components/schemas/CustomFeeRequest' discriminator: propertyName: type mapping: custom: '#/components/schemas/CustomFeeRequest' priority: '#/components/schemas/FeePriorityRequest' 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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party (for example a dapp that created a PSBT).
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' default: auto memos: items: type: string type: array title: Memos description: List of memos to include in the transaction, provided as strings or hex-encoded. type: object required: - type title: TransactionDetailsUtxoTransferRequest TonChainUniqueId: type: string enum: - ton_mainnet title: TonChainUniqueId TonTransactionPayload: properties: valid_until: title: Valid Until description: The expiration time of the transaction. type: integer network: description: The transaction's network. $ref: '#/components/schemas/TonNetwork' messages: items: $ref: '#/components/schemas/TonTransactionMessage' type: array title: Messages description: The messages of the transaction. type: object required: - messages title: TonTransactionPayload GasDebit: properties: gas_used: type: string pattern: ^\d+$ title: Gas Used description: The amount of gas used. example: '1000000000000000000' gas_price: type: string pattern: ^\d+$ title: Gas Price description: The gas price. example: '1000000000000000000' total_fee: type: string pattern: ^\d+$ title: Total Fee description: The total fee taken (`gas_used` * `gas_price`). 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: - gas_used - gas_price - total_fee - priced_asset title: GasDebit 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 NonPushableTransactionStateChange: 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 message. $ref: '#/components/schemas/NonPushableTransactionState' new_state: $ref: '#/components/schemas/NonPushableTransactionState' description: The new state of the message. type: object required: - changed_at - new_state title: NonPushableTransactionStateChange PushTransactionResponse: oneOf: - $ref: '#/components/schemas/AptosMessage' - $ref: '#/components/schemas/AptosTransaction' - $ref: '#/components/schemas/ArchTransaction' - $ref: '#/components/schemas/BlackBoxSignature' - $ref: '#/components/schemas/CantonTransaction' - $ref: '#/components/schemas/CosmosTransaction' - $ref: '#/components/schemas/CosmosMessage' - $ref: '#/components/schemas/EvmMessage' - $ref: '#/components/schemas/EvmTransaction' - $ref: '#/components/schemas/ExchangeTransaction' - $ref: '#/components/schemas/SolanaMessage' - $ref: '#/components/schemas/SolanaTransaction' - $ref: '#/components/schemas/StacksTransaction' - $ref: '#/components/schemas/StarknetMessage' - $ref: '#/components/schemas/StarknetTransaction' - $ref: '#/components/schemas/StellarMessage' - $ref: '#/components/schemas/StellarTransaction' - $ref: '#/components/schemas/SuiMessage' - $ref: '#/components/schemas/SuiTransaction' - $ref: '#/components/schemas/TonMessage' - $ref: '#/components/schemas/TonTransaction' - $ref: '#/components/schemas/TronMessage' - $ref: '#/components/schemas/TronTransaction' - $ref: '#/components/schemas/UtxoMessage' - $ref: '#/components/schemas/UtxoTransaction' discriminator: propertyName: type mapping: aptos_message: '#/components/schemas/AptosMessage' aptos_transaction: '#/components/schemas/AptosTransaction' arch_transaction: '#/components/schemas/ArchTransaction' black_box_signature: '#/components/schemas/BlackBoxSignature' canton_transaction: '#/components/schemas/CantonTransaction' cosmos_message: '#/components/schemas/CosmosMessage' cosmos_transaction: '#/components/schemas/CosmosTransaction' evm_message: '#/components/schemas/EvmMessage' evm_transaction: '#/components/schemas/EvmTransaction' exchange_transaction: '#/components/schemas/ExchangeTransaction' solana_message: '#/components/schemas/SolanaMessage' solana_transaction: '#/components/schemas/SolanaTransaction' stacks_transaction: '#/components/schemas/StacksTransaction' starknet_message: '#/components/schemas/StarknetMessage' starknet_transaction: '#/components/schemas/StarknetTransaction' stellar_message: '#/components/schemas/StellarMessage' stellar_transaction: '#/components/schemas/StellarTransaction' sui_message: '#/components/schemas/SuiMessage' sui_transaction: '#/components/schemas/SuiTransaction' ton_message: '#/components/schemas/TonMessage' ton_transaction: '#/components/schemas/TonTransaction' tron_message: '#/components/schemas/TronMessage' tron_transaction: '#/components/schemas/TronTransaction' utxo_message: '#/components/schemas/UtxoMessage' utxo_transaction: '#/components/schemas/UtxoTransaction' GasType: type: string enum: - dynamic - legacy title: GasType ReleaseType: type: string enum: - cancel - accelerate title: ReleaseType SignDoc: oneOf: - $ref: '#/components/schemas/AminoSignDoc' - $ref: '#/components/schemas/DirectSignDoc' - $ref: '#/components/schemas/MinedSignDoc' discriminator: propertyName: format mapping: amino: '#/components/schemas/AminoSignDoc' direct: '#/components/schemas/DirectSignDoc' mined: '#/components/schemas/MinedSignDoc' HyperliquidSendAssetAction: properties: action_type: type: string const: send_asset title: Action Type description: The Hyperliquid action type. destination: type: string title: Destination description: Recipient hex address. amount: type: string pattern: ^\d+(\.\d+)?$ title: Amount description: Transfer amount as a decimal string. example: '1000000000000000000' token: type: string title: Token description: Token identifier in `NAME:0xhexid` format, e.g. `PURR:0x0000000000000000000000000000dead`. nonce: type: integer title: Nonce description: Replay-protection nonce. signature_chain_id: type: string title: Signature Chain Id description: Chain ID used for signing, hex-encoded (e.g. `0xa4b1`). source_dex: type: string title: Source Dex description: Source DEX for the transfer (e.g. `spot`). destination_dex: type: string title: Destination Dex description: Destination DEX for the transfer (e.g. `perp`). from_sub_account: type: string title: From Sub Account description: Originating sub-account identifier. type: object required: - action_type - destination - amount - token - nonce - signature_chain_id - source_dex - destination_dex - from_sub_account title: HyperliquidSendAssetAction description: Cross-DEX asset transfer between Hyperliquid sub-accounts. IndexTransactionByHashResponse: properties: status: $ref: '#/components/schemas/IndexTransactionByHashStatus' description: 'Outcome of the request: ''indexed'' (newly indexed for the caller), ''already_indexed'' (was already in the caller''s transactions), ''no_interaction'' (transaction does not interact with any of the caller''s vaults), ''not_found'' (chain has no record of the hash, or it is not yet mined), ''unsupported_chain'' (the API does not yet support this chain).' transaction: description: The indexed (or already-indexed) transaction. Set when status is 'indexed' or 'already_indexed'. $ref: '#/components/schemas/Transaction' type: object required: - status title: IndexTransactionByHashResponse RippleNativeAssetIdentifierRequest: properties: type: type: string const: native title: Type description: Ripple asset identifier type. chain: $ref: '#/components/schemas/RippleChainUniqueId' description: The chain of the native asset. type: object required: - type - chain title: RippleNativeAssetIdentifierRequest ExchangeTransactionResult: properties: reversion: $ref: '#/components/schemas/ExchangeReversion' description: Details whether the transaction was reverted or not. effects: $ref: '#/components/schemas/ExchangeEffects' description: The effects of the transaction. exchange_fee: description: The exchange's fee. $ref: '#/components/schemas/ExchangeFee' type: object required: - reversion - effects title: ExchangeTransactionResult AptosPersonalMessageRequest: properties: type: type: string const: personal_message_type title: Type description: Personal message standard. should_include_address: type: boolean title: Should Include Address description: Whether the address should be included in the signed message. application: type: string minLength: 1 title: Application description: The application that the message is for. should_include_application: type: boolean title: Should Include Application description: Whether the application should be included in the signed message. chain: $ref: '#/components/schemas/AptosChainUniqueId' description: The details of the chain of the native asset. should_include_chain: type: boolean title: Should Include Chain description: Whether the chain should be included in the signed message. message_to_sign: type: string minLength: 1 title: Message To Sign description: The message to be signed, encoded in base64. example: SGVsbG8= nonce: type: string title: Nonce description: The nonce of the message. type: object required: - type - should_include_address - application - should_include_application - chain - should_include_chain - message_to_sign - nonce title: AptosPersonalMessageRequest 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 CreateArchTransactionRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: arch_transaction title: Type description: Arch transaction type. details: oneOf: - $ref: '#/components/schemas/CreateArchTransferRequest' discriminator: propertyName: type mapping: arch_transfer: '#/components/schemas/CreateArchTransferRequest' type: object required: - vault_id - type - details title: CreateArchTransactionRequest 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 DynamicGas: properties: max_priority_fee_per_gas: type: string pattern: ^\d+$ title: Max Priority Fee Per Gas description: The maximum tip amount for mining the transaction. example: '1000000000000000000' max_fee_per_gas: type: string pattern: ^\d+$ title: Max Fee Per Gas description: The maximum amount paid for the fee. example: '1000000000000000000' priority: $ref: '#/components/schemas/GasPriorityLevel' description: The gas priority. limit: type: string pattern: ^\d+$ title: Limit description: The gas limit. example: '1000000000000000000' type: type: string const: dynamic title: Type description: The type of gas data. type: object required: - max_priority_fee_per_gas - max_fee_per_gas - priority - limit - type title: DynamicGas TransactionPredictTonTransactionRequest: 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: ton_transaction title: Type description: TON transaction type. details: oneOf: - $ref: '#/components/schemas/PredictTonTransferRequest' - $ref: '#/components/schemas/PredictTonSerializedRawTransactionRequest' discriminator: propertyName: type mapping: ton_raw_transaction: '#/components/schemas/PredictTonSerializedRawTransactionRequest' ton_transfer: '#/components/schemas/PredictTonTransferRequest' type: object required: - vault_id - type - details title: TransactionPredictTonTransactionRequest 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 CreateSolanaMessageWithWaitRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: solana_message title: Type description: Solana message type. details: $ref: '#/components/schemas/SolanaPersonalMessageRequest' timeout: type: integer maximum: 50.0 minimum: 1.0 title: Timeout description: The maximum time in seconds to wait for the transaction to reach the specified state. For states that require more than 50 seconds, using webhooks or polling is preferable. default: 10 wait_for_state: $ref: '#/components/schemas/NonPushableTransactionState' description: The state to wait for. type: object required: - vault_id - type - details - wait_for_state title: CreateSolanaMessageWithWaitRequest 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 HyperliquidSpotSendAction: properties: action_type: type: string const: spot_send title: Action Type description: The Hyperliquid action type. destination: type: string title: Destination description: Recipient hex address. amount: type: string pattern: ^\d+(\.\d+)?$ title: Amount description: Transfer amount as a decimal string. example: '1000000000000000000' token: type: string title: Token description: Spot token identifier in `NAME:0xhexid` format, e.g. `PURR:0x0000000000000000000000000000dead`. time: type: integer title: Time description: Unix timestamp in milliseconds used as a nonce by Hyperliquid. type: object required: - action_type - destination - amount - token - time title: HyperliquidSpotSendAction description: Transfer a spot token between Hyperliquid accounts. 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 StarknetRawTransactionDetails: properties: type: type: string const: raw_transaction title: Type description: A transaction with contract calls. recipients: items: $ref: '#/components/schemas/EnrichedStarknetAddress' type: array title: Recipients description: The called contracts. type: object required: - type - recipients title: StarknetRawTransactionDetails AggregatedTransactionState: type: string enum: - pending - finalized - error title: AggregatedTransactionState 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 TransactionDetailsEvmPersonalMessageRequest: properties: type: type: string const: personal_message_type title: Type description: The type of the EVM message. chain: $ref: '#/components/schemas/EvmChainRequest' description: The evm chain this message is intended for. raw_data: type: string title: Raw Data description: The raw data of the message to be signed, provided as a string or hex-encoded. type: object required: - type - chain - raw_data title: TransactionDetailsEvmPersonalMessageRequest CantonTransferEffect: 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/EnrichedCantonAddress' description: The sender of the transfer. to: $ref: '#/components/schemas/EnrichedCantonAddress' description: The receiver of the transfer. type: object required: - priced_asset - amount - from - to title: CantonTransferEffect 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 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 TransactionSubType: type: string enum: - transfer - allowance - cross_chain_bridge - transaction - contract_call - contract_deployment - message_signature - allowance_signature title: TransactionSubType CosmosTransferEffect: 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/EnrichedCosmosBechAddress' description: The sender of the transfer. to: $ref: '#/components/schemas/EnrichedCosmosBechAddress' description: The receiver of the transfer. type: object required: - priced_asset - amount - from - to title: CosmosTransferEffect 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 SolanaRecipientBase58: properties: type: type: string const: address title: Type description: The type of the recipient. address: type: string maxLength: 44 minLength: 32 pattern: ^[a-km-zA-HJ-NP-Z1-9]+$ title: Address description: The address of the recipient. example: 4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA type: object required: - type - address title: SolanaRecipientBase58 TronReversion: properties: state: $ref: '#/components/schemas/TronReversionState' description: 'The state of the reversion. Is one of the following:
  • `not_reverted`: No reversion, meaning, completed successfully.
  • `unknown_revert`: Fordefi does not know the reason for the reversion.
  • `contract_asserted`: The smart contract originally made an assertion that was later rejected and the transaction was halted.
  • `insufficient_funds_gas_and_value`: A transaction was sent for which there were insufficient funds.
' reason: title: Reason description: The reason for the reversion (additional information). type: string type: object required: - state title: TronReversion PredictedCosmosTransaction: 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: cosmos_transaction title: Type description: The type of the transaction. expected_result: $ref: '#/components/schemas/CosmosTransactionResult' description: The expected result of the transaction in case it is mined. chain: $ref: '#/components/schemas/EnrichedCosmosChain' description: The details of the chain this transaction is on. cosmos_transaction_type_details: $ref: '#/components/schemas/CosmosTransactionTypeDetails' description: Transaction details memo: title: Memo description: Transaction memo. default: '' type: string sender: $ref: '#/components/schemas/EnrichedCosmosBechAddress' description: The sender. suggested_fees: $ref: '#/components/schemas/CosmosSuggestedFees' description: The suggested fees. type: object required: - matched_policies - risks - type - expected_result - chain - cosmos_transaction_type_details - sender - suggested_fees title: PredictedCosmosTransaction CreateTonTransactionWithWaitRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: ton_transaction title: Type description: TON transaction type. details: oneOf: - $ref: '#/components/schemas/CreateTonTransferRequest' - $ref: '#/components/schemas/CreateTonSerializedRawTransactionRequest' discriminator: propertyName: type mapping: ton_raw_transaction: '#/components/schemas/CreateTonSerializedRawTransactionRequest' ton_transfer: '#/components/schemas/CreateTonTransferRequest' timeout: type: integer maximum: 50.0 minimum: 1.0 title: Timeout description: The maximum time in seconds to wait for the transaction to reach the specified state. For states that require more than 50 seconds, using webhooks or polling is preferable. default: 10 wait_for_state: $ref: '#/components/schemas/PushableTransactionState' description: The state to wait for. type: object required: - vault_id - type - details - wait_for_state title: CreateTonTransactionWithWaitRequest 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 PredictedArchTransaction: 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: arch_transaction title: Type description: ARCH transaction type. expected_result: $ref: '#/components/schemas/ArchTransactionResult' description: The expected result of the transaction in case it is mined. chain: $ref: '#/components/schemas/EnrichedArchChain' description: The details of the chain that this message is on. arch_transaction_type_details: oneOf: - $ref: '#/components/schemas/ArchNativeTransferDetails' - $ref: '#/components/schemas/ArchTokenTransferDetails' - $ref: '#/components/schemas/ArchRawTransactionDetails' description: Details of the Arch transaction based on its type. discriminator: propertyName: type mapping: native_transfer: '#/components/schemas/ArchNativeTransferDetails' raw_transaction: '#/components/schemas/ArchRawTransactionDetails' token_transfer: '#/components/schemas/ArchTokenTransferDetails' sender: $ref: '#/components/schemas/EnrichedArchAddress' description: The sender of the transaction. instructions: items: $ref: '#/components/schemas/ArchCompiledInstruction' 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= type: object required: - matched_policies - risks - type - expected_result - chain - arch_transaction_type_details - sender - instructions title: PredictedArchTransaction SuiMergeCoinsCommand: properties: type: type: string const: merge_coins title: Type description: The type of the command. source_coin_objects: items: $ref: '#/components/schemas/SuiCommandArgument' type: array title: Source Coin Objects description: The coins to merge. destination_coin_object: $ref: '#/components/schemas/SuiCommandArgument' description: The coin to merge into. type: object required: - type - source_coin_objects - destination_coin_object title: SuiMergeCoinsCommand description: Merge coins into a single coin. SuiEffects: properties: balance_changes: items: $ref: '#/components/schemas/SuiBalanceChangeEffect' type: array title: Balance Changes description: The aggregated balance changes of addresses. transfers: items: $ref: '#/components/schemas/SuiTransferEffect' type: array title: Transfers description: The transfer events of the transaction. type: object required: - balance_changes - transfers title: SuiEffects TronBalanceChangeEffect: 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/EnrichedTronAddress' description: The address affected by the balance change. type: object required: - priced_asset - diff - address title: TronBalanceChangeEffect 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 StarknetChainUniqueId: type: string enum: - starknet_mainnet title: StarknetChainUniqueId StarknetCallDataRequest: properties: to: type: string maxLength: 66 minLength: 66 pattern: ^0[xX][a-fA-F0-9]+$ title: To description: The address of the contract to call. example: '0x0448f450e64B50dDF49e9F95C5b63a15cD21E21a39cA2D45628d9E5B27e5e1D8' method_name: type: string title: Method Name description: The name of the method to call. method_arguments: items: type: string type: array title: Method Arguments description: The arguments of the method to call. type: object required: - to - method_name - method_arguments title: StarknetCallDataRequest 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 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 UtxoOutputToContactIdRequest: properties: type: type: string const: contact_id title: Type description: The type of the recipient. contact_id: type: string format: uuid title: Contact Id description: The id of the address book contact. type: object required: - type - contact_id title: UtxoOutputToContactIdRequest CreateSuiTransactionRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: sui_transaction title: Type description: Sui transaction type. details: oneOf: - $ref: '#/components/schemas/CreateSuiTransferRequest' - $ref: '#/components/schemas/CreateSuiProgrammableTransactionBlockRequest' - $ref: '#/components/schemas/CreateSuiSerializedTransactionDataRequest' discriminator: propertyName: type mapping: sui_binary_canonical_serialization: '#/components/schemas/CreateSuiSerializedTransactionDataRequest' sui_programmable_transaction_block: '#/components/schemas/CreateSuiProgrammableTransactionBlockRequest' sui_transfer: '#/components/schemas/CreateSuiTransferRequest' type: object required: - vault_id - type - details title: CreateSuiTransactionRequest RippleAssetIdentifierRequest: properties: type: type: string const: ripple title: Type description: Ripple asset identifier type. details: oneOf: - $ref: '#/components/schemas/RippleNativeAssetIdentifierRequest' - $ref: '#/components/schemas/RippleTrustLineAssetIdentifierRequest' discriminator: propertyName: type mapping: native: '#/components/schemas/RippleNativeAssetIdentifierRequest' trust_line_asset: '#/components/schemas/RippleTrustLineAssetIdentifierRequest' type: object required: - type - details title: RippleAssetIdentifierRequest PredictedStellarTransaction: 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: stellar_transaction title: Type description: Stellar transaction type. expected_result: $ref: '#/components/schemas/StellarTransactionResult' description: The expected result of the transaction. chain: $ref: '#/components/schemas/EnrichedStellarChain' description: The chain this transaction is on. stellar_transaction_type_details: oneOf: - $ref: '#/components/schemas/StellarNativeTransferDetails' - $ref: '#/components/schemas/StellarClassicAssetTransferDetails' - $ref: '#/components/schemas/StellarSorobanTokenTransferDetails' - $ref: '#/components/schemas/StellarChangeTrustDetails' - $ref: '#/components/schemas/StellarRawTransactionDetails' - $ref: '#/components/schemas/StellarClaimClaimableBalanceDetails' description: Details of the Stellar transaction based on its type. discriminator: propertyName: type mapping: change_trust: '#/components/schemas/StellarChangeTrustDetails' claim_claimable_balance: '#/components/schemas/StellarClaimClaimableBalanceDetails' classic_asset_transfer: '#/components/schemas/StellarClassicAssetTransferDetails' native_transfer: '#/components/schemas/StellarNativeTransferDetails' raw_transaction: '#/components/schemas/StellarRawTransactionDetails' soroban_token_transfer: '#/components/schemas/StellarSorobanTokenTransferDetails' sender: $ref: '#/components/schemas/EnrichedStellarAddress' description: The sender of the transaction. memo: title: Memo description: The memo attached to this Stellar transaction, if any. type: string decoded_tx_bytes: title: Decoded Tx Bytes description: The JSON representation of the transaction's data, for raw transactions. type: string type: object required: - matched_policies - risks - type - expected_result - chain - stellar_transaction_type_details - sender title: PredictedStellarTransaction StacksNativeTransferDetails: properties: type: type: string const: native_transfer title: Type description: A transaction involving the transfer of Stacks coin from one address to another. sender: $ref: '#/components/schemas/EnrichedStacksAddress' description: The sender of the assets. recipient: $ref: '#/components/schemas/EnrichedStacksAddress' description: The recipient of the assets. 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: StacksNativeTransferDetails SolanaSecretKeyRequest: properties: data: title: Data 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 title: SolanaSecretKeyRequest SuiGasConfig: properties: owner: title: Owner description: The owner of the gas config. Used for sponsored transactions. type: string maxLength: 66 minLength: 66 pattern: ^0[xX][a-fA-F0-9]+$ example: '0x3300c18e7b931bdfc73dccf3e2d043ad1c9d120c777fff5aeeb9956224e5247a' budget: title: Budget description: The budget of the gas in the transaction (in MIST). type: string pattern: ^0*[1-9]\d*$ example: '1000000000000000000' price: title: Price description: The price per gas unit (in MIST). type: string pattern: ^0*[1-9]\d*$ example: '1000000000000000000' payment: items: $ref: '#/components/schemas/SuiObjectRef' type: array title: Payment description: The list of SUI coins used to pay for the gas. type: object required: - payment title: SuiGasConfig InvalidArgumentError: properties: title: type: string title: Title description: Human-readable error message. detail: type: string title: Detail description: Detailed error message. full_detail: title: Full Detail description: Full error message with additional details, if available. type: string request_id: title: Request Id description: Request ID - for debugging purposes. type: string system_error_code: title: System Error Code description: An additional system error code in Fordefi. type: string type: object required: - title - detail title: InvalidArgumentError CreateStacksTransferRequest: properties: type: type: string const: stacks_transfer title: Type description: A Stacks transfer transaction. A transaction of this kind is for transferring native currency or a sip10 token. 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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party.
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' default: auto fee: description: The fee configuration for the transaction. oneOf: - $ref: '#/components/schemas/StacksCustomFeeRequest' - $ref: '#/components/schemas/StacksPriorityFeeRequest' discriminator: propertyName: type mapping: custom: '#/components/schemas/StacksCustomFeeRequest' priority: '#/components/schemas/StacksPriorityFeeRequest' to: oneOf: - $ref: '#/components/schemas/StacksRecipientHex' - $ref: '#/components/schemas/RecipientVaultId' - $ref: '#/components/schemas/RecipientContactId' discriminator: propertyName: type mapping: contact_id: '#/components/schemas/RecipientContactId' hex: '#/components/schemas/StacksRecipientHex' vault_id: '#/components/schemas/RecipientVaultId' value: oneOf: - $ref: '#/components/schemas/CreateRequestExplicitAmount' - $ref: '#/components/schemas/CreateRequestMaxAmount' description: The number of units of currency to transfer. discriminator: propertyName: type mapping: max: '#/components/schemas/CreateRequestMaxAmount' value: '#/components/schemas/CreateRequestExplicitAmount' asset_identifier: $ref: '#/components/schemas/StacksAssetIdentifierRequest' description: The Stacks asset identifier to transfer. memo: title: Memo description: The memo to include in the transaction. type: string type: object required: - type - to - value - asset_identifier title: CreateStacksTransferRequest TransactionPredictSuiTransactionRequest: 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: sui_transaction title: Type description: Sui transaction type. details: oneOf: - $ref: '#/components/schemas/TransactionPredictSuiTransferRequest' - $ref: '#/components/schemas/TransactionDetailsSuiProgrammableTransactionBlockRequest' discriminator: propertyName: type mapping: sui_programmable_transaction_block: '#/components/schemas/TransactionDetailsSuiProgrammableTransactionBlockRequest' sui_transfer: '#/components/schemas/TransactionPredictSuiTransferRequest' type: object required: - vault_id - type - details title: TransactionPredictSuiTransactionRequest TransactionPredictSuiTransferRequest: properties: fee_payer: description: The vault that pays the fee for this transaction. $ref: '#/components/schemas/TransactionFeePayerVault' type: type: string const: sui_transfer title: Type description: A Sui transfer transaction. A transaction of this kind is for transferring native currency or a coin. 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 to: oneOf: - $ref: '#/components/schemas/SuiRecipientHex' - $ref: '#/components/schemas/RecipientVaultId' - $ref: '#/components/schemas/RecipientContactId' discriminator: propertyName: type mapping: contact_id: '#/components/schemas/RecipientContactId' hex: '#/components/schemas/SuiRecipientHex' vault_id: '#/components/schemas/RecipientVaultId' value: oneOf: - $ref: '#/components/schemas/CreateRequestExplicitAmount' - $ref: '#/components/schemas/CreateRequestMaxAmount' description: The number of units of currency to transfer. discriminator: propertyName: type mapping: max: '#/components/schemas/CreateRequestMaxAmount' value: '#/components/schemas/CreateRequestExplicitAmount' asset_identifier: $ref: '#/components/schemas/SuiAssetIdentifierRequest' description: The Sui asset identifier to transfer. gas_config: description: The gas configuration for the transaction. $ref: '#/components/schemas/SuiGasConfig' type: object required: - type - to - value - asset_identifier title: TransactionPredictSuiTransferRequest PredictedStellarMessage: 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 type: type: string const: stellar_message title: Type description: Stellar message type. stellar_message_type: $ref: '#/components/schemas/StellarMessageType' description: The type of the Stellar message. chain: $ref: '#/components/schemas/EnrichedStellarChain' description: The details of the chain that this message is on. sender: $ref: '#/components/schemas/EnrichedStellarAddress' description: The sender of the message. message_to_display: type: string title: Message To Display description: User-friendly formatting of the message to be signed. type: object required: - matched_policies - risks - type - stellar_message_type - chain - sender - message_to_display title: PredictedStellarMessage CosmosNativeCoinWithAmount: properties: amount: type: string pattern: ^\d+$ title: Amount description: The amount of the coin in base unit (for example uatom). example: '1000000000000000000' type: type: string const: native title: Type coin: $ref: '#/components/schemas/CosmosNativeCoin' description: The coin. type: object required: - amount - type - coin title: CosmosNativeCoinWithAmount 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 StarknetFees: properties: fee_payed: type: string pattern: ^\d+$ title: Fee Payed description: The fee payed for the transaction. 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: - fee_payed - priced_asset title: StarknetFees CreateEvmTransactionWithWaitRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: evm_transaction title: Type description: EVM transaction type. details: oneOf: - $ref: '#/components/schemas/CreateEvmRawTransactionRequest' - $ref: '#/components/schemas/CreateEvmTransferRequest' - $ref: '#/components/schemas/CreateEvmRevokeAllowanceRequest' - $ref: '#/components/schemas/CreateEvmSetCodeRequest' - $ref: '#/components/schemas/CreateEvmWrapNativeRequest' - $ref: '#/components/schemas/CreateEvmUnwrapNativeRequest' discriminator: propertyName: type mapping: evm_raw_transaction: '#/components/schemas/CreateEvmRawTransactionRequest' evm_revoke_allowance: '#/components/schemas/CreateEvmRevokeAllowanceRequest' evm_set_code: '#/components/schemas/CreateEvmSetCodeRequest' evm_transfer: '#/components/schemas/CreateEvmTransferRequest' evm_unwrap_native: '#/components/schemas/CreateEvmUnwrapNativeRequest' evm_wrap_native: '#/components/schemas/CreateEvmWrapNativeRequest' timeout: type: integer maximum: 50.0 minimum: 1.0 title: Timeout description: The maximum time in seconds to wait for the transaction to reach the specified state. For states that require more than 50 seconds, using webhooks or polling is preferable. default: 10 wait_for_state: $ref: '#/components/schemas/PushableTransactionState' description: The state to wait for. type: object required: - vault_id - type - details - wait_for_state title: CreateEvmTransactionWithWaitRequest CreateAptosMessageWithWaitRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: aptos_message title: Type description: Aptos message type. details: $ref: '#/components/schemas/AptosPersonalMessageRequest' timeout: type: integer maximum: 50.0 minimum: 1.0 title: Timeout description: The maximum time in seconds to wait for the transaction to reach the specified state. For states that require more than 50 seconds, using webhooks or polling is preferable. default: 10 wait_for_state: $ref: '#/components/schemas/NonPushableTransactionState' description: The state to wait for. type: object required: - vault_id - type - details - wait_for_state title: CreateAptosMessageWithWaitRequest 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] PredictTransactionResponse: oneOf: - $ref: '#/components/schemas/PredictedAptosMessage' - $ref: '#/components/schemas/PredictedAptosTransaction' - $ref: '#/components/schemas/PredictedArchTransaction' - $ref: '#/components/schemas/PredictedCantonTransaction' - $ref: '#/components/schemas/PredictedCosmosTransaction' - $ref: '#/components/schemas/PredictedCosmosMessage' - $ref: '#/components/schemas/PredictedEvmMessage' - $ref: '#/components/schemas/PredictedEvmTransaction' - $ref: '#/components/schemas/PredictedExchangeTransaction' - $ref: '#/components/schemas/PredictedSolanaMessage' - $ref: '#/components/schemas/PredictedSolanaTransaction' - $ref: '#/components/schemas/PredictedStacksTransaction' - $ref: '#/components/schemas/PredictedStarknetMessage' - $ref: '#/components/schemas/PredictedStarknetTransaction' - $ref: '#/components/schemas/PredictedStellarMessage' - $ref: '#/components/schemas/PredictedStellarTransaction' - $ref: '#/components/schemas/PredictedSuiMessage' - $ref: '#/components/schemas/PredictedSuiTransaction' - $ref: '#/components/schemas/PredictedTonMessage' - $ref: '#/components/schemas/PredictedTonTransaction' - $ref: '#/components/schemas/PredictedTronMessage' - $ref: '#/components/schemas/PredictedTronTransaction' - $ref: '#/components/schemas/PredictedUtxoMessage' - $ref: '#/components/schemas/PredictedUtxoTransaction' discriminator: propertyName: type mapping: aptos_message: '#/components/schemas/PredictedAptosMessage' aptos_transaction: '#/components/schemas/PredictedAptosTransaction' arch_transaction: '#/components/schemas/PredictedArchTransaction' canton_transaction: '#/components/schemas/PredictedCantonTransaction' cosmos_message: '#/components/schemas/PredictedCosmosMessage' cosmos_transaction: '#/components/schemas/PredictedCosmosTransaction' evm_message: '#/components/schemas/PredictedEvmMessage' evm_transaction: '#/components/schemas/PredictedEvmTransaction' exchange_transaction: '#/components/schemas/PredictedExchangeTransaction' solana_message: '#/components/schemas/PredictedSolanaMessage' solana_transaction: '#/components/schemas/PredictedSolanaTransaction' stacks_transaction: '#/components/schemas/PredictedStacksTransaction' starknet_message: '#/components/schemas/PredictedStarknetMessage' starknet_transaction: '#/components/schemas/PredictedStarknetTransaction' stellar_message: '#/components/schemas/PredictedStellarMessage' stellar_transaction: '#/components/schemas/PredictedStellarTransaction' sui_message: '#/components/schemas/PredictedSuiMessage' sui_transaction: '#/components/schemas/PredictedSuiTransaction' ton_message: '#/components/schemas/PredictedTonMessage' ton_transaction: '#/components/schemas/PredictedTonTransaction' tron_message: '#/components/schemas/PredictedTronMessage' tron_transaction: '#/components/schemas/PredictedTronTransaction' utxo_message: '#/components/schemas/PredictedUtxoMessage' utxo_transaction: '#/components/schemas/PredictedUtxoTransaction' CreateStarknetTransactionInvokeRequest: properties: type: type: string const: starknet_contract_call title: Type description: A Starknet transaction with contract call payload. 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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party.
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' default: auto chain: $ref: '#/components/schemas/StarknetChainUniqueId' description: The chain that this transaction is on. Specify the chain name (for example, `starknet_mainnet`). call_data: items: $ref: '#/components/schemas/StarknetCallDataRequest' type: array title: Call Data description: The call data of the transaction. type: object required: - type - chain - call_data title: CreateStarknetTransactionInvokeRequest ExchangeTransferExternalRecipientTypeVault: properties: type: type: string const: vault title: Type description: Transfer to an MPC vault or a master account of a different exchange vault. vault_id: type: string format: uuid title: Vault Id description: The ID of the recipient vault. type: object required: - type - vault_id title: ExchangeTransferExternalRecipientTypeVault HyperliquidTypedMessageEvmMessage: properties: domain: $ref: '#/components/schemas/EvmMessageDomainData' description: The domain data. primary_type: type: string title: Primary Type description: Used to identify the primary type of the message. enriched_addresses: additionalProperties: $ref: '#/components/schemas/EnrichedEvmAddress' type: object title: Enriched Addresses description: 'Addresses that are related to this message, enriched with metadata.Please NOTE: the dictionary keys are EIP-55 checksummed addresses' default: {} type: type: string const: hyperliquid title: Type description: The typed message type. hyperliquid_chain: type: string title: Hyperliquid Chain description: Hyperliquid network identifier, e.g. `Mainnet`. default: '' action_type: oneOf: - $ref: '#/components/schemas/HyperliquidWithdrawAction' - $ref: '#/components/schemas/HyperliquidUsdSendAction' - $ref: '#/components/schemas/HyperliquidSpotSendAction' - $ref: '#/components/schemas/HyperliquidSendAssetAction' - $ref: '#/components/schemas/HyperliquidVaultTransferAction' - $ref: '#/components/schemas/HyperliquidUsdClassTransferAction' - $ref: '#/components/schemas/HyperliquidSendToEvmWithDataAction' - $ref: '#/components/schemas/HyperliquidUnknownAction' description: Action-specific details. Discriminated by the nested `action_type` field. discriminator: propertyName: action_type mapping: send_asset: '#/components/schemas/HyperliquidSendAssetAction' send_to_evm_with_data: '#/components/schemas/HyperliquidSendToEvmWithDataAction' spot_send: '#/components/schemas/HyperliquidSpotSendAction' unknown_action: '#/components/schemas/HyperliquidUnknownAction' usd_class_transfer: '#/components/schemas/HyperliquidUsdClassTransferAction' usd_send: '#/components/schemas/HyperliquidUsdSendAction' vault_transfer: '#/components/schemas/HyperliquidVaultTransferAction' withdraw: '#/components/schemas/HyperliquidWithdrawAction' type: object required: - domain - primary_type - type - action_type title: HyperliquidTypedMessageEvmMessage description: 'Hyperliquid typed message with nested action details. The action_type field is a discriminated union that routes to the correct per-action model. Action-specific fields live in the nested model, not here.' CreateTonMessageRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: ton_message title: Type description: TON message type. details: $ref: '#/components/schemas/TonProofMessageRequest' type: object required: - vault_id - type - details title: CreateTonMessageRequest HyperliquidVaultTransferAction: properties: action_type: type: string const: vault_transfer title: Action Type description: The Hyperliquid action type. vault_address: type: string title: Vault Address description: Target vault hex address. amount: type: string pattern: ^\d+(\.\d+)?$ title: Amount description: Transfer amount as a decimal string. example: '1000000000000000000' nonce: type: integer title: Nonce description: Replay-protection nonce. is_deposit: type: boolean title: Is Deposit description: Whether this is a deposit (`true`) or withdrawal (`false`) from the vault. type: object required: - action_type - vault_address - amount - nonce - is_deposit title: HyperliquidVaultTransferAction description: Deposit into or withdraw from a Hyperliquid vault. TonAssetIdentifierRequest: 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' type: object required: - type - details title: TonAssetIdentifierRequest SolanaSpotSwapBroadcastMode: type: string enum: - priority_fee - jito title: SolanaSpotSwapBroadcastMode TronDelegateDetails: properties: type: type: string const: delegate title: Type description: A TRON delegate transaction. sender: $ref: '#/components/schemas/EnrichedTronAddress' description: The sender of the transaction. recipient: description: The recipient of the transaction. $ref: '#/components/schemas/EnrichedTronAddress' decoded_tx_bytes: title: Decoded Tx Bytes description: The json representation of the transaction's data type: string type: object required: - type - sender title: TronDelegateDetails TronAssetIdentifier: properties: type: type: string const: tron title: Type description: TRON asset identifier type. details: oneOf: - $ref: '#/components/schemas/TronNativeAssetIdentifierRequest' - $ref: '#/components/schemas/TronTrc20AssetIdentifierRequest' discriminator: propertyName: type mapping: native: '#/components/schemas/TronNativeAssetIdentifierRequest' trc20: '#/components/schemas/TronTrc20AssetIdentifierRequest' chain: $ref: '#/components/schemas/EnrichedTronChain' type: object required: - type - details - chain title: TronAssetIdentifier SolanaNativeAssetIdentifierRequest: properties: type: type: string const: native title: Type description: Solana asset identifier type. chain: $ref: '#/components/schemas/SolanaChainUniqueId' description: The details of the chain of the native asset. type: object required: - type - chain title: SolanaNativeAssetIdentifierRequest EnrichedStarknetChain: properties: chain_type: type: string const: starknet title: Chain Type description: The type of the chain. unique_id: $ref: '#/components/schemas/StarknetChainUniqueId' description: The type of the Starknet-based chain. name: type: string minLength: 1 title: Name description: The full blockchain name. native_currency_symbol: type: string minLength: 1 title: Native Currency Symbol description: The native currency symbol. example: ETH native_currency_name: type: string minLength: 1 title: Native Currency Name description: The native currency name. example: Ether blockchain_explorer: $ref: '#/components/schemas/BlockchainExplorer' logo_url: type: string maxLength: 2083 minLength: 1 format: uri title: Logo Url description: The logo URL of the chain. is_testnet: type: boolean title: Is Testnet description: Whether the chain is on a testnet. is_enabled: type: boolean title: Is Enabled description: Whether the chain is enabled. type: object required: - chain_type - unique_id - name - native_currency_symbol - native_currency_name - logo_url - is_testnet - is_enabled title: EnrichedStarknetChain CosmosEffects: properties: balance_changes: items: $ref: '#/components/schemas/CosmosBalanceChangeEffect' type: array title: Balance Changes description: The aggregated balance changes of addresses. transfers: items: $ref: '#/components/schemas/CosmosTransferEffect' type: array title: Transfers description: The transfer events of the transaction. type: object required: - balance_changes - transfers title: CosmosEffects 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 EvmBridgeEffectSourceNative: properties: priced_asset: $ref: '#/components/schemas/PricedAsset' description: The asset information. type: type: string const: native title: Type description: The type of bridge effect. source_address: $ref: '#/components/schemas/EnrichedEvmAddress' description: The source address of the bridge transaction. type: object required: - priced_asset - type - source_address title: EvmBridgeEffectSourceNative 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 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 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 TonJettonTransferDetails: properties: type: type: string const: jetton_transfer title: Type description: 'A transaction involving the transfer of Jetton from one address to another. ' sender: $ref: '#/components/schemas/EnrichedTonAddress' description: The sender of the assets. recipient: $ref: '#/components/schemas/EnrichedTonAddress' description: The recipient of the assets. 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: TonJettonTransferDetails EvmEffectsBase: properties: balance_changes: items: $ref: '#/components/schemas/EvmBalanceChangeEffect' type: array title: Balance Changes description: 'The aggregated balance changes at the addresses that are involved in the transaction. Values are indicated for all currency components of the transactions: native, ERC-20' transfers: items: $ref: '#/components/schemas/EvmTransferEffect' type: array title: Transfers description: The transfer events of the transaction. allowances: items: $ref: '#/components/schemas/EvmAllowanceEffect' type: array title: Allowances description: Allowances set or modified as a result of the transaction bridges: items: $ref: '#/components/schemas/EvmBridgesEffect' type: array title: Bridges description: The bridge effects of the transaction. type: object required: - balance_changes - transfers title: EvmEffectsBase KnownAssetStacksPostCondition: properties: address: $ref: '#/components/schemas/EnrichedStacksAddress' description: The address this post condition applies to. condition_code: $ref: '#/components/schemas/StacksPostConditionComparator' description: The condition code of the post condition. amount: type: string pattern: ^\d+$ title: Amount description: The amount of the asset this post condition applies to. example: '1000000000000000000' type: type: string const: known_asset title: Type description: The type of the post condition. priced_asset: $ref: '#/components/schemas/PricedAsset' description: The asset this post condition applies to. type: object required: - address - condition_code - amount - type - priced_asset title: KnownAssetStacksPostCondition 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 ContractCallDetails: properties: type: type: string const: contract_call title: Type description: A transaction involving a generic call to a smart contract. type: object required: - type title: ContractCallDetails StellarNativeTransferDetails: properties: type: type: string const: native_transfer title: Type description: A transaction involving the transfer of native XLM (lumens) from one address to another. sender: $ref: '#/components/schemas/EnrichedStellarAddress' description: The sender of the assets. recipient: description: The recipient of the assets. $ref: '#/components/schemas/EnrichedStellarAddress' 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 title: StellarNativeTransferDetails TransactionFeePayerVault: properties: type: type: string const: vault title: Type vault_id: type: string format: uuid title: Vault Id description: The unique identifier of the vault that pays the fee. type: object required: - type - vault_id title: TransactionFeePayerVault TransactionDetailsUtxoPsbtRequest: properties: type: type: string const: utxo_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. auto_finalize: type: boolean title: Auto Finalize description: Whether to finalize the transaction or not. default: true 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 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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party (for example a dapp that created a PSBT).
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' default: auto type: object required: - type - psbt_raw_data title: TransactionDetailsUtxoPsbtRequest 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 CreateStellarRawTransactionRequest: properties: type: type: string const: stellar_raw_transaction title: Type description: A raw Stellar transaction containing arbitrary operations as XDR. 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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party.
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' default: auto claim_status: description: The claim status of the transaction. $ref: '#/components/schemas/ClaimStatus' chain: $ref: '#/components/schemas/StellarChainUniqueId' description: The Stellar chain. xdr_data: type: string minLength: 1 title: Xdr Data description: Base64-encoded XDR of the unsigned Stellar transaction. type: object required: - type - chain - xdr_data title: CreateStellarRawTransactionRequest 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 PredictStarknetTransactionRequest: 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: starknet_transaction title: Type description: Starknet transaction type. details: oneOf: - $ref: '#/components/schemas/CreateStarknetTransferRequest' - $ref: '#/components/schemas/CreateStarknetTransactionInvokeRequest' - $ref: '#/components/schemas/CreateStarknetContractDeploymentRequest' discriminator: propertyName: type mapping: starknet_contract_call: '#/components/schemas/CreateStarknetTransactionInvokeRequest' starknet_contract_deployment: '#/components/schemas/CreateStarknetContractDeploymentRequest' starknet_transfer: '#/components/schemas/CreateStarknetTransferRequest' type: object required: - vault_id - type - details title: PredictStarknetTransactionRequest 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 SuiGas: properties: total_gas: type: string pattern: ^-?\d+$ title: Total Gas description: The total gas fee of the transaction (in MIST). 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: - total_gas - priced_asset title: SuiGas TronTypedMessageV2TextRawData: properties: format: type: string const: text title: Format description: Text format for raw data. raw_data_text: type: string title: Raw Data Text description: The message to be signed as plain text. type: object required: - format - raw_data_text title: TronTypedMessageV2TextRawData UtxoAssetIdentifierRequest: properties: type: type: string const: utxo title: Type description: Utxo asset identifier type. details: $ref: '#/components/schemas/UtxoNativeAssetIdentifierRequest' type: object required: - type - details title: UtxoAssetIdentifierRequest CreateCantonTransactionWithWaitRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: canton_transaction title: Type description: Canton transaction type. details: oneOf: - $ref: '#/components/schemas/CreateCantonTransferRequest' - $ref: '#/components/schemas/CreateCantonPartyAllocationRequest' - $ref: '#/components/schemas/CreateCantonApproveTransferRequest' - $ref: '#/components/schemas/CreateCantonPreApprovalSetupRequest' discriminator: propertyName: type mapping: canton_approve_transfer: '#/components/schemas/CreateCantonApproveTransferRequest' canton_party_allocation: '#/components/schemas/CreateCantonPartyAllocationRequest' canton_pre_approval_setup: '#/components/schemas/CreateCantonPreApprovalSetupRequest' canton_transfer: '#/components/schemas/CreateCantonTransferRequest' timeout: type: integer maximum: 50.0 minimum: 1.0 title: Timeout description: The maximum time in seconds to wait for the transaction to reach the specified state. For states that require more than 50 seconds, using webhooks or polling is preferable. default: 10 wait_for_state: $ref: '#/components/schemas/PushableTransactionState' description: The state to wait for. type: object required: - vault_id - type - details - wait_for_state title: CreateCantonTransactionWithWaitRequest 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 ReleaseTransactionErrorType: type: string enum: - partial_signed_raw_request - invalid_transaction_state - invalid_transaction_type - missing_signed_raw_request - redundant_signed_raw_request - non_managed_transaction - invalid_signed_raw_request - invalid_signer_type - reverted_transaction - transaction_uses_secure_node - cannot_release_psbt_transaction title: ReleaseTransactionErrorType AptosScriptDetails: properties: type: type: string const: script title: Type description: A transaction with running a move script. code: type: string pattern: ^[a-fA-F0-9]*$ title: Code description: The code of the script. type: object required: - type - code title: AptosScriptDetails CreateSuiTransferRequest: properties: fee_payer: description: The vault that pays the fee for this transaction. $ref: '#/components/schemas/TransactionFeePayerVault' type: type: string const: sui_transfer title: Type description: Create a Sui transfer transaction. A transaction of this kind is for transferring native currency or a coin. 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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party.
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' default: auto to: oneOf: - $ref: '#/components/schemas/SuiRecipientHex' - $ref: '#/components/schemas/RecipientVaultId' - $ref: '#/components/schemas/RecipientContactId' discriminator: propertyName: type mapping: contact_id: '#/components/schemas/RecipientContactId' hex: '#/components/schemas/SuiRecipientHex' vault_id: '#/components/schemas/RecipientVaultId' gas_config: description: The gas configuration for the transaction. $ref: '#/components/schemas/SuiGasConfig' value: oneOf: - $ref: '#/components/schemas/CreateRequestExplicitAmount' - $ref: '#/components/schemas/CreateRequestMaxAmount' description: The number of units of currency to transfer. discriminator: propertyName: type mapping: max: '#/components/schemas/CreateRequestMaxAmount' value: '#/components/schemas/CreateRequestExplicitAmount' asset_identifier: $ref: '#/components/schemas/SuiAssetIdentifierRequest' description: The Sui asset identifier to transfer. type: object required: - type - to - value - asset_identifier title: CreateSuiTransferRequest ArchTransaction: 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: arch_transaction title: Type description: The type of the transaction. arch_transaction_type_details: oneOf: - $ref: '#/components/schemas/ArchNativeTransferDetails' - $ref: '#/components/schemas/ArchTokenTransferDetails' - $ref: '#/components/schemas/ArchRawTransactionDetails' description: Details of the Arch transaction based on its type. discriminator: propertyName: type mapping: native_transfer: '#/components/schemas/ArchNativeTransferDetails' raw_transaction: '#/components/schemas/ArchRawTransactionDetails' token_transfer: '#/components/schemas/ArchTokenTransferDetails' chain: $ref: '#/components/schemas/EnrichedArchChain' description: The details of the chain this transaction is on. instructions: items: $ref: '#/components/schemas/ArchCompiledInstruction' type: array title: Instructions description: The instructions of the transaction. accounts: items: $ref: '#/components/schemas/ArchTransactionAccount' type: array title: Accounts description: Accounts used in the transaction. sender: $ref: '#/components/schemas/EnrichedArchAddress' 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 hash of the transaction. type: string recent_blockhash: title: Recent Blockhash description: The transaction nonce (last block hash). type: string expected_result: description: The expected result of the transaction in case it is mined. $ref: '#/components/schemas/ArchTransactionResult' mined_result: description: The result of the transaction after it was mined. $ref: '#/components/schemas/ArchTransactionResult' explorer_url: title: Explorer Url description: The URL of this transaction in a blockchain explorer. For example, gomaestro example: https://explorer.gomaestro.org/arch/testnet/tx/1234567890 type: string maxLength: 2083 minLength: 1 format: uri type: object required: - id - created_at - modified_at - signatures - direction - interacted_vaults - organization_id - state - state_changes - type - arch_transaction_type_details - chain - instructions - accounts - sender title: ArchTransaction DirectSignDoc: properties: format: type: string const: direct title: Format body: type: string title: Body description: Body bytes, encoded in base64 format. example: SGVsbG8= auth_info: type: string title: Auth Info description: Auth info bytes, encoded in base64 format. example: SGVsbG8= chain: $ref: '#/components/schemas/EnrichedCosmosChain' description: The chain the transaction is signed on. account_number: type: string pattern: ^\d+$ title: Account Number description: The account number. example: '1000000000000000000' signed_body: type: string title: Signed Body description: Actual body bytes that were used when signing the transaction, encoded in base64 format. example: SGVsbG8= signed_auth_info: type: string title: Signed Auth Info description: Actual auth info that was used when signing the transaction, encoded in base64 format. example: SGVsbG8= type: object required: - format - body - auth_info - chain - account_number - signed_body - signed_auth_info title: DirectSignDoc 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:
  • Allow automatically
  • Freeze
  • Skip
' type: object required: - is_default - rule_id - rule_name - action_type title: AmlPolicyMatchIncoming StacksReversionState: type: string enum: - not_reverted - unknown_revert - contract_asserted - insufficient_funds_gas_and_value title: StacksReversionState StarknetBalanceChangeEffect: 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/EnrichedStarknetAddress' description: The address affected by the balance change. type: object required: - priced_asset - diff - address title: StarknetBalanceChangeEffect 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 TronMessage: 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. state: $ref: '#/components/schemas/NonPushableTransactionState' description: The state of the message. state_changes: items: $ref: '#/components/schemas/NonPushableTransactionStateChange' type: array title: State Changes description: The state changes of the message. type: type: string const: tron_message title: Type description: TRON message type. tron_message_type: $ref: '#/components/schemas/TronMessageType' description: The type of the Tron message. raw_data: type: string title: Raw Data description: The raw data of the message. chain: $ref: '#/components/schemas/EnrichedTronChain' description: The details of the chain that this message is on. sender: $ref: '#/components/schemas/EnrichedTronAddress' description: The sender of the message. type: object required: - id - created_at - modified_at - signatures - direction - interacted_vaults - organization_id - state - state_changes - type - tron_message_type - raw_data - chain - sender title: TronMessage 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 CreateTransactionResponse: oneOf: - $ref: '#/components/schemas/AptosMessage' - $ref: '#/components/schemas/AptosTransaction' - $ref: '#/components/schemas/ArchTransaction' - $ref: '#/components/schemas/BlackBoxSignature' - $ref: '#/components/schemas/CantonTransaction' - $ref: '#/components/schemas/CosmosTransaction' - $ref: '#/components/schemas/CosmosMessage' - $ref: '#/components/schemas/EvmMessage' - $ref: '#/components/schemas/EvmTransaction' - $ref: '#/components/schemas/ExchangeTransaction' - $ref: '#/components/schemas/SolanaMessage' - $ref: '#/components/schemas/SolanaTransaction' - $ref: '#/components/schemas/StacksTransaction' - $ref: '#/components/schemas/StarknetMessage' - $ref: '#/components/schemas/StarknetTransaction' - $ref: '#/components/schemas/StellarMessage' - $ref: '#/components/schemas/StellarTransaction' - $ref: '#/components/schemas/SuiMessage' - $ref: '#/components/schemas/SuiTransaction' - $ref: '#/components/schemas/TonMessage' - $ref: '#/components/schemas/TonTransaction' - $ref: '#/components/schemas/TronMessage' - $ref: '#/components/schemas/TronTransaction' - $ref: '#/components/schemas/UtxoMessage' - $ref: '#/components/schemas/UtxoTransaction' discriminator: propertyName: type mapping: aptos_message: '#/components/schemas/AptosMessage' aptos_transaction: '#/components/schemas/AptosTransaction' arch_transaction: '#/components/schemas/ArchTransaction' black_box_signature: '#/components/schemas/BlackBoxSignature' canton_transaction: '#/components/schemas/CantonTransaction' cosmos_message: '#/components/schemas/CosmosMessage' cosmos_transaction: '#/components/schemas/CosmosTransaction' evm_message: '#/components/schemas/EvmMessage' evm_transaction: '#/components/schemas/EvmTransaction' exchange_transaction: '#/components/schemas/ExchangeTransaction' solana_message: '#/components/schemas/SolanaMessage' solana_transaction: '#/components/schemas/SolanaTransaction' stacks_transaction: '#/components/schemas/StacksTransaction' starknet_message: '#/components/schemas/StarknetMessage' starknet_transaction: '#/components/schemas/StarknetTransaction' stellar_message: '#/components/schemas/StellarMessage' stellar_transaction: '#/components/schemas/StellarTransaction' sui_message: '#/components/schemas/SuiMessage' sui_transaction: '#/components/schemas/SuiTransaction' ton_message: '#/components/schemas/TonMessage' ton_transaction: '#/components/schemas/TonTransaction' tron_message: '#/components/schemas/TronMessage' tron_transaction: '#/components/schemas/TronTransaction' utxo_message: '#/components/schemas/UtxoMessage' utxo_transaction: '#/components/schemas/UtxoTransaction' PredictedUtxoMessage: 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 type: type: string const: utxo_message title: Type description: The type of the transaction. chain: $ref: '#/components/schemas/EnrichedUtxoChain' description: The details of the chain that this message is on. sender: $ref: '#/components/schemas/EnrichedUtxoAddress' description: The sender of the message. utxo_message_type: $ref: '#/components/schemas/UtxoMessageType' description: The type of the message to sign. message_to_display: type: string title: Message To Display description: User-friendly formatting of the message to be signed. type: object required: - matched_policies - risks - type - chain - sender - utxo_message_type - message_to_display title: PredictedUtxoMessage CantonTokenTransferDetails: properties: type: type: string const: token_transfer title: Type description: A transaction involving the transfer of a CIP-56 token from one address to another. is_internal: title: Is Internal description: Is this transfer an internal transfer between two vaults. None if the recipient is unknown. type: boolean type: object required: - type title: CantonTokenTransferDetails SuiCommandArgument: oneOf: - $ref: '#/components/schemas/SuiCommandInputArgument' - $ref: '#/components/schemas/SuiCommandGasCoinArgument' - $ref: '#/components/schemas/SuiCommandResultArgument' - $ref: '#/components/schemas/SuiCommandNestedResultArgument' discriminator: propertyName: type mapping: gas_coin: '#/components/schemas/SuiCommandGasCoinArgument' input: '#/components/schemas/SuiCommandInputArgument' nested_result: '#/components/schemas/SuiCommandNestedResultArgument' result: '#/components/schemas/SuiCommandResultArgument' CantonChainUniqueId: type: string enum: - canton_mainnet title: CantonChainUniqueId FeePriorityRequest: properties: type: type: string const: priority title: Type priority_level: $ref: '#/components/schemas/FeePriorityLevelRequest' description: The priority level of the fee. type: object required: - type - priority_level title: FeePriorityRequest ReleaseUtxoTransactionRequest: properties: release_type: $ref: '#/components/schemas/ReleaseType' description: The type of the release. signer_type: $ref: '#/components/schemas/SignerType' description: Set who should sign the transaction. default: initiator note: title: Note description: An optional transaction note. type: string type: type: string const: utxo_transaction title: Type description: The type of the transaction. fee_per_byte: title: Fee Per Byte description: An optional fee per byte. type: string pattern: ^\d+$ example: '1000000000000000000' type: object required: - release_type - type title: ReleaseUtxoTransactionRequest 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 SuiCommandResultArgument: properties: type: type: string const: result title: Type description: The type of the command argument. index: type: integer title: Index description: The index of the command in the command vector. type: object required: - type - index title: SuiCommandResultArgument description: The result of another command. CosmosSuggestedFees: properties: type: type: string const: cosmos title: Type description: The type of the chain. chain_unique_id: $ref: '#/components/schemas/CosmosChainUniqueId' description: The cosmos chain unique id. fee_per_signature: title: Fee Per Signature description: The fee paid for each signature in the transaction. type: number type: object required: - type - chain_unique_id title: CosmosSuggestedFees TransactionSortableFields: type: string enum: - created_at_asc - created_at_desc - modified_at_asc - modified_at_desc - type_asc - type_desc - chains_asc - chains_desc title: TransactionSortableFields TronEffects: properties: balance_changes: items: $ref: '#/components/schemas/TronBalanceChangeEffect' type: array title: Balance Changes transfers: items: $ref: '#/components/schemas/TronTransferEffect' type: array title: Transfers type: object required: - balance_changes - transfers title: TronEffects 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 CreateTonTransactionRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: ton_transaction title: Type description: TON transaction type. details: oneOf: - $ref: '#/components/schemas/CreateTonTransferRequest' - $ref: '#/components/schemas/CreateTonSerializedRawTransactionRequest' discriminator: propertyName: type mapping: ton_raw_transaction: '#/components/schemas/CreateTonSerializedRawTransactionRequest' ton_transfer: '#/components/schemas/CreateTonTransferRequest' type: object required: - vault_id - type - details title: CreateTonTransactionRequest StacksBalanceChangeEffect: 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/EnrichedStacksAddress' description: The address affected by the balance change. type: object required: - priced_asset - diff - address title: StacksBalanceChangeEffect UnknownTypedMessageEvmMessage: properties: domain: $ref: '#/components/schemas/EvmMessageDomainData' description: The domain data. primary_type: type: string title: Primary Type description: Used to identify the primary type of the message. enriched_addresses: additionalProperties: $ref: '#/components/schemas/EnrichedEvmAddress' type: object title: Enriched Addresses description: 'Addresses that are related to this message, enriched with metadata.Please NOTE: the dictionary keys are EIP-55 checksummed addresses' default: {} type: type: string const: unknown title: Type description: The typed message type. type: object required: - domain - primary_type - type title: UnknownTypedMessageEvmMessage 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 AptosEntryFunctionPayload: properties: typed_arguments: items: type: string type: array title: Typed Arguments description: The typed arguments of the transaction. arguments: items: type: string type: array title: Arguments description: The arguments of the transaction. type: type: string const: entry_point title: Type function_id: type: string title: Function Id description: The entry function of the transaction. address: $ref: '#/components/schemas/EnrichedAptosAddress' description: The address of the entry function. module: type: string title: Module description: The module of the entry function. function_name: type: string title: Function Name description: The name of the entry function. type: object required: - typed_arguments - arguments - type - function_id - address - module - function_name title: AptosEntryFunctionPayload CosmosTransactionResult: properties: message: title: Message description: In case of error, the message describes what failed. type: string gas_debit: $ref: '#/components/schemas/CosmosGasDebit' description: The gas debit of the transaction. effects: $ref: '#/components/schemas/CosmosEffects' description: The effects of the transaction. type: object required: - gas_debit - effects title: CosmosTransactionResult 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 CantonApprovalStatus: type: string enum: - requires_approval - approved - expired title: CantonApprovalStatus TonProofMessageRequest: properties: type: type: string const: proof_message_type title: Type description: Proof message standard. manifest_url: type: string minLength: 1 title: Manifest Url description: The manifest_url of the Dapp that the message is for. chain: $ref: '#/components/schemas/TonChainUniqueId' description: The details of the chain of the native asset. message_to_sign: type: string minLength: 1 title: Message To Sign description: The message payload to be signed, encoded in base64. example: SGVsbG8= type: object required: - type - manifest_url - chain - message_to_sign title: TonProofMessageRequest ClaimStatus: type: string enum: - claimable - claimed title: ClaimStatus DirectRequestData: properties: format: type: string const: direct title: Format body: type: string title: Body description: Body bytes, encoded in base64 format. example: SGVsbG8= auth_info: type: string title: Auth Info description: AuthInfo bytes, encoded in base64 format. example: SGVsbG8= account_number: title: Account Number description: Account number of signer. type: string pattern: ^\d+$ example: '1000000000000000000' type: object required: - format - body - auth_info title: DirectRequestData 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. SuiTransactionResult: properties: reversion: $ref: '#/components/schemas/SuiReversion' 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_gas: $ref: '#/components/schemas/SuiGas' description: The gas of the transaction. effects: $ref: '#/components/schemas/SuiEffects' description: The effects of the transaction. type: object required: - reversion - enriched_gas - effects title: SuiTransactionResult PredictedAptosTransaction: 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: aptos_transaction title: Type description: Aptos transaction type. expected_result: $ref: '#/components/schemas/AptosTransactionResult' description: The expected result of the transaction in case it is mined. chain: $ref: '#/components/schemas/EnrichedAptosChain' description: The details of the chain that this transaction is on. payload: oneOf: - $ref: '#/components/schemas/AptosEntryFunctionPayload' - $ref: '#/components/schemas/ScriptPayload' description: The payload of the transaction. discriminator: propertyName: type mapping: entry_point: '#/components/schemas/AptosEntryFunctionPayload' script: '#/components/schemas/ScriptPayload' aptos_transaction_type_details: oneOf: - $ref: '#/components/schemas/AptosNativeTransferDetails' - $ref: '#/components/schemas/AptosCoinTransferDetails' - $ref: '#/components/schemas/AptosEntryPointDetails' - $ref: '#/components/schemas/AptosScriptDetails' description: Details of the Aptos transaction based on its type. discriminator: propertyName: type mapping: coin_transfer: '#/components/schemas/AptosCoinTransferDetails' entry_point: '#/components/schemas/AptosEntryPointDetails' native_transfer: '#/components/schemas/AptosNativeTransferDetails' script: '#/components/schemas/AptosScriptDetails' suggested_fees: $ref: '#/components/schemas/AptosSuggestedFees' description: The suggested fees. gas_submitted: $ref: '#/components/schemas/AptosGasData' description: The gas details submitted for the transaction. with_external_fee_payer: type: boolean title: With External Fee Payer description: If true, the transaction's Authenticator will be configured to support an external fee payer. After Fordefi signs the transaction, the client is responsible for forwarding it to the designated fee payer for final signing and broadcasting. default: false fee_payer: description: The address of the fee payer vault for sponsored transactions. $ref: '#/components/schemas/EnrichedAptosAddress' sender: $ref: '#/components/schemas/EnrichedAptosAddress' description: The sender of the transaction. type: object required: - matched_policies - risks - type - expected_result - chain - payload - aptos_transaction_type_details - suggested_fees - gas_submitted - sender title: PredictedAptosTransaction 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 SuiMessageType: type: string enum: - personal_message_type title: SuiMessageType CosmosNativeCoin: properties: name: type: string title: Name description: The name of the coin. symbol: type: string title: Symbol description: The symbol of the coin. display: title: Display description: The display string of the coin. deprecated: true type: string description: title: Description description: The description of the coin. deprecated: true type: string base_denom: type: string title: Base Denom description: The base denom of the coin. denom: type: string title: Denom description: The denom of the coin. decimals: type: integer title: Decimals description: The decimals relative to the base coin. logo_url: title: Logo Url description: The coin logo url. type: string maxLength: 2083 minLength: 1 format: uri explorer_url: title: Explorer Url description: The explorer url of the coin. type: string maxLength: 2083 minLength: 1 format: uri type: type: string const: native title: Type type: object required: - name - symbol - base_denom - denom - decimals - type title: CosmosNativeCoin StellarBalanceChangeEffect: 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/EnrichedStellarAddress' description: The address affected by the balance change. is_pending: type: boolean title: Is Pending description: Whether this balance change is pending (e.g. claimable balance). default: false type: object required: - priced_asset - diff - address title: StellarBalanceChangeEffect PredictedTronMessage: 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 type: type: string const: tron_message title: Type description: TRON message type. tron_message_type: $ref: '#/components/schemas/TronMessageType' description: The type of the Tron message. chain: $ref: '#/components/schemas/EnrichedTronChain' description: The details of the chain that this message is on. sender: $ref: '#/components/schemas/EnrichedTronAddress' description: The sender of the message. message_to_display: type: string title: Message To Display description: User-friendly formatting of the message to be signed. type: object required: - matched_policies - risks - type - tron_message_type - chain - sender - message_to_display title: PredictedTronMessage TransactionPredictEvmWrapNativeRequest: properties: fee_payer: description: The vault that pays the fee for this transaction. $ref: '#/components/schemas/TransactionFeePayerVault' type: type: string const: evm_wrap_native title: Type description: An EVM wrap native transaction is for wrapping the native token. 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 use_mev_protected_node: type: boolean title: Use Mev Protected Node description: Use a MEV protected node to send the transaction. By using a MEV protected node, you avoid maximal extractable value (MEV) attacks. default: false gas: description: The gas details of the transaction. The details depend on which option you choose:
  • Gas Priority or
  • Custom Gas Request
oneOf: - $ref: '#/components/schemas/GasPriorityRequest' - $ref: '#/components/schemas/CustomGasRequest' discriminator: propertyName: type mapping: custom: '#/components/schemas/CustomGasRequest' priority: '#/components/schemas/GasPriorityRequest' chain: $ref: '#/components/schemas/EvmChainRequest' description: The chain that this transaction is on. amount: oneOf: - $ref: '#/components/schemas/CreateRequestExplicitAmount' - $ref: '#/components/schemas/CreateRequestMaxAmount' description: 'The amount of native token to wrap. Specify one of the following:
  • `value`
  • `max`
' discriminator: propertyName: type mapping: max: '#/components/schemas/CreateRequestMaxAmount' value: '#/components/schemas/CreateRequestExplicitAmount' type: object required: - type - chain - amount title: TransactionPredictEvmWrapNativeRequest 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. SuiPersonalMessageRequest: properties: type: type: string const: personal_message_type title: Type description: Personal message standard. chain: $ref: '#/components/schemas/SuiChainUniqueId' description: The details of the chain of the native asset. raw_data: type: string title: Raw Data description: Base64 of the message to be signed. example: SGVsbG8= type: object required: - type - chain - raw_data title: SuiPersonalMessageRequest UtxoOutputToVaultIdRequest: properties: type: type: string const: vault_id title: Type vault_id: type: string format: uuid title: Vault Id type: object required: - type - vault_id title: UtxoOutputToVaultIdRequest 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 TronReversionState: type: string enum: - not_reverted - unknown_revert - contract_asserted - insufficient_funds_gas_and_value title: TronReversionState TronMessageType: type: string enum: - typed_message_type_v1 - typed_message_type_v2 title: TronMessageType 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. BridgeState: type: string enum: - pending - success - failed title: BridgeState AptosBalanceChangeEffect: 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/EnrichedAptosAddress' description: The address affected by the balance change. type: object required: - priced_asset - diff - address title: AptosBalanceChangeEffect TransactionPredictEvmTransactionRequest: 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: evm_transaction title: Type description: The type of the transaction. details: oneOf: - $ref: '#/components/schemas/TransactionPredictEvmRawTransactionRequest' - $ref: '#/components/schemas/TransactionPredictEvmTransferRequest' - $ref: '#/components/schemas/TransactionPredictEvmRevokeAllowanceRequest' - $ref: '#/components/schemas/TransactionPredictEvmSetCodeRequest' - $ref: '#/components/schemas/TransactionPredictEvmWrapNativeRequest' - $ref: '#/components/schemas/TransactionPredictEvmUnwrapNativeRequest' discriminator: propertyName: type mapping: evm_raw_transaction: '#/components/schemas/TransactionPredictEvmRawTransactionRequest' evm_revoke_allowance: '#/components/schemas/TransactionPredictEvmRevokeAllowanceRequest' evm_set_code: '#/components/schemas/TransactionPredictEvmSetCodeRequest' evm_transfer: '#/components/schemas/TransactionPredictEvmTransferRequest' evm_unwrap_native: '#/components/schemas/TransactionPredictEvmUnwrapNativeRequest' evm_wrap_native: '#/components/schemas/TransactionPredictEvmWrapNativeRequest' type: object required: - vault_id - type - details title: TransactionPredictEvmTransactionRequest LegacyGas: properties: price: type: string pattern: ^\d+$ title: Price description: The price of a gas unit. example: '1000000000000000000' priority: $ref: '#/components/schemas/GasPriorityLevel' description: The gas priority. limit: type: string pattern: ^\d+$ title: Limit description: The gas limit. example: '1000000000000000000' type: type: string const: legacy title: Type description: The type of gas data. type: object required: - price - priority - limit - type title: LegacyGas CantonRecipientAddress: properties: type: type: string const: address title: Type description: The type of the recipient. address: type: string maxLength: 251 minLength: 70 title: Address description: The address of the recipient. example: 45b72ac2a9742204e6e5f521781b0648::122028536bd166988ebbb422c7f483bb32d4134127e8c171c9666ce9b518e1dd27cf type: object required: - type - address title: CantonRecipientAddress 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 BlackBoxSignatureEddsaEd25519Details: properties: type: type: string const: eddsa_ed25519 title: Type description: EDDSA signature. signature: title: Signature description: The signature, encoded in base64 format. type: string example: SGVsbG8= hash_binary: type: string minLength: 1 title: Hash Binary description: The payload to sign, encoded in base64 format. example: SGVsbG8= type: object required: - type - hash_binary title: BlackBoxSignatureEddsaEd25519Details StellarEffects: properties: balance_changes: items: $ref: '#/components/schemas/StellarBalanceChangeEffect' type: array title: Balance Changes transfers: items: $ref: '#/components/schemas/StellarTransferEffect' type: array title: Transfers trustline_changes: items: $ref: '#/components/schemas/StellarTrustlineChangeEffect' type: array title: Trustline Changes type: object required: - balance_changes - transfers title: StellarEffects CreateTransactionWithWaitResponse: 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. signatures: items: type: string example: SGVsbG8= type: array title: Signatures description: The transaction signatures. state: anyOf: - $ref: '#/components/schemas/PushableTransactionState' - $ref: '#/components/schemas/NonPushableTransactionState' - $ref: '#/components/schemas/ExchangeTransactionState' title: State description: The state of the transaction. has_timed_out: type: boolean title: Has Timed Out description: Whether the transaction has timed out while waiting for the requested state. type: object required: - id - created_at - modified_at - signatures - state - has_timed_out title: CreateTransactionWithWaitResponse CreateCosmosMessageWithWaitRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: cosmos_message title: Type description: Cosmos message type. details: $ref: '#/components/schemas/CosmosArbitraryMessageRequest' timeout: type: integer maximum: 50.0 minimum: 1.0 title: Timeout description: The maximum time in seconds to wait for the transaction to reach the specified state. For states that require more than 50 seconds, using webhooks or polling is preferable. default: 10 wait_for_state: $ref: '#/components/schemas/NonPushableTransactionState' description: The state to wait for. type: object required: - vault_id - type - details - wait_for_state title: CreateCosmosMessageWithWaitRequest SolanaFeeType: type: string enum: - jito - priority_fee title: SolanaFeeType UtxoOutputToVaultAddressIdRequest: properties: type: type: string const: vault_address_id title: Type vault_address_id: type: string format: uuid title: Vault Address Id type: object required: - type - vault_address_id title: UtxoOutputToVaultAddressIdRequest EvmMessageDomainData: properties: name: title: Name description: The name type: string version: title: Version description: The version type: string chain_id: title: EvmChainId description: The EVM chain ID can be either one of those supported by the default chains below or a custom chain ID if one was added to your organization.
  • 1=`ethereum_mainnet`
  • 5=`ethereum_goerli`
  • 10=`optimism_mainnet`
  • 14=`flare_mainnet`
  • 16=`flare_testnet`
  • 30=`rootstock_mainnet`
  • 56=`bsc_mainnet`
  • 100=`gnosis_mainnet`
  • 130=`unichain_mainnet`
  • 137=`polygon_mainnet`
  • 143=`monad_mainnet`
  • 146=`sonic_mainnet`
  • 169=`manta_pacific_mainnet`
  • 196=`x_layer_mainnet`
  • 250=`fantom_mainnet`
  • 324=`zksync_era_mainnet`
  • 999=`hyperevm_mainnet`
  • 1030=`conflux_mainnet`
  • 1100=`dymension_mainnet`
  • 1101=`polygon_zkevm_mainnet`
  • 1329=`sei_mainnet`
  • 1337=`hypercore_mainnet`
  • 1666=`aster_mainnet`
  • 1672=`pharos_mainnet`
  • 1729=`reya_mainnet`
  • 2222=`kava_mainnet`
  • 4200=`merlin_mainnet`
  • 4217=`tempo_mainnet`
  • 4663=`robinhood_mainnet`
  • 5000=`mantle_mainnet`
  • 7000=`zeta_mainnet`
  • 7700=`canto_mainnet`
  • 8453=`base_mainnet`
  • 8818=`clink_mainnet`
  • 8819=`clink_testnet`
  • 9745=`plasma_mainnet`
  • 16661=`zero_gravity_mainnet`
  • 17000=`ethereum_holesky`
  • 80001=`polygon_mumbai`
  • 80094=`berachain_mainnet`
  • 42161=`arbitrum_mainnet`
  • 43113=`avalanche_fuji`
  • 43114=`avalanche_chain`
  • 57073=`ink_mainnet`
  • 59144=`linea_mainnet`
  • 81457=`blast_mainnet`
  • 421614=`arbitrum_sepolia`
  • 534352=`scroll_mainnet`
  • 660279=`xai_mainnet`
  • 747474=`katana_mainnet`
  • 810180=`zklink_nova_mainnet`
  • 11155111=`ethereum_sepolia`
type: integer minimum: 1.0 verifying_contract: description: The verifying contract $ref: '#/components/schemas/EnrichedEvmAddress' salt: title: Salt description: The salt type: string example: SGVsbG8= type: object title: EvmMessageDomainData AmlPolicyMatchOutgoingActionType: type: string enum: - allow - block - require_approval - skip title: AmlPolicyMatchOutgoingActionType SuiMoveCallCommand: properties: type: type: string const: move_call title: Type description: The type of the command. arguments: items: $ref: '#/components/schemas/SuiCommandArgument' type: array title: Arguments description: The arguments of the call. target: type: string pattern: ^(.*?)::(.*?)::(.*?)$ title: Target description: The target of the call. type_arguments: items: type: string type: array title: Type Arguments description: The types of the arguments. type: object required: - type - arguments - target - type_arguments title: SuiMoveCallCommand description: A call to either an entry or a public Move function. StacksEffects: properties: balance_changes: items: $ref: '#/components/schemas/StacksBalanceChangeEffect' type: array title: Balance Changes transfers: items: $ref: '#/components/schemas/StacksTransferEffect' type: array title: Transfers type: object required: - balance_changes - transfers title: StacksEffects CreateRequestExplicitAmount: properties: type: type: string const: value title: Type value: type: string pattern: ^\d+$ title: Value description: The specific amount to be passed. example: '1000000000000000000' type: object required: - type - value title: CreateRequestExplicitAmount AmlPolicyMatchIncomingActionType: type: string enum: - allow - freeze - skip title: AmlPolicyMatchIncomingActionType UserType: type: string enum: - person - api_signer - api_user - system title: UserType 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 CosmosMultipleMessagesTransactionDetails: properties: transaction_data: $ref: '#/components/schemas/MessagesList' description: List of transaction's messages. type: type: string const: messages title: Type description: A transaction of multiple messages. type: object required: - transaction_data - type title: CosmosMultipleMessagesTransactionDetails EvmSuggestedFees: properties: type: type: string const: evm title: Type description: The type of the chain. fees: oneOf: - $ref: '#/components/schemas/EvmLegacySuggestedFees' - $ref: '#/components/schemas/EvmDynamicSuggestedFees' description: The suggested gas fees. discriminator: propertyName: type mapping: dynamic: '#/components/schemas/EvmDynamicSuggestedFees' legacy: '#/components/schemas/EvmLegacySuggestedFees' chain_unique_id: type: string minLength: 1 title: EvmChainUniqueId description: The EVM chain unique id. type: object required: - type - fees - chain_unique_id title: EvmSuggestedFees 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:
  • The user is transferring tokens to an ERC-20 contract (`transfer_to_erc20_contract`).
  • The allowance transaction is requesting to approve a non-contract address (`allowance_to_eoa`).
  • Allowance has been granted for an unlimited amount (`unlimited_allowance`).
  • This bridge transaction sends funds to an address that is not the sender''s (`bridge_dest_differ_from_sender`).
  • This is the first time the organization is interacting with this address (`organization_not_interacted_with_address`).
  • This is the first time this vault is interacting with this address (`vault_not_interacted_with_address`).
  • Trying to interact with a contract that is not verified (`contract_not_verified`).
  • Approve for all NFT in a collection (`nft_approve_for_all`).
  • The simulation for this transaction failed (`missing_simulation`).
  • The simulation for this transaction is unsupported for this chain (`unsupported_simulation`).
' 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 Transaction: oneOf: - $ref: '#/components/schemas/AptosMessage' - $ref: '#/components/schemas/AptosTransaction' - $ref: '#/components/schemas/ArchTransaction' - $ref: '#/components/schemas/BlackBoxSignature' - $ref: '#/components/schemas/CantonTransaction' - $ref: '#/components/schemas/CosmosTransaction' - $ref: '#/components/schemas/CosmosMessage' - $ref: '#/components/schemas/EvmMessage' - $ref: '#/components/schemas/EvmTransaction' - $ref: '#/components/schemas/ExchangeTransaction' - $ref: '#/components/schemas/SolanaMessage' - $ref: '#/components/schemas/SolanaTransaction' - $ref: '#/components/schemas/StacksTransaction' - $ref: '#/components/schemas/StarknetMessage' - $ref: '#/components/schemas/StarknetTransaction' - $ref: '#/components/schemas/StellarMessage' - $ref: '#/components/schemas/StellarTransaction' - $ref: '#/components/schemas/SuiMessage' - $ref: '#/components/schemas/SuiTransaction' - $ref: '#/components/schemas/TonMessage' - $ref: '#/components/schemas/TonTransaction' - $ref: '#/components/schemas/TronMessage' - $ref: '#/components/schemas/TronTransaction' - $ref: '#/components/schemas/UtxoMessage' - $ref: '#/components/schemas/UtxoTransaction' discriminator: propertyName: type mapping: aptos_message: '#/components/schemas/AptosMessage' aptos_transaction: '#/components/schemas/AptosTransaction' arch_transaction: '#/components/schemas/ArchTransaction' black_box_signature: '#/components/schemas/BlackBoxSignature' canton_transaction: '#/components/schemas/CantonTransaction' cosmos_message: '#/components/schemas/CosmosMessage' cosmos_transaction: '#/components/schemas/CosmosTransaction' evm_message: '#/components/schemas/EvmMessage' evm_transaction: '#/components/schemas/EvmTransaction' exchange_transaction: '#/components/schemas/ExchangeTransaction' solana_message: '#/components/schemas/SolanaMessage' solana_transaction: '#/components/schemas/SolanaTransaction' stacks_transaction: '#/components/schemas/StacksTransaction' starknet_message: '#/components/schemas/StarknetMessage' starknet_transaction: '#/components/schemas/StarknetTransaction' stellar_message: '#/components/schemas/StellarMessage' stellar_transaction: '#/components/schemas/StellarTransaction' sui_message: '#/components/schemas/SuiMessage' sui_transaction: '#/components/schemas/SuiTransaction' ton_message: '#/components/schemas/TonMessage' ton_transaction: '#/components/schemas/TonTransaction' tron_message: '#/components/schemas/TronMessage' tron_transaction: '#/components/schemas/TronTransaction' utxo_message: '#/components/schemas/UtxoMessage' utxo_transaction: '#/components/schemas/UtxoTransaction' EnrichedCantonAddress: 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: canton title: Type address: type: string maxLength: 251 minLength: 70 title: Address description: The Canton address. example: 45b72ac2a9742204e6e5f521781b0648::122028536bd166988ebbb422c7f483bb32d4134127e8c171c9666ce9b518e1dd27cf type: object required: - type - address title: EnrichedCantonAddress ArchTokenTransferDetails: properties: type: type: string const: token_transfer title: Type description: 'A transaction involving the transfer of native currency from one address to another. ' recipient: $ref: '#/components/schemas/EnrichedArchAddress' 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 - recipient title: ArchTokenTransferDetails TransactionPredictEvmTransferRequest: properties: fee_payer: description: The vault that pays the fee for this transaction. $ref: '#/components/schemas/TransactionFeePayerVault' type: type: string const: evm_transfer title: Type description: The type of the transaction. 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 use_mev_protected_node: type: boolean title: Use Mev Protected Node description: Use a MEV protected node to send the transaction. By using a MEV protected node, you avoid maximal extractable value (MEV) attacks. default: false gas: description: The gas details of the transaction. The details depend on which option you choose:
  • Gas Priority or
  • Custom Gas Request
oneOf: - $ref: '#/components/schemas/GasPriorityRequest' - $ref: '#/components/schemas/CustomGasRequest' discriminator: propertyName: type mapping: custom: '#/components/schemas/CustomGasRequest' priority: '#/components/schemas/GasPriorityRequest' to: oneOf: - $ref: '#/components/schemas/EvmRecipientHex' - $ref: '#/components/schemas/RecipientVaultId' - $ref: '#/components/schemas/RecipientContactId' description: 'The recipient of the transfer: either an address, a vault ID, or a contact ID.' discriminator: propertyName: type mapping: contact_id: '#/components/schemas/RecipientContactId' hex: '#/components/schemas/EvmRecipientHex' vault_id: '#/components/schemas/RecipientVaultId' asset_identifier: $ref: '#/components/schemas/EvmAssetIdentifierRequest' description: The asset to be transferred. value: oneOf: - $ref: '#/components/schemas/CreateRequestExplicitAmount' - $ref: '#/components/schemas/CreateRequestMaxAmount' description: The number of units of currency to transfer. If you do not specify a value for `token`, the assumption is that you are transferring units in the native currency of the chain. discriminator: propertyName: type mapping: max: '#/components/schemas/CreateRequestMaxAmount' value: '#/components/schemas/CreateRequestExplicitAmount' type: object required: - type - to - asset_identifier - value title: TransactionPredictEvmTransferRequest PredictedStarknetTransaction: 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: starknet_transaction title: Type description: Starknet transaction type. expected_result: $ref: '#/components/schemas/StarknetTransactionResult' description: The expected result of the transaction in case it is mined. chain: $ref: '#/components/schemas/EnrichedStarknetChain' description: The details of the chain that this transaction is on. starknet_transaction_type_details: oneOf: - $ref: '#/components/schemas/StarknetNativeTransferDetails' - $ref: '#/components/schemas/StarknetErc20TransferDetails' - $ref: '#/components/schemas/StarknetRawTransactionDetails' - $ref: '#/components/schemas/StarknetContractCreationDetails' description: Details of the Starknet transaction based on its type. discriminator: propertyName: type mapping: contract_deployment: '#/components/schemas/StarknetContractCreationDetails' erc20_transfer: '#/components/schemas/StarknetErc20TransferDetails' native_transfer: '#/components/schemas/StarknetNativeTransferDetails' raw_transaction: '#/components/schemas/StarknetRawTransactionDetails' suggested_fees: $ref: '#/components/schemas/StarknetSuggestedFees' description: The suggested fees. sender: $ref: '#/components/schemas/EnrichedStarknetAddress' description: The sender of the transaction. call_data: items: $ref: '#/components/schemas/StarknetCallData' type: array title: Call Data description: The call data of the transaction. type: object required: - matched_policies - risks - type - expected_result - chain - starknet_transaction_type_details - suggested_fees - sender - call_data title: PredictedStarknetTransaction PermitTypedMessageEvmMessage: properties: domain: $ref: '#/components/schemas/EvmMessageDomainData' description: The domain data. primary_type: type: string title: Primary Type description: Used to identify the primary type of the message. enriched_addresses: additionalProperties: $ref: '#/components/schemas/EnrichedEvmAddress' type: object title: Enriched Addresses description: 'Addresses that are related to this message, enriched with metadata.Please NOTE: the dictionary keys are EIP-55 checksummed addresses' default: {} type: type: string const: permit title: Type description: The typed message type. deadline: type: string format: date-time title: Deadline description: The deadline. nonce: type: integer title: Nonce description: The nonce. type: object required: - domain - primary_type - type - deadline - nonce title: PermitTypedMessageEvmMessage ArchBalanceChangeEffect: 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/EnrichedArchAddress' description: The address affected by the balance change. type: object required: - priced_asset - diff - address title: ArchBalanceChangeEffect EvmAllowanceEffect: properties: priced_asset: $ref: '#/components/schemas/PricedAsset' description: The asset information. owner: $ref: '#/components/schemas/EnrichedEvmAddress' description: The owner of the tokens spender: $ref: '#/components/schemas/EnrichedEvmAddress' description: The address allowed to spend amount: type: string pattern: ^\d+$ title: Amount description: The allowance amount example: '1000000000000000000' expiration: title: Expiration description: The expiration timestamp of the allowance type: string format: date-time nonce: title: Nonce description: The nonce associated with the allowance type: string pattern: ^\d+$ example: '1000000000000000000' type: object required: - priced_asset - owner - spender - amount title: EvmAllowanceEffect AptosCustomGasPriceRequest: properties: type: type: string const: custom title: Type price: type: string pattern: ^0*[1-9]\d*$ title: Price description: The price per gas unit (in Octa). example: '1000000000000000000' type: object required: - type - price title: AptosCustomGasPriceRequest MinedMessagesList: properties: format: type: string const: mined title: Format messages: type: string title: Messages description: List of messages of non-managed transaction. type: object required: - format - messages title: MinedMessagesList TonTransaction: 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: ton_transaction title: Type description: TON transaction type. ton_transaction_type_details: oneOf: - $ref: '#/components/schemas/TonNativeTransferDetails' - $ref: '#/components/schemas/TonJettonTransferDetails' - $ref: '#/components/schemas/TonRawTransactionDetails' description: Details of the Ton transaction based on its type. discriminator: propertyName: type mapping: jetton_transfer: '#/components/schemas/TonJettonTransferDetails' native_transfer: '#/components/schemas/TonNativeTransferDetails' raw_transaction: '#/components/schemas/TonRawTransactionDetails' chain: $ref: '#/components/schemas/EnrichedTonChain' description: The details of the chain this transaction is on. nonce: title: Nonce description: The nonce of the transaction. type: integer sender: $ref: '#/components/schemas/EnrichedTonAddress' description: The sender of the transaction. payload: $ref: '#/components/schemas/TonTransactionPayload' description: The payload of the transaction. hash: title: Hash description: The hash of the transaction. type: string maxLength: 64 pattern: ^[a-fA-F0-9]+$ example: c7482c1d424bdb2a555f069290a63ab144f3d06d34f944f6ae3505506b97989e serialized_signed_transaction: title: Serialized Signed Transaction description: The serialized signed transaction. type: string example: SGVsbG8= expected_result: description: The expected result of the transaction in case it is mined. $ref: '#/components/schemas/TonTransactionResult' mined_result: description: The result of the transaction after it was mined. $ref: '#/components/schemas/TonTransactionResult' explorer_url: title: Explorer Url description: The URL of this transaction in a blockchain explorer. For example, tonviewer.com example: https://tonviewer.com/transaction/a8e5ab8f0b452190ad81f92341b42c6cadd57d0e858b92e8113d70b02bf0bfaa type: string maxLength: 2083 minLength: 1 format: uri type: object required: - id - created_at - modified_at - signatures - direction - interacted_vaults - organization_id - state - state_changes - type - ton_transaction_type_details - chain - sender - payload title: TonTransaction PredictedSuiTransaction: 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: sui_transaction title: Type description: Sui transaction type. expected_result: $ref: '#/components/schemas/SuiTransactionResult' description: The expected result of the transaction in case it is mined. chain: $ref: '#/components/schemas/EnrichedSuiChain' description: The details of the chain that this transaction is on. sui_transaction_type_details: oneOf: - $ref: '#/components/schemas/SuiNativeTransferDetails' - $ref: '#/components/schemas/SuiCoinTransferDetails' - $ref: '#/components/schemas/SuiProgrammableTransactionBlockDetails' description: Details of the Sui transaction based on its type. discriminator: propertyName: type mapping: coin_transfer: '#/components/schemas/SuiCoinTransferDetails' native_transfer: '#/components/schemas/SuiNativeTransferDetails' programmable_transaction_block: '#/components/schemas/SuiProgrammableTransactionBlockDetails' gas_submitted: $ref: '#/components/schemas/SuiGasConfig' description: The gas details submitted for the transaction. decoded_tx_bytes: title: Decoded Tx Bytes description: The json representation of the transaction's data type: string sender: $ref: '#/components/schemas/EnrichedSuiAddress' description: The sender of the transaction. suggested_fees: $ref: '#/components/schemas/SuiSuggestedFees' description: The suggested fees. fee_payer: description: The address that pays the fee for this transaction (gas owner). $ref: '#/components/schemas/EnrichedSuiAddress' type: object required: - matched_policies - risks - type - expected_result - chain - sui_transaction_type_details - gas_submitted - sender - suggested_fees title: PredictedSuiTransaction 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. TonBalanceChangeEffect: 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/EnrichedTonAddress' description: The address affected by the balance change. type: object required: - priced_asset - diff - address title: TonBalanceChangeEffect TransactionPredictEvmMessageRequest: 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: evm_message title: Type description: The type of the transaction. details: oneOf: - $ref: '#/components/schemas/TransactionDetailsEvmTypedMessageRequest' - $ref: '#/components/schemas/TransactionDetailsEvmTypedV1MessageRequest' - $ref: '#/components/schemas/TransactionDetailsEvmPersonalMessageRequest' discriminator: propertyName: type mapping: personal_message_type: '#/components/schemas/TransactionDetailsEvmPersonalMessageRequest' typed_message_type: '#/components/schemas/TransactionDetailsEvmTypedMessageRequest' typed_message_type_v1: '#/components/schemas/TransactionDetailsEvmTypedV1MessageRequest' type: object required: - vault_id - type - details title: TransactionPredictEvmMessageRequest ExchangeTransferEffect: 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/EnrichedExchangeAddress' description: The sender of the transfer. to: $ref: '#/components/schemas/EnrichedAddress' description: The receiver of the transfer. type: object required: - priced_asset - amount - from - to title: ExchangeTransferEffect AptosGasData: properties: gas_limit: type: string pattern: ^0*[1-9]\d*$ title: Gas Limit description: The gas limit of the transaction. example: '1000000000000000000' price: $ref: '#/components/schemas/AptosGasPrice' description: The price per gas unit. type: object required: - gas_limit - price title: AptosGasData ProviderFee: properties: priced_asset: $ref: '#/components/schemas/PricedAsset' description: The information of the asset used to pay the provider fee. amount: type: string pattern: ^0*[1-9]\d*$ title: Amount description: The amount of the provider fee. example: '1000000000000000000' type: object required: - priced_asset - amount title: ProviderFee CreateExchangeInternalTransferRequest: properties: type: type: string const: internal_transfer title: Type fail_on_prediction_failure: type: boolean title: Fail On Prediction Failure description: '`True` if the request should fail in case simulation failed, `False` otherwise.' default: true skip_prediction: type: boolean title: Skip Prediction description: '`True` to create a transaction without prediction, `False` otherwise.' default: false asset_identifier: $ref: '#/components/schemas/ExchangeAssetIdentifierRequest' description: The exchange asset identifier to transfer. to: type: string format: uuid title: To description: The ID of the recipient vault. value: oneOf: - $ref: '#/components/schemas/CreateExchangeInternalTransferRequestExplicitAmount' - $ref: '#/components/schemas/CreateExchangeTransferRequestMaxAmount' description: The number of units of currency to transfer. discriminator: propertyName: type mapping: max: '#/components/schemas/CreateExchangeTransferRequestMaxAmount' value: '#/components/schemas/CreateExchangeInternalTransferRequestExplicitAmount' type: object required: - type - asset_identifier - to - value title: CreateExchangeInternalTransferRequest EvmContractDeploymentEffect: properties: address: $ref: '#/components/schemas/EnrichedEvmAddress' description: The address of the deployed contract. type: object required: - address title: EvmContractDeploymentEffect 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 CreateTronSerializedRawTransactionRequest: properties: type: type: string const: tron_serialized_raw_transaction title: Type description: A TRON serialized transaction. 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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party.
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' default: auto chain: $ref: '#/components/schemas/TronChainUniqueId' description: The TRON chain identifier. data: type: string title: Data description: 'The hex encoded transaction data. This should be the complete raw transaction protobuf message encoded as hex. The transaction must be properly structured with all required fields including reference block information (ref_block_bytes, ref_block_hash) and expiration time. If the serialized transaction contains an expiration time that is too close to the current time, the server may override it to prevent the transaction from expiring. The transaction should include all contract calls, transfers, or staking operations but should NOT be signed - signing will be handled by Fordefi.' type: object required: - type - chain - data title: CreateTronSerializedRawTransactionRequest StarknetSuggestedFees: properties: type: type: string const: starknet title: Type description: The type of the chain. chain_unique_id: $ref: '#/components/schemas/StarknetChainUniqueId' description: The Starknet chain unique id. gas_price: type: string pattern: ^\d+$ title: Gas Price description: The Current L1 gas price in FRI. example: '1000000000000000000' type: object required: - type - chain_unique_id - gas_price title: StarknetSuggestedFees PushTransactionRequest: properties: push_data: description: "Additional data needed to push the transaction to the\n chain. Currently only needs to be specified for Cosmos transactions\n that have been created in Amino format. For all other\n transaction types, this field must be omitted, and the request must have\n an empty body." $ref: '#/components/schemas/CosmosPushData' type: object title: PushTransactionRequest AminoMessagesList: properties: format: type: string const: amino title: Format messages: items: $ref: '#/components/schemas/AminoMessage' type: array title: Messages description: List of messages in amino format. type: object required: - format - messages title: AminoMessagesList EvmMessageType: type: string enum: - personal_message_type - typed_message_type - typed_message_type_v1 title: EvmMessageType CreateAptosTransactionWithWaitRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: aptos_transaction title: Type description: Aptos transaction type. details: oneOf: - $ref: '#/components/schemas/CreateAptosTransferRequest' - $ref: '#/components/schemas/CreateAptosSerializedRawTransactionRequest' discriminator: propertyName: type mapping: aptos_serialized_entry_point_payload: '#/components/schemas/CreateAptosSerializedRawTransactionRequest' aptos_transfer: '#/components/schemas/CreateAptosTransferRequest' timeout: type: integer maximum: 50.0 minimum: 1.0 title: Timeout description: The maximum time in seconds to wait for the transaction to reach the specified state. For states that require more than 50 seconds, using webhooks or polling is preferable. default: 10 wait_for_state: $ref: '#/components/schemas/PushableTransactionState' description: The state to wait for. type: object required: - vault_id - type - details - wait_for_state title: CreateAptosTransactionWithWaitRequest ReleaseTransactionRequest: oneOf: - $ref: '#/components/schemas/ReleaseEvmTransactionRequest' - $ref: '#/components/schemas/ReleaseUtxoTransactionRequest' - $ref: '#/components/schemas/ReleaseStacksTransactionRequest' discriminator: propertyName: type mapping: evm_transaction: '#/components/schemas/ReleaseEvmTransactionRequest' stacks_transaction: '#/components/schemas/ReleaseStacksTransactionRequest' utxo_transaction: '#/components/schemas/ReleaseUtxoTransactionRequest' SuiNativeTransferDetails: properties: type: type: string const: native_transfer title: Type description: 'A transaction involving the transfer of SUI coin from one address to another. ' sender: $ref: '#/components/schemas/EnrichedSuiAddress' description: The sender of the coins. recipient: $ref: '#/components/schemas/EnrichedSuiAddress' description: The recipient of the coins. 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: SuiNativeTransferDetails PredictedExchangeTransaction: 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: exchange_transaction title: Type description: Starknet transaction type. expected_result: $ref: '#/components/schemas/ExchangeTransactionResult' description: The expected result of the transaction in case it's executed. exchange_transaction_type_details: oneOf: - $ref: '#/components/schemas/ExchangeExternalWithdrawDetails' - $ref: '#/components/schemas/ExchangeInternalTransferDetails' description: Details of the Exchange transaction based on its type. discriminator: propertyName: type mapping: external_withdraw: '#/components/schemas/ExchangeExternalWithdrawDetails' internal_transfer: '#/components/schemas/ExchangeInternalTransferDetails' type: object required: - matched_policies - risks - type - expected_result - exchange_transaction_type_details title: PredictedExchangeTransaction 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. 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 AptosFeeStatement: properties: execution_gas_units: type: string pattern: ^\d+$ title: Execution Gas Units example: '1000000000000000000' io_gas_units: type: string pattern: ^\d+$ title: Io Gas Units example: '1000000000000000000' storage_fee_octas: type: string pattern: ^\d+$ title: Storage Fee Octas example: '1000000000000000000' storage_fee_refund_octas: type: string pattern: ^\d+$ title: Storage Fee Refund Octas example: '1000000000000000000' total_charge_gas_units: type: string pattern: ^\d+$ title: Total Charge Gas Units example: '1000000000000000000' total_gas: type: string pattern: ^-?\d+$ title: Total Gas description: The total gas fee of the transaction (in Octa). 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: - execution_gas_units - io_gas_units - storage_fee_octas - storage_fee_refund_octas - total_charge_gas_units - total_gas - priced_asset title: AptosFeeStatement SetCodeAuthorizationEffect: properties: eoa: $ref: '#/components/schemas/EnrichedEvmAddress' description: The address of the EOA that authorized the contract to be set. contract: $ref: '#/components/schemas/EnrichedEvmAddress' description: The address of the contract that was set for the EOA. type: object required: - eoa - contract title: SetCodeAuthorizationEffect EnrichedTonAddress: 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: ton title: Type raw_account: type: string maxLength: 67 pattern: ^[-0-9]+:[A-Fa-f0-9]{64}$ title: Raw Account description: The address TON contract in a raw format. base64_url_bounceable_account: type: string maxLength: 48 minLength: 48 title: Base64 Url Bounceable Account description: The bounceable address of the contract in base64 url format example: UQBxs5hnTxjzvzsnDofRfbJeXsylUcxR8OSW7UUv317csHZ1 base64_url_non_bounceable_account: type: string maxLength: 48 minLength: 48 title: Base64 Url Non Bounceable Account description: The non-bounceable address of the contract in base64 url format example: UQBxs5hnTxjzvzsnDofRfbJeXsylUcxR8OSW7UUv317csHZ1 original_account: type: string title: Original Account description: The address TON contract in the originally inserted format. type: object required: - type - raw_account - base64_url_bounceable_account - base64_url_non_bounceable_account - original_account title: EnrichedTonAddress PredictAptosSerializedRawTransactionRequest: properties: type: type: string const: aptos_serialized_entry_point_payload title: Type description: An Aptos transaction with serialized entry point payload. 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 gas_config: description: The gas configuration for the transaction. $ref: '#/components/schemas/AptosGasConfigRequest' with_external_fee_payer: type: boolean title: With External Fee Payer description: If true, the transaction's Authenticator will be configured to support an external fee payer. After Fordefi signs the transaction, the client is responsible for forwarding it to the designated fee payer for final signing and broadcasting. default: false chain: $ref: '#/components/schemas/AptosChainUniqueId' description: The chain that this transaction is on. Specify the chain name (for example, `aptos_mainnet`). serialized_transaction_payload: type: string title: Serialized Transaction Payload description: The serialized transaction payload in base64 format. example: SGVsbG8= type: object required: - type - chain - serialized_transaction_payload title: PredictAptosSerializedRawTransactionRequest TransactionPredictSuiMessageRequest: 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: sui_message title: Type description: Sui message type. details: $ref: '#/components/schemas/SuiPersonalMessageRequest' type: object required: - vault_id - type - details title: TransactionPredictSuiMessageRequest UtxoOutputRequest: properties: to: oneOf: - $ref: '#/components/schemas/UtxoOutputToAddressRequest' - $ref: '#/components/schemas/UtxoOutputToVaultAddressIdRequest' - $ref: '#/components/schemas/UtxoOutputToVaultIdRequest' - $ref: '#/components/schemas/UtxoOutputToContactIdRequest' discriminator: propertyName: type mapping: address: '#/components/schemas/UtxoOutputToAddressRequest' contact_id: '#/components/schemas/UtxoOutputToContactIdRequest' vault_address_id: '#/components/schemas/UtxoOutputToVaultAddressIdRequest' vault_id: '#/components/schemas/UtxoOutputToVaultIdRequest' value: type: string pattern: ^0*[1-9]\d*$ title: Value example: '1000000000000000000' type: object required: - to - value title: UtxoOutputRequest SolanaMessageResult: properties: effects: $ref: '#/components/schemas/SolanaEffects' description: The effects of the transaction. type: object required: - effects title: SolanaMessageResult 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 ArchReversion: properties: state: $ref: '#/components/schemas/ArchReversionState' description: 'The state of the reversion. Is one of the following:
  • `not_reverted`: No reversion, meaning, completed successfully.
  • `unknown_revert`: Fordefi does not know the reason for the reversion.
  • `contract_asserted`: The smart contract originally made an assertion that was later rejected and the transaction was halted.
  • `insufficient_funds_gas_and_value`: A transaction was sent for which there were insufficient funds.
  • `insufficient_funds_for_rent`: There is not enough SOL in the account to pay for the rent.
' reason: title: Reason description: The reason for the reversion (additional information). type: string type: object required: - state title: ArchReversion CosmosMessageData: oneOf: - $ref: '#/components/schemas/CosmosMessageStrData' - $ref: '#/components/schemas/CosmosMessageBase64Data' discriminator: propertyName: type mapping: base64: '#/components/schemas/CosmosMessageBase64Data' string: '#/components/schemas/CosmosMessageStrData' 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 CreateEvmTransactionRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: evm_transaction title: Type description: EVM transaction type. details: oneOf: - $ref: '#/components/schemas/CreateEvmRawTransactionRequest' - $ref: '#/components/schemas/CreateEvmTransferRequest' - $ref: '#/components/schemas/CreateEvmRevokeAllowanceRequest' - $ref: '#/components/schemas/CreateEvmSetCodeRequest' - $ref: '#/components/schemas/CreateEvmWrapNativeRequest' - $ref: '#/components/schemas/CreateEvmUnwrapNativeRequest' discriminator: propertyName: type mapping: evm_raw_transaction: '#/components/schemas/CreateEvmRawTransactionRequest' evm_revoke_allowance: '#/components/schemas/CreateEvmRevokeAllowanceRequest' evm_set_code: '#/components/schemas/CreateEvmSetCodeRequest' evm_transfer: '#/components/schemas/CreateEvmTransferRequest' evm_unwrap_native: '#/components/schemas/CreateEvmUnwrapNativeRequest' evm_wrap_native: '#/components/schemas/CreateEvmWrapNativeRequest' type: object required: - vault_id - type - details title: CreateEvmTransactionRequest ProviderInfo: properties: provider_id: $ref: '#/components/schemas/ProviderId' description: The provider ID. provider_name: type: string title: Provider Name description: The provider name. type: object required: - provider_id - provider_name title: ProviderInfo 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 CreateTonSerializedRawTransactionRequest: properties: type: type: string const: ton_raw_transaction title: Type description: An Ton transaction with raw payload. 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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party.
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' default: auto chain: $ref: '#/components/schemas/TonChainUniqueId' description: The chain that this transaction is on. Specify the chain name (for example, `ton_mainnet`). transaction_payload: $ref: '#/components/schemas/TonTransactionPayload' description: The transaction payload type: object required: - type - chain - transaction_payload title: CreateTonSerializedRawTransactionRequest TronTransaction: 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: tron_transaction title: Type description: TRON transaction type. tron_transaction_type_details: oneOf: - $ref: '#/components/schemas/TronNativeTransferDetails' - $ref: '#/components/schemas/TronTokenTransferDetails' - $ref: '#/components/schemas/TronStakeDetails' - $ref: '#/components/schemas/TronUnstakeDetails' - $ref: '#/components/schemas/TronDelegateDetails' - $ref: '#/components/schemas/TronUndelegateDetails' - $ref: '#/components/schemas/TronContractCallDetails' description: Details of the TRON transaction based on its type. discriminator: propertyName: type mapping: contract_call: '#/components/schemas/TronContractCallDetails' delegate: '#/components/schemas/TronDelegateDetails' native_transfer: '#/components/schemas/TronNativeTransferDetails' stake: '#/components/schemas/TronStakeDetails' token_transfer: '#/components/schemas/TronTokenTransferDetails' undelegate: '#/components/schemas/TronUndelegateDetails' unstake: '#/components/schemas/TronUnstakeDetails' chain: $ref: '#/components/schemas/EnrichedTronChain' description: The details of the chain this transaction is on. sender: $ref: '#/components/schemas/EnrichedTronAddress' description: The sender of the transaction. hash: title: Hash description: The hash of the transaction. type: string maxLength: 64 minLength: 64 pattern: ^[a-fA-F0-9]+$ example: 32bd287f0d6c5fde3381cca851fb7c021cc9782165c08078d9a8554163a86b17 serialized_signed_transaction: title: Serialized Signed Transaction description: The serialized signed transaction. type: string expected_result: description: The expected result of the transaction in case it is mined. $ref: '#/components/schemas/TronTransactionResult' mined_result: description: The result of the transaction after it was mined. $ref: '#/components/schemas/TronTransactionResult' explorer_url: title: Explorer Url description: The URL of this transaction in a blockchain explorer. For example, https://explorer.hiro.so/ example: https://explorer.hiro.so/txid/0xd303fc22b2b8c346a0a1fa164a1ccb878a172dc2b8ce08253a6b2312cafb1520 type: string maxLength: 2083 minLength: 1 format: uri memo: title: Memo description: The memo of the transaction. type: string type: object required: - id - created_at - modified_at - signatures - direction - interacted_vaults - organization_id - state - state_changes - type - tron_transaction_type_details - chain - sender title: TronTransaction 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 TronTransactionResult: properties: reversion: $ref: '#/components/schemas/TronReversion' description: Details whether the transaction was reverted or not. fee: $ref: '#/components/schemas/TronFee' description: The fees of the transaction. effects: $ref: '#/components/schemas/TronEffects' description: The effects of the transaction. type: object required: - reversion - fee - effects title: TronTransactionResult StellarMessageType: type: string enum: - personal_message title: StellarMessageType ExchangeType: type: string enum: - binance - bybit - coinbase_international - coinbase_us - okx - kraken title: ExchangeType PredictedEvmMessage: 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 type: type: string const: evm_message title: Type description: The type of the transaction. chain: $ref: '#/components/schemas/EnrichedEvmChain' description: The details of the chain that this message is on. sender: $ref: '#/components/schemas/EnrichedEvmAddress' description: The sender of the message. evm_message_type: $ref: '#/components/schemas/EvmMessageType' description: The type of the EVM message. typed_data: description: The typed data of the messages. oneOf: - $ref: '#/components/schemas/UnknownTypedMessageEvmMessage' - $ref: '#/components/schemas/PermitTypedMessageEvmMessage' - $ref: '#/components/schemas/Permit2TypedMessageEvmMessage' - $ref: '#/components/schemas/SpotSwapTypedMessageEvmMessage' - $ref: '#/components/schemas/SafeTypedMessageEvmMessage' - $ref: '#/components/schemas/HyperliquidTypedMessageEvmMessage' discriminator: propertyName: type mapping: hyperliquid: '#/components/schemas/HyperliquidTypedMessageEvmMessage' permit: '#/components/schemas/PermitTypedMessageEvmMessage' permit2: '#/components/schemas/Permit2TypedMessageEvmMessage' safe: '#/components/schemas/SafeTypedMessageEvmMessage' spot_swap: '#/components/schemas/SpotSwapTypedMessageEvmMessage' unknown: '#/components/schemas/UnknownTypedMessageEvmMessage' message_to_display: type: string title: Message To Display description: User-friendly formatting of the message to be signed. expected_result: $ref: '#/components/schemas/EvmMessageResult' description: Predicted outcome of message execution when simulation is available. Simulation is supported for specific intent types including ERC20 Permit messages and swaps created via the Fordefi web console. Is empty when simulation is not available for the intent type. type: object required: - matched_policies - risks - type - chain - sender - evm_message_type - message_to_display - expected_result title: PredictedEvmMessage CreateCosmosTransactionWithWaitRequest: 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:
  • `initiator`: The creator of the transaction (default).
  • `api_signer`: A service that you run on your own network or cloud environment.
  • `end_user`: A mobile device using Fordefi''s SDK.
' 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:
  • `auto`: The transaction will move to signing automatically after approval.
  • `triggered`: The transaction will be in the `waiting_for_signing_trigger` state until "Trigger Transaction Signing" is called. Currently supported only for API Signer signer type.
' default: auto dapp_info: description: The DApp information. $ref: '#/components/schemas/DappInfo' type: type: string const: cosmos_transaction title: Type description: Cosmos transaction type. details: oneOf: - $ref: '#/components/schemas/TypedCosmosRawTransactionRequest' - $ref: '#/components/schemas/TypedCosmosTransferRequest' description: Transaction details. discriminator: propertyName: type mapping: cosmos_raw_transaction: '#/components/schemas/TypedCosmosRawTransactionRequest' cosmos_transfer: '#/components/schemas/TypedCosmosTransferRequest' timeout: type: integer maximum: 50.0 minimum: 1.0 title: Timeout description: The maximum time in seconds to wait for the transaction to reach the specified state. For states that require more than 50 seconds, using webhooks or polling is preferable. default: 10 wait_for_state: $ref: '#/components/schemas/PushableTransactionState' description: The state to wait for. type: object required: - vault_id - type - details - wait_for_state title: CreateCosmosTransactionWithWaitRequest StarknetReversionState: type: string enum: - not_reverted - unknown_revert - contract_asserted - insufficient_funds_gas_and_value title: StarknetReversionState SignMode: type: string enum: - auto - triggered title: SignMode ArchRecipientBase58Repr: properties: type: type: string const: address title: Type description: The type of the recipient. address: type: string pattern: ^[a-km-zA-HJ-NP-Z1-9]+$ title: Address description: The address of the recipient. type: object required: - type - address title: ArchRecipientBase58Repr TransactionDetailsSolanaRawTransactionRequest: 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 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: The type of the transaction. 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`). type: object required: - version - instructions - accounts - address_table_lookups - type - chain title: TransactionDetailsSolanaRawTransactionRequest TransactionType: type: string enum: - aptos_message - aptos_transaction - arch_transaction - black_box_signature - canton_transaction - cosmos_message - cosmos_transaction - evm_message - evm_transaction - exchange_transaction - solana_message - solana_transaction - stacks_transaction - starknet_message - starknet_transaction - stellar_message - stellar_transaction - sui_message - sui_transaction - ton_message - ton_transaction - tron_message - tron_transaction - utxo_message - utxo_transaction title: TransactionType CantonTransaction: 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: canton_transaction title: Type description: Canton transaction type. canton_transaction_type_details: oneOf: - $ref: '#/components/schemas/CantonNativeTransferDetails' - $ref: '#/components/schemas/CantonTokenTransferDetails' - $ref: '#/components/schemas/CantonPartyAllocationDetails' - $ref: '#/components/schemas/CantonApproveTransferDetails' - $ref: '#/components/schemas/CantonPreApprovalSetupDetails' description: Details of the Canton transaction based on its type. discriminator: propertyName: type mapping: approve_transfer: '#/components/schemas/CantonApproveTransferDetails' native_transfer: '#/components/schemas/CantonNativeTransferDetails' party_allocation: '#/components/schemas/CantonPartyAllocationDetails' pre_approval_setup: '#/components/schemas/CantonPreApprovalSetupDetails' token_transfer: '#/components/schemas/CantonTokenTransferDetails' chain: $ref: '#/components/schemas/EnrichedCantonChain' description: The details of the chain this transaction is on. sender: $ref: '#/components/schemas/EnrichedCantonAddress' description: The sender of the transaction. recipient: description: The recipient of the assets. $ref: '#/components/schemas/EnrichedCantonAddress' expected_result: description: The expected result of the transaction in case it is mined. $ref: '#/components/schemas/CantonTransactionResult' mined_result: description: The result of the transaction after it was mined. $ref: '#/components/schemas/CantonTransactionResult' memo: title: Memo description: Optional memo attached to the transfer. type: string approval_status: description: The approval status of the transaction. Set to 'requires_approval' when the receiver must accept an incoming transfer, 'approved' once the transfer has settled (including auto-accept via pre-approval), or 'expired' when the transfer window has elapsed before acceptance. $ref: '#/components/schemas/CantonApprovalStatus' approval_expires_at: title: Approval Expires At description: Only set when `approval_status` is `requires_approval`. The sender's `executeBefore` on the pending TransferInstruction — the receiver must accept before this time or the transfer expires. type: string format: date-time hash: title: Hash description: The on-ledger update id of the transaction. type: string explorer_url: title: Explorer Url description: Link to view the transaction on the block explorer. type: string maxLength: 2083 minLength: 1 format: uri type: object required: - id - created_at - modified_at - signatures - direction - interacted_vaults - organization_id - state - state_changes - type - canton_transaction_type_details - chain - sender title: CantonTransaction TypedCosmosTransferRequest: properties: type: type: string const: cosmos_transfer title: Type description: A Cosmos transfer transaction. A transaction of this kind is for transferring Cosmos assets. 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:
  • `auto`: The transaction is pushed automatically by Fordefi.
  • `manual`: The transaction should be pushed manually by the user using a 3rd party.
  • `deferred`: The transaction is pushed by Fordefi after a certain time, if by that time it wasn''t pushed manually by the client.
' default: auto to: oneOf: - $ref: '#/components/schemas/CosmosTransferToAddressRequest' - $ref: '#/components/schemas/RecipientVaultId' - $ref: '#/components/schemas/RecipientContactId' description: The recipient of the transfer. Specify either a general address, the ID of another vault, or a contact ID. discriminator: propertyName: type mapping: address: '#/components/schemas/CosmosTransferToAddressRequest' contact_id: '#/components/schemas/RecipientContactId' vault_id: '#/components/schemas/RecipientVaultId' asset_identifier: $ref: '#/components/schemas/CosmosAssetIdentifierRequest' description: The asset to be transferred. value: oneOf: - $ref: '#/components/schemas/CreateRequestExplicitAmount' - $ref: '#/components/schemas/CreateRequestMaxAmount' description: 'Specify one of the following:
  • `value`
  • `max`
' discriminator: propertyName: type mapping: max: '#/components/schemas/CreateRequestMaxAmount' value: '#/components/schemas/CreateRequestExplicitAmount' memo: title: Memo description: Transaction memo. type: string type: object required: - type - to - asset_identifier - value title: TypedCosmosTransferRequest PredictAptosTransferRequest: properties: fee_payer: description: The vault that pays the fee for this transaction. $ref: '#/components/schemas/TransactionFeePayerVault' type: type: string const: aptos_transfer title: Type description: An Aptos transfer transaction. A transaction of this kind is for transferring native currency or a coin. 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 gas_config: description: The gas configuration for the transaction. $ref: '#/components/schemas/AptosGasConfigRequest' with_external_fee_payer: type: boolean title: With External Fee Payer description: If true, the transaction's Authenticator will be configured to support an external fee payer. After Fordefi signs the transaction, the client is responsible for forwarding it to the designated fee payer for final signing and broadcasting. default: false to: oneOf: - $ref: '#/components/schemas/AptosRecipientHex' - $ref: '#/components/schemas/RecipientVaultId' - $ref: '#/components/schemas/RecipientContactId' discriminator: propertyName: type mapping: contact_id: '#/components/schemas/RecipientContactId' hex: '#/components/schemas/AptosRecipientHex' vault_id: '#/components/schemas/RecipientVaultId' value: oneOf: - $ref: '#/components/schemas/CreateRequestExplicitAmount' - $ref: '#/components/schemas/CreateRequestMaxAmount' description: The number of units of currency to transfer. discriminator: propertyName: type mapping: max: '#/components/schemas/CreateRequestMaxAmount' value: '#/components/schemas/CreateRequestExplicitAmount' asset_identifier: $ref: '#/components/schemas/AptosAssetIdentifierRequest' description: The Aptos asset identifier to transfer. type: object required: - type - to - value - asset_identifier title: PredictAptosTransferRequest Permit2TypedMessageEvmMessage: properties: domain: $ref: '#/components/schemas/EvmMessageDomainData' description: The domain data. primary_type: type: string title: Primary Type description: Used to identify the primary type of the message. enriched_addresses: additionalProperties: $ref: '#/components/schemas/EnrichedEvmAddress' type: object title: Enriched Addresses description: 'Addresses that are related to this message, enriched with metadata.Please NOTE: the dictionary keys are EIP-55 checksummed addresses' default: {} type: type: string const: permit2 title: Type description: The typed message type. deadline: type: string format: date-time title: Deadline description: Signature deadline. type: object required: - domain - primary_type - type - deadline title: Permit2TypedMessageEvmMessage ValidationErrorDetail: properties: loc: items: anyOf: - type: integer - type: string type: array title: Location msg: type: string title: Message type: type: string title: Error Type type: object required: - loc - msg - type title: ValidationErrorDetail ExchangeAssetIdentifier: properties: type: type: string const: exchange title: Type description: Asset identifier type. exchange_type: $ref: '#/components/schemas/ExchangeType' description: exchange type. asset_symbol: type: string title: Asset Symbol description: The symbol of the asset on the exchange. chain: $ref: '#/components/schemas/EnrichedExchangeChain' type: object required: - type - exchange_type - asset_symbol - chain title: ExchangeAssetIdentifier securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT