openapi: 3.1.0
info:
title: Fordefi Address Book Batch Transactions API
version: 0.2.0
description: These endpoints allow you to list the contacts in your address book.
To add/remove contacts, visit the Fordefi web console. See the user guide for more info.
servers:
- url: https://api.fordefi.com/
description: Production
security:
- bearerAuth: []
tags:
- name: Batch Transactions
description: "These endpoints allow you to manage batch transactions on the Fordefi platform.\n
\n Batch transactions are currently supported only on Solana, for the purpose\n of supporting the `signAllTransactions` flow used by certain Solana DApps.\n Batch transactions undergo policy evaluation as a whole: the policy is\n applied to a “virtual transaction” whose list of instructions is the union\n of the instructions of the individual transactions in the batch, and whose balance\n changes are the aggregation of balance changes of the individual transactions."
paths:
/api/v1/batch-transactions:
post:
tags:
- Batch Transactions
summary: Create Batch Transaction
description: 'Create a batch of transactions.
Batch transactions are currently supported only on Solana.'
operationId: create_batch_transaction_api_v1_batch_transactions_post
parameters:
- name: x-signature
in: header
required: false
schema:
description: Signature of the body. Base64 encoded string. If the request is made programatically by an API user, signing of the request is required and is intended to protect you from malicious backends. `x_signature` is valid for 120 seconds.
title: X-Signature
type: string
example: SGVsbG8=
description: Signature of the body. Base64 encoded string. If the request is made programatically by an API user, signing of the request is required and is intended to protect you from malicious backends. `x_signature` is valid for 120 seconds.
- name: x-timestamp
in: header
required: false
schema:
description: Timestamp of the signature. Integer. Specify an Epoch date. If the request is made programatically by an API user, the timestamp of the request is required and is intended to protect you from replay attacks.
title: X-Timestamp
type: integer
description: Timestamp of the signature. Integer. Specify an Epoch date. If the request is made programatically by an API user, the timestamp of the request is required and is intended to protect you from replay attacks.
- name: x-idempotence-id
in: header
required: false
schema:
description: Optional idempotence ID of a transaction.
title: X-Idempotence-Id
type: string
format: uuid
description: Optional idempotence ID of a transaction.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateBatchTransactionRequest'
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/CreateBatchTransactionResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/DefinedPreconditionError_CreateTransactionErrorType_'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationError'
'500':
description: Unexpected Error
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'401':
description: Unauthorized User
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'403':
description: Forbidden User
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'408':
description: Request Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'429':
description: Rate Limit Exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/RateLimitError'
/api/v1/batch-transactions/predict:
post:
tags:
- Batch Transactions
summary: Predict Batch Transaction
description: 'Simulate the batch of transactions and show changes in
token balances, in addition to the fee estimation
Batch transactions are currently supported only on Solana.'
operationId: predict_batch_transaction_api_v1_batch_transactions_predict_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PredictBatchTransactionRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PredictBatchTransactionResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/DefinedPreconditionError_PredictTransactionErrorType_'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationError'
'500':
description: Unexpected Error
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'401':
description: Unauthorized User
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'403':
description: Forbidden User
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'408':
description: Request Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'429':
description: Rate Limit Exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/RateLimitError'
/api/v1/batch-transactions/{batch_id}/abort:
post:
tags:
- Batch Transactions
summary: Abort Batch Transaction
description: Abort a batch of transactions.
operationId: abort_batch_transaction_api_v1_batch_transactions__batch_id__abort_post
parameters:
- name: batch_id
in: path
required: true
schema:
type: string
format: uuid
description: Transaction ID of the last transaction in the batch (for example, transaction 2/2 in the batch).ORValue of the `managed_transaction_data.batch_data.batch_id` field of any transaction in the batch.
title: Batch Id
description: Transaction ID of the last transaction in the batch (for example, transaction 2/2 in the batch).ORValue of the `managed_transaction_data.batch_data.batch_id` field of any transaction in the batch.
responses:
'204':
description: Successful Response
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/DefinedPreconditionError_AbortTransactionErrorType_'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationError'
'500':
description: Unexpected Error
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'401':
description: Unauthorized User
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'403':
description: Forbidden User
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'408':
description: Request Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'429':
description: Rate Limit Exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/RateLimitError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceError'
/api/v1/batch-transactions/{batch_id}/approve:
post:
tags:
- Batch Transactions
summary: Approve Batch Transaction
description: Approve a batch of transactions.
operationId: approve_batch_transaction_api_v1_batch_transactions__batch_id__approve_post
parameters:
- name: batch_id
in: path
required: true
schema:
type: string
format: uuid
description: Transaction ID of the last transaction in the batch (for example, transaction 2/2 in the batch).ORValue of the `managed_transaction_data.batch_data.batch_id`field of any transaction in the batch.
title: Batch Id
description: Transaction ID of the last transaction in the batch (for example, transaction 2/2 in the batch).ORValue of the `managed_transaction_data.batch_data.batch_id`field of any transaction in the batch.
responses:
'204':
description: Successful Response
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/DefinedPreconditionError_ApproveTransactionErrorType_'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationError'
'500':
description: Unexpected Error
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'401':
description: Unauthorized User
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'403':
description: Forbidden User
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'408':
description: Request Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'429':
description: Rate Limit Exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/RateLimitError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceError'
components:
schemas:
SolanaPriorityFeeRequest:
properties:
type:
type: string
const: priority
title: Type
priority_level:
$ref: '#/components/schemas/FeePriorityLevelRequest'
description: 'Using the Fee Priority option, you allocate the range of fee you are willing to add: low, medium, or high. Fordefi then does its best to achieve success, based on these parameters.'
type: object
required:
- type
- priority_level
title: SolanaPriorityFeeRequest
StacksAssetIdentifier:
properties:
type:
type: string
const: stacks
title: Type
description: Stacks asset identifier type.
details:
oneOf:
- $ref: '#/components/schemas/StacksNativeAssetIdentifierRequest'
- $ref: '#/components/schemas/StacksSip10AssetIdentifierRequest'
discriminator:
propertyName: type
mapping:
native: '#/components/schemas/StacksNativeAssetIdentifierRequest'
sip10: '#/components/schemas/StacksSip10AssetIdentifierRequest'
chain:
$ref: '#/components/schemas/EnrichedStacksChain'
type: object
required:
- type
- details
- chain
title: StacksAssetIdentifier
EnrichedUtxoChain:
properties:
chain_type:
type: string
const: utxo
title: Chain Type
description: The type of the chain.
unique_id:
$ref: '#/components/schemas/UtxoChainUniqueId'
description: The UTXO chain unique ID.
name:
type: string
minLength: 1
title: Name
description: The full blockchain name.
native_currency_symbol:
type: string
minLength: 1
title: Native Currency Symbol
description: The native currency symbol.
example: ETH
native_currency_name:
type: string
minLength: 1
title: Native Currency Name
description: The native currency name.
example: Ether
blockchain_explorer:
$ref: '#/components/schemas/BlockchainExplorer'
logo_url:
type: string
maxLength: 2083
minLength: 1
format: uri
title: Logo Url
description: The logo URL of the chain.
is_testnet:
type: boolean
title: Is Testnet
description: Whether the chain is on a testnet.
is_enabled:
type: boolean
title: Is Enabled
description: Whether the chain is enabled.
type: object
required:
- chain_type
- unique_id
- name
- native_currency_symbol
- native_currency_name
- logo_url
- is_testnet
- is_enabled
title: EnrichedUtxoChain
EnrichedUtxoAddress:
properties:
vault:
description: The vault corresponding to this address.
$ref: '#/components/schemas/VaultRef'
explorer_url:
title: Explorer Url
description: The URL of a blockchain explorer that provides real-time information about the address.
type: string
maxLength: 2083
minLength: 1
format: uri
contact:
description: The contact details of this address.
$ref: '#/components/schemas/ContactRef'
type:
type: string
const: utxo
title: Type
address:
$ref: '#/components/schemas/UtxoAddress'
description: The UTXO address.
vault_address:
description: The vault address corresponding to this address.
$ref: '#/components/schemas/VaultAddressRef'
type: object
required:
- type
- address
title: EnrichedUtxoAddress
SolanaTokenTransferDetails:
properties:
type:
type: string
const: token_transfer
title: Type
description: 'A transaction involving the transfer of native currency from one address to another. '
sender:
$ref: '#/components/schemas/EnrichedSolanaAddress'
description: The sender of the tokens.
recipient:
$ref: '#/components/schemas/EnrichedSolanaAddress'
description: The recipient of the tokens.
is_internal:
title: Is Internal
description: Is this transfer an internal transfer between two vaults. None if the transaction is incoming.
type: boolean
type: object
required:
- type
- sender
- recipient
title: SolanaTokenTransferDetails
SolanaCustomFeeRequest:
properties:
type:
type: string
const: custom
title: Type
priority_fee:
title: Priority Fee
description: The priority fee to use in the transaction (In lamports).
type: string
pattern: ^0*[1-9]\d*$
example: '1000000000000000000'
unit_price:
title: Unit Price
description: The unit price to use in the transaction (In microlamports).
type: string
pattern: ^\d+$
example: '1000000000000000000'
type: object
required:
- type
title: SolanaCustomFeeRequest
TronChain:
properties:
chain_type:
type: string
const: tron
title: Chain Type
description: The type of the chain.
unique_id:
$ref: '#/components/schemas/TronChainUniqueId'
description: The type of the Tron-based chain.
type: object
required:
- chain_type
- unique_id
title: TronChain
PrioritySolanaSuggestedFees:
properties:
type:
type: string
const: solana
title: Type
description: The type of the chain.
chain_unique_id:
$ref: '#/components/schemas/SolanaChainUniqueId'
description: The Solana chain unique id.
base_fee:
type: string
pattern: ^\d+$
title: Base Fee
description: The base fee paid for the signatures in the transaction, denominated in lamports.
example: '1000000000000000000'
low:
type: string
pattern: ^\d+$
title: Low
description: The low suggested fee per byte, denominated in lamports.
example: '1000000000000000000'
medium:
type: string
pattern: ^\d+$
title: Medium
description: The medium suggested fee per byte, denominated in lamports.
example: '1000000000000000000'
high:
type: string
pattern: ^\d+$
title: High
description: The high suggested fee per byte, denominated in lamports.
example: '1000000000000000000'
fee_type:
type: string
const: priority_fee
title: Fee Type
description: The type of the fee.
unit_prices:
$ref: '#/components/schemas/SolanaUnitPrices'
description: The unit prices for the suggested fees.
type: object
required:
- type
- chain_unique_id
- base_fee
- low
- medium
- high
- fee_type
- unit_prices
title: PrioritySolanaSuggestedFees
SolanaMessageVersion:
type: string
enum:
- legacy
- v0
title: SolanaMessageVersion
SolanaTransactionSignaturesRequest:
properties:
data:
title: Data
description: Signature on the data, encoded in base64 format.
type: string
example: SGVsbG8=
type: object
title: SolanaTransactionSignaturesRequest
TronChainUniqueId:
type: string
enum:
- tron_mainnet
- tron_shasta
title: TronChainUniqueId
RiskRating:
type: string
enum:
- low
- medium
- high
- severe
title: RiskRating
DlcDataResponse:
properties:
dlc_transaction_type:
$ref: '#/components/schemas/UtxoDlcTransactionType'
funding_transaction_id:
type: string
format: uuid
title: Funding Transaction Id
refund_transaction_id:
type: string
format: uuid
title: Refund Transaction Id
cet_transaction_ids:
items:
type: string
format: uuid
type: array
title: Cet Transaction Ids
adaptor_point:
title: Adaptor Point
type: string
pattern: ^0[xX][a-fA-F0-9]+$
type: object
required:
- dlc_transaction_type
- funding_transaction_id
- refund_transaction_id
- cet_transaction_ids
title: DlcDataResponse
StarknetChainUniqueId:
type: string
enum:
- starknet_mainnet
title: StarknetChainUniqueId
StacksAddressBookContactAddressRef:
properties:
chain_type:
type: string
const: stacks
title: Chain Type
description: The type of the chain.
address:
type: string
maxLength: 171
pattern: ^S[0-9A-Za-z._-]+$
title: Address
description: The address on the Stacks chain.
example: SP3J4NWQXC312DK0GXVRZKSRFBZG8S5FG1D2160E9
chains:
items:
$ref: '#/components/schemas/StacksChain'
type: array
title: Chains
description: The chains the contact belongs to.
memo:
title: Memo
description: Memo is an additional address feature used for identifying a recipient.
type: string
type: object
required:
- chain_type
- address
- chains
title: StacksAddressBookContactAddressRef
DefinedPreconditionError_ApproveTransactionErrorType_:
properties:
title:
type: string
title: Title
description: Human-readable error message.
detail:
type: string
title: Detail
description: Detailed error message.
full_detail:
title: Full Detail
description: Full error message with additional details, if available.
type: string
request_id:
title: Request Id
description: Request ID - for debugging purposes.
type: string
system_error_code:
title: System Error Code
description: An additional system error code in Fordefi.
type: string
error_type:
$ref: '#/components/schemas/ApproveTransactionErrorType'
type: object
required:
- title
- detail
title: DefinedPreconditionError[ApproveTransactionErrorType]
CreateBatchTransactionInstanceDetails:
properties:
version:
$ref: '#/components/schemas/SolanaMessageVersion'
description: The version of the transaction message.
instructions:
items:
$ref: '#/components/schemas/SolanaCompiledInstructionRequest'
type: array
minItems: 1
title: Instructions
description: The instructions of the transaction.
accounts:
items:
$ref: '#/components/schemas/SolanaTransactionAccountRequest'
type: array
minItems: 1
title: Accounts
description: Accounts used in the transaction.
address_table_lookups:
title: Address Table Lookups
description: Lookup tables of accounts used in the transaction.
items:
$ref: '#/components/schemas/SolanaMessageAddressTableLookupRequest'
type: array
signatures:
title: Signatures
description: Any partial signatures on the transaction.
items:
$ref: '#/components/schemas/SolanaTransactionSignaturesRequest'
type: array
recent_blockhash:
title: Recent Blockhash
description: The transaction nonce (a recently processed blockhash).
type: string
maxLength: 44
minLength: 32
pattern: ^[a-km-zA-HJ-NP-Z1-9]+$
example: 4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZAMdL4VZHirAn
type: object
required:
- version
- instructions
- accounts
- address_table_lookups
title: CreateBatchTransactionInstanceDetails
TonNativeAssetIdentifierRequest:
properties:
type:
type: string
const: native
title: Type
description: TON asset identifier type.
chain:
$ref: '#/components/schemas/TonChainUniqueId'
description: The details of the chain of the native asset.
type: object
required:
- type
- chain
title: TonNativeAssetIdentifierRequest
SuiAddressBookContactAddressRef:
properties:
chain_type:
type: string
const: sui
title: Chain Type
description: The type of the chain.
address:
type: string
maxLength: 66
minLength: 66
pattern: ^0[xX][a-fA-F0-9]+$
title: Address
description: The address on the Sui chain.
example: '0x3300c18e7b931bdfc73dccf3e2d043ad1c9d120c777fff5aeeb9956224e5247a'
chains:
items:
$ref: '#/components/schemas/SuiChain'
type: array
title: Chains
description: The chains the contact belongs to.
type: object
required:
- chain_type
- address
- chains
title: SuiAddressBookContactAddressRef
ChainalysisAlert:
properties:
category:
$ref: '#/components/schemas/Category'
description: The category of the AML rule.
risk_rating:
$ref: '#/components/schemas/RiskRating'
description: Defines the alert's risk as SEVERE, HIGH, MEDIUM, or LOW.
exposure_type:
$ref: '#/components/schemas/ExposureType'
description: Defines the exposure direction as DIRECT. Currently, we don't provide indirect exposure for withdrawal attempt alerts.
service:
title: Service
description: The name of the service as defined by Chainalysis. If null returns, Chainalysis has not yet identified the service's name.
type: string
type: object
required:
- category
- risk_rating
- exposure_type
title: ChainalysisAlert
StarknetErc20AssetIdentifierRequest:
properties:
type:
type: string
const: erc20
title: Type
description: Erc20 asset identifier type.
erc20:
$ref: '#/components/schemas/StarknetAddressRequest'
description: The Erc20 details.
type: object
required:
- type
- erc20
title: StarknetErc20AssetIdentifierRequest
UtxoDlcTransactionType:
type: string
enum:
- FUNDING_TRANSACTION
- REFUND_TRANSACTION
- CET_TRANSACTION
title: UtxoDlcTransactionType
TronTrc20AssetIdentifierRequest:
properties:
type:
type: string
const: trc20
title: Type
description: Trc20 asset identifier type.
trc20:
$ref: '#/components/schemas/TronAddressRequest'
description: The Trc20 details.
type: object
required:
- type
- trc20
title: TronTrc20AssetIdentifierRequest
ApprovalRequestState:
type: string
enum:
- created
- approved
- insufficient_approvers
- auto_approved
- failed
title: ApprovalRequestState
description: Represents the whole approval request state
PredictTransactionErrorType:
type: string
enum:
- vault_not_found
- invalid_evm_message
- invalid_evm_transaction_data
- reverted_transaction
- transaction_to_non_contract
- vault_type_mismatch
- dust_not_allowed
- insecure_key_derivation
- missing_secret_key_or_recent_blockhash
- missing_secret_key_or_signature
- revoke_allowance_gas_limit_too_high
- priority_fee_already_set
- quote_not_found
- transaction_uses_secure_node
title: PredictTransactionErrorType
SolanaUnitPrices:
properties:
limit:
type: string
pattern: ^\d+$
title: Limit
description: The compute unit limit.
example: '1000000000000000000'
low:
type: string
pattern: ^\d+$
title: Low
description: The low suggested fee per byte, denominated in microlamports.
example: '1000000000000000000'
medium:
type: string
pattern: ^\d+$
title: Medium
description: The medium suggested fee per byte, denominated in microlamports.
example: '1000000000000000000'
high:
type: string
pattern: ^\d+$
title: High
description: The high suggested fee per byte, denominated in microlamports.
example: '1000000000000000000'
type: object
required:
- limit
- low
- medium
- high
title: SolanaUnitPrices
JitoSolanaSuggestedFees:
properties:
type:
type: string
const: solana
title: Type
description: The type of the chain.
chain_unique_id:
$ref: '#/components/schemas/SolanaChainUniqueId'
description: The Solana chain unique id.
base_fee:
type: string
pattern: ^\d+$
title: Base Fee
description: The base fee paid for the signatures in the transaction, denominated in lamports.
example: '1000000000000000000'
low:
type: string
pattern: ^\d+$
title: Low
description: The low suggested fee per byte, denominated in lamports.
example: '1000000000000000000'
medium:
type: string
pattern: ^\d+$
title: Medium
description: The medium suggested fee per byte, denominated in lamports.
example: '1000000000000000000'
high:
type: string
pattern: ^\d+$
title: High
description: The high suggested fee per byte, denominated in lamports.
example: '1000000000000000000'
fee_type:
type: string
const: jito
title: Fee Type
description: The type of the fee.
type: object
required:
- type
- chain_unique_id
- base_fee
- low
- medium
- high
- fee_type
title: JitoSolanaSuggestedFees
ExchangeChainUniqueId:
type: string
enum:
- exchange_binance
- exchange_bybit
- exchange_coinbase_international
- exchange_coinbase_us
- exchange_okx
- exchange_kraken
title: ExchangeChainUniqueId
PolicyMatch:
properties:
is_default:
type: boolean
title: Is Default
description: '`True` if this is the default rule, `False` otherwise.'
rule_id:
type: string
format: uuid
title: Rule Id
description: The unique identifier of the rule.
rule_name:
type: string
title: Rule Name
description: The name of the rule.
action_type:
$ref: '#/components/schemas/TransactionPolicyMatchActionType'
description: 'The action taken in the event of a policy match. Can be:
- Allow automatically
- Block
- Require express approval
'
type: object
required:
- is_default
- rule_id
- rule_name
- action_type
title: PolicyMatch
ArchAddressBookContactAddressRef:
properties:
chain_type:
type: string
const: arch
title: Chain Type
description: The type of the chain.
address:
type: string
maxLength: 44
minLength: 32
pattern: ^[a-km-zA-HJ-NP-Z1-9]+$
title: Address
description: The address on the Arch chain.
example: 4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA
chains:
items:
$ref: '#/components/schemas/ArchChain'
type: array
title: Chains
description: The chains the contact belongs to.
type: object
required:
- chain_type
- address
- chains
title: ArchAddressBookContactAddressRef
UtxoAddressBookContactAddressRef:
properties:
chain_type:
type: string
const: utxo
title: Chain Type
description: The type of the chain.
address:
type: string
maxLength: 74
minLength: 14
title: Address
description: The address on the utxo chain.
example: bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq
chain:
$ref: '#/components/schemas/UtxoChain'
description: The chain the contact belongs to.
type: object
required:
- chain_type
- address
- chain
title: UtxoAddressBookContactAddressRef
UtxoPsbtDetails:
properties:
type:
type: string
const: partially_signed_bitcoin_transaction
title: Type
description: A partially signed bitcoin transaction (PSBT).
psbt_raw_data:
type: string
pattern: ^0[xX][a-fA-F0-9]+$
title: Psbt Raw Data
description: Partially signed bitcoin transaction data encoded as a hex string.
signed_psbt_raw_data:
title: Signed Psbt Raw Data
description: Partially signed bitcoin transaction data encoded as a hex string.
type: string
pattern: ^0[xX][a-fA-F0-9]+$
sender:
$ref: '#/components/schemas/EnrichedUtxoAddress'
description: The address that signed the inputs.
json_representation:
title: Json Representation
description: Json representation of the PSBT.
type: string
type: object
required:
- type
- psbt_raw_data
- sender
title: UtxoPsbtDetails
TransactionDetailsUtxoCetRequest:
properties:
psbt_raw_data:
type: string
pattern: ^0[xX][a-fA-F0-9]+$
title: Psbt Raw Data
description: Partially signed bitcoin transaction data encoded as a hex string.
sender:
description: The signer on the inputs.
deprecated: true
$ref: '#/components/schemas/UtxoAddress'
signer:
title: Signer
description: The signer on the inputs.
type: string
maxLength: 74
minLength: 14
example: bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq
adaptor_point:
type: string
pattern: ^0[xX][a-fA-F0-9]+$
title: Adaptor Point
description: The adaptor point for the DLC CET transaction.
type: object
required:
- psbt_raw_data
- adaptor_point
title: TransactionDetailsUtxoCetRequest
SolanaTransactionAccount:
properties:
address:
$ref: '#/components/schemas/EnrichedSolanaAddress'
description: The address of the account.
writable:
type: boolean
title: Writable
description: Indicates if this account is writable in the context of the transaction.
signer:
type: boolean
title: Signer
description: Indicates if this account is a signer of the transaction.
type: object
required:
- address
- writable
- signer
title: SolanaTransactionAccount
UtxoEffects:
properties:
inputs:
items:
$ref: '#/components/schemas/UtxoInput'
type: array
title: Inputs
description: The inputs of the transaction.
outputs:
items:
$ref: '#/components/schemas/UtxoOutput'
type: array
title: Outputs
description: The outputs of the transaction.
balance_changes:
items:
$ref: '#/components/schemas/UtxoBalanceChangeEffect'
type: array
title: Balance Changes
description: The aggregated balance changes of vaults.
total_value:
type: string
pattern: ^\d+$
title: Total Value
description: The total value of the transaction.
example: '1000000000000000000'
priced_asset:
$ref: '#/components/schemas/PricedAsset'
description: The asset information.
type: object
required:
- inputs
- outputs
- balance_changes
- total_value
- priced_asset
title: UtxoEffects
DefinedPreconditionError_CreateTransactionErrorType_:
properties:
title:
type: string
title: Title
description: Human-readable error message.
detail:
type: string
title: Detail
description: Detailed error message.
full_detail:
title: Full Detail
description: Full error message with additional details, if available.
type: string
request_id:
title: Request Id
description: Request ID - for debugging purposes.
type: string
system_error_code:
title: System Error Code
description: An additional system error code in Fordefi.
type: string
error_type:
$ref: '#/components/schemas/CreateTransactionErrorType'
type: object
required:
- title
- detail
title: DefinedPreconditionError[CreateTransactionErrorType]
SolanaNativeTransferDetails:
properties:
type:
type: string
const: native_transfer
title: Type
description: 'A transaction involving the transfer of native currency from one address to another. '
sender:
$ref: '#/components/schemas/EnrichedSolanaAddress'
description: The sender of the tokens.
recipient:
$ref: '#/components/schemas/EnrichedSolanaAddress'
description: The recipient of the tokens.
is_internal:
title: Is Internal
description: Is this transfer an internal transfer between two vaults. None if the transaction is incoming.
type: boolean
type: object
required:
- type
- sender
- recipient
title: SolanaNativeTransferDetails
SolanaSplTokenAssetIdentifierRequest:
properties:
type:
type: string
const: spl_token
title: Type
description: SPL token asset identifier type.
token:
$ref: '#/components/schemas/SolanaAddressRequest'
description: The SPL token details.
type: object
required:
- type
- token
title: SolanaSplTokenAssetIdentifierRequest
SolanaReversion:
properties:
state:
$ref: '#/components/schemas/SolanaReversionState'
description: 'The state of the reversion. Is one of the following:- `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
VaultType:
type: string
enum:
- aptos
- arch
- black_box
- canton
- cosmos
- evm
- safe
- solana
- stacks
- starknet
- stellar
- sui
- ton
- tron
- utxo
- exchange
title: VaultType
SplToken:
properties:
type:
type: string
const: spl_token
title: Type
description: The type of the token
address:
$ref: '#/components/schemas/SolanaAddress'
description: The token address
name:
type: string
title: Name
description: The token name
symbol:
type: string
title: Symbol
description: The token symbol or ticker
decimals:
type: integer
title: Decimals
description: The token decimals
logo_url:
title: Logo Url
description: The token logo url
type: string
maxLength: 2083
minLength: 1
format: uri
type: object
required:
- type
- address
- name
- symbol
- decimals
title: SplToken
SimulationStatus:
type: string
enum:
- success
- failed
- reverted
- skipped
title: SimulationStatus
AptosAddressBookContactAddressRef:
properties:
chain_type:
type: string
const: aptos
title: Chain Type
description: The type of the chain.
address:
type: string
maxLength: 66
minLength: 66
pattern: ^0[xX][a-fA-F0-9]+$
title: Address
description: The address on the Aptos chain.
example: '0x3300c18e7b931bdfc73dccf3e2d043ad1c9d120c777fff5aeeb9956224e5247a'
chains:
items:
$ref: '#/components/schemas/AptosChain'
type: array
title: Chains
description: The chains the contact belongs to.
type: object
required:
- chain_type
- address
- chains
title: AptosAddressBookContactAddressRef
UtxoBalanceChangeEffect:
properties:
type:
type: string
const: native
title: Type
description: The type of the balance change.
vault:
$ref: '#/components/schemas/VaultRef'
description: The vault affected by the balance change.
diff:
type: string
pattern: ^-?\d+$
title: Diff
description: The amount of native currency that was added to or deducted from the owner's balance. If the amount was deducted, the value is negative; if the amount was added, the value is positive.
example: '1000000000000000000'
priced_asset:
$ref: '#/components/schemas/PricedAsset'
description: The asset information.
type: object
required:
- type
- vault
- diff
- priced_asset
title: UtxoBalanceChangeEffect
CantonChain:
properties:
chain_type:
type: string
const: canton
title: Chain Type
description: The type of the chain.
unique_id:
$ref: '#/components/schemas/CantonChainUniqueId'
description: The type of the Canton chain.
type: object
required:
- chain_type
- unique_id
title: CantonChain
TransactionPolicyMatchActionType:
type: string
enum:
- allow
- block
- require_approval
title: TransactionPolicyMatchActionType
EnrichedChain:
oneOf:
- $ref: '#/components/schemas/EnrichedAptosChain'
- $ref: '#/components/schemas/EnrichedArchChain'
- $ref: '#/components/schemas/EnrichedCantonChain'
- $ref: '#/components/schemas/EnrichedCosmosChain'
- $ref: '#/components/schemas/EnrichedEvmChain'
- $ref: '#/components/schemas/EnrichedExchangeChain'
- $ref: '#/components/schemas/EnrichedSolanaChain'
- $ref: '#/components/schemas/EnrichedStacksChain'
- $ref: '#/components/schemas/EnrichedStarknetChain'
- $ref: '#/components/schemas/EnrichedStellarChain'
- $ref: '#/components/schemas/EnrichedSuiChain'
- $ref: '#/components/schemas/EnrichedTonChain'
- $ref: '#/components/schemas/EnrichedTronChain'
- $ref: '#/components/schemas/EnrichedUtxoChain'
description: A blockchain with metadata.
discriminator:
propertyName: chain_type
mapping:
aptos: '#/components/schemas/EnrichedAptosChain'
arch: '#/components/schemas/EnrichedArchChain'
canton: '#/components/schemas/EnrichedCantonChain'
cosmos: '#/components/schemas/EnrichedCosmosChain'
evm: '#/components/schemas/EnrichedEvmChain'
exchange: '#/components/schemas/EnrichedExchangeChain'
solana: '#/components/schemas/EnrichedSolanaChain'
stacks: '#/components/schemas/EnrichedStacksChain'
starknet: '#/components/schemas/EnrichedStarknetChain'
stellar: '#/components/schemas/EnrichedStellarChain'
sui: '#/components/schemas/EnrichedSuiChain'
ton: '#/components/schemas/EnrichedTonChain'
tron: '#/components/schemas/EnrichedTronChain'
utxo: '#/components/schemas/EnrichedUtxoChain'
SolanaTransactionAccountRequest:
properties:
address:
type: string
maxLength: 44
minLength: 32
pattern: ^[a-km-zA-HJ-NP-Z1-9]+$
title: Address
description: The address of the account.
example: 4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA
writable:
type: boolean
title: Writable
description: Indicates if this account is writable in the context of the transaction.
signer:
type: boolean
title: Signer
description: Indicates if this account is a signer of the transaction.
ephemeral_key:
title: Ephemeral Key
description: A 64-byte Solana secret key of the account, encoded in base-64.
type: string
maxLength: 88
minLength: 88
example: lnNyP8kFPEaVpvUo/SIlhdZlzhPU8r7yT/h0gG5ajzQ=
type: object
required:
- address
- writable
- signer
title: SolanaTransactionAccountRequest
CreateBatchTransactionInstanceResponse:
oneOf:
- $ref: '#/components/schemas/SolanaTransaction'
- $ref: '#/components/schemas/UtxoTransaction'
discriminator:
propertyName: type
mapping:
solana_transaction: '#/components/schemas/SolanaTransaction'
utxo_transaction: '#/components/schemas/UtxoTransaction'
UtxoTransactionResult:
properties:
fees:
description: The fees of the transaction.
$ref: '#/components/schemas/UtxoFees'
effects:
$ref: '#/components/schemas/UtxoEffects'
description: The effects of the transaction.
is_coinbase:
type: boolean
title: Is Coinbase
description: True when this transaction is a coinbase (block-reward) transaction.
default: false
type: object
required:
- effects
title: UtxoTransactionResult
TronAddressRequest:
properties:
chain:
$ref: '#/components/schemas/TronChainUniqueId'
description: The chain details this address is of.
base58_repr:
type: string
maxLength: 34
minLength: 34
pattern: ^T[a-km-zA-HJ-NP-Z1-9]+$
title: Base58 Repr
description: Base58 representation of the address in the chain.
example: TJCnKsPa7y5okkXvQAidZBzqx3QyQ6sxMW
type: object
required:
- chain
- base58_repr
title: TronAddressRequest
description: Address represents a blockchain address.
SuiAssetIdentifier:
properties:
type:
type: string
const: sui
title: Type
description: Sui asset identifier type.
details:
oneOf:
- $ref: '#/components/schemas/SuiNativeAssetIdentifierRequest'
- $ref: '#/components/schemas/SuiCoinAssetIdentifierRequest'
discriminator:
propertyName: type
mapping:
coin: '#/components/schemas/SuiCoinAssetIdentifierRequest'
native: '#/components/schemas/SuiNativeAssetIdentifierRequest'
chain:
$ref: '#/components/schemas/EnrichedSuiChain'
type: object
required:
- type
- details
- chain
title: SuiAssetIdentifier
SolanaSpotSwapBroadcastMode:
type: string
enum:
- priority_fee
- jito
title: SolanaSpotSwapBroadcastMode
DefinedPreconditionError_AbortTransactionErrorType_:
properties:
title:
type: string
title: Title
description: Human-readable error message.
detail:
type: string
title: Detail
description: Detailed error message.
full_detail:
title: Full Detail
description: Full error message with additional details, if available.
type: string
request_id:
title: Request Id
description: Request ID - for debugging purposes.
type: string
system_error_code:
title: System Error Code
description: An additional system error code in Fordefi.
type: string
error_type:
$ref: '#/components/schemas/AbortTransactionErrorType'
type: object
required:
- title
- detail
title: DefinedPreconditionError[AbortTransactionErrorType]
TronAssetIdentifier:
properties:
type:
type: string
const: tron
title: Type
description: TRON asset identifier type.
details:
oneOf:
- $ref: '#/components/schemas/TronNativeAssetIdentifierRequest'
- $ref: '#/components/schemas/TronTrc20AssetIdentifierRequest'
discriminator:
propertyName: type
mapping:
native: '#/components/schemas/TronNativeAssetIdentifierRequest'
trc20: '#/components/schemas/TronTrc20AssetIdentifierRequest'
chain:
$ref: '#/components/schemas/EnrichedTronChain'
type: object
required:
- type
- details
- chain
title: TronAssetIdentifier
CantonNativeAssetIdentifierRequest:
properties:
type:
type: string
const: native
title: Type
description: Canton asset identifier type.
chain:
$ref: '#/components/schemas/CantonChainUniqueId'
description: The details of the chain of the native asset.
type: object
required:
- type
- chain
title: CantonNativeAssetIdentifierRequest
SolanaNativeAssetIdentifierRequest:
properties:
type:
type: string
const: native
title: Type
description: Solana asset identifier type.
chain:
$ref: '#/components/schemas/SolanaChainUniqueId'
description: The details of the chain of the native asset.
type: object
required:
- type
- chain
title: SolanaNativeAssetIdentifierRequest
SolanaChain:
properties:
chain_type:
type: string
const: solana
title: Chain Type
description: The type of the chain.
unique_id:
$ref: '#/components/schemas/SolanaChainUniqueId'
description: The type of the Solana-based chain.
type: object
required:
- chain_type
- unique_id
title: SolanaChain
AptosChain:
properties:
chain_type:
type: string
const: aptos
title: Chain Type
description: The type of the chain.
unique_id:
$ref: '#/components/schemas/AptosChainUniqueId'
description: The type of the Aptos-based chain.
type: object
required:
- chain_type
- unique_id
title: AptosChain
EnrichedStarknetChain:
properties:
chain_type:
type: string
const: starknet
title: Chain Type
description: The type of the chain.
unique_id:
$ref: '#/components/schemas/StarknetChainUniqueId'
description: The type of the Starknet-based chain.
name:
type: string
minLength: 1
title: Name
description: The full blockchain name.
native_currency_symbol:
type: string
minLength: 1
title: Native Currency Symbol
description: The native currency symbol.
example: ETH
native_currency_name:
type: string
minLength: 1
title: Native Currency Name
description: The native currency name.
example: Ether
blockchain_explorer:
$ref: '#/components/schemas/BlockchainExplorer'
logo_url:
type: string
maxLength: 2083
minLength: 1
format: uri
title: Logo Url
description: The logo URL of the chain.
is_testnet:
type: boolean
title: Is Testnet
description: Whether the chain is on a testnet.
is_enabled:
type: boolean
title: Is Enabled
description: Whether the chain is enabled.
type: object
required:
- chain_type
- unique_id
- name
- native_currency_symbol
- native_currency_name
- logo_url
- is_testnet
- is_enabled
title: EnrichedStarknetChain
ActionSigner:
properties:
user:
$ref: '#/components/schemas/UserRef'
description: Possible signer user
modified_at:
type: string
format: date-time
title: Modified At
description: When the signer received/signed the action
has_signed:
type: boolean
title: Has Signed
description: Whether the signer signed the action
type: object
required:
- user
- modified_at
- has_signed
title: ActionSigner
description: Represents a single signer in an action
CreateBatchSolanaTransactionRequest:
properties:
vault_id:
type: string
format: uuid
title: Vault Id
description: The unique identifier of the vault.
note:
title: Note
description: An optional transaction note.
type: string
signer_type:
$ref: '#/components/schemas/SignerType'
description: 'The signer of the transaction. Can be: - `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:
$ref: '#/components/schemas/CreateBatchTransactionRequestDetails'
type: object
required:
- vault_id
- type
- details
title: CreateBatchSolanaTransactionRequest
PersonRef:
properties:
id:
type: string
format: uuid
title: Id
description: The unique identifier of the user in the Fordefi platform.
user_type:
type: string
const: person
title: User Type
description: The type of user. Can be a person, or (in programmatic scenarios) an API user or API Signer.
name:
title: Name
description: The name of the user.
example: John Doe
type: string
email:
type: string
title: Email
description: The email of the user.
state:
$ref: '#/components/schemas/UserState'
description: The state of the user in the organization.
role:
$ref: '#/components/schemas/UserRole'
description: The role of the user.
type: object
required:
- id
- user_type
- email
- state
- role
title: PersonRef
TransactionRiskType:
type: string
enum:
- transfer_to_erc20_contract
- organization_not_interacted_with_address
- vault_not_interacted_with_address
- allowance_to_eoa
- unlimited_allowance
- contract_not_verified
- bridge_dest_differ_from_sender
- nft_approve_for_all
- missing_simulation
- unsupported_simulation
- post_conditions_allow_mode
- safe_sensitive_operation
title: TransactionRiskType
EvmChain:
properties:
chain_type:
type: string
const: evm
title: Chain Type
description: The type of the chain.
named_chain_id:
title: EvmChainName
description: The EVM chain name can be either one of those supported by the default chains below or a custom chain name if one was added to your organization. - `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"`
type: object
required:
- chain_type
- chain_id
- unique_id
title: EvmChain
SuiChainUniqueId:
type: string
enum:
- sui_mainnet
- sui_testnet
title: SuiChainUniqueId
StarknetAssetIdentifier:
properties:
type:
type: string
const: starknet
title: Type
description: Starknet asset identifier type.
details:
oneOf:
- $ref: '#/components/schemas/StarknetNativeAssetIdentifierRequest'
- $ref: '#/components/schemas/StarknetErc20AssetIdentifierRequest'
discriminator:
propertyName: type
mapping:
erc20: '#/components/schemas/StarknetErc20AssetIdentifierRequest'
native: '#/components/schemas/StarknetNativeAssetIdentifierRequest'
chain:
$ref: '#/components/schemas/EnrichedStarknetChain'
type: object
required:
- type
- details
- chain
title: StarknetAssetIdentifier
ArchAssetIdentifier:
properties:
type:
type: string
const: arch
title: Type
description: Arch asset identifier type.
details:
oneOf:
- $ref: '#/components/schemas/ArchNativeAssetIdentifierRequest'
- $ref: '#/components/schemas/ArchAplTokenAssetIdentifierRequest'
discriminator:
propertyName: type
mapping:
apl_token: '#/components/schemas/ArchAplTokenAssetIdentifierRequest'
native: '#/components/schemas/ArchNativeAssetIdentifierRequest'
chain:
$ref: '#/components/schemas/EnrichedArchChain'
type: object
required:
- type
- details
- chain
title: ArchAssetIdentifier
EvmNativeAssetIdentifierRequest:
properties:
type:
type: string
const: native
title: Type
description: EVM asset identifier type.
chain:
type: string
minLength: 1
title: EvmChainUniqueId
description: The details of the chain of the native asset.
type: object
required:
- type
- chain
title: EvmNativeAssetIdentifierRequest
UtxoNativeAssetIdentifierRequest:
properties:
type:
type: string
const: native
title: Type
description: Utxo asset identifier type.
chain:
$ref: '#/components/schemas/UtxoChainUniqueId'
description: The unique id of the chain of the asset.
type: object
required:
- type
- chain
title: UtxoNativeAssetIdentifierRequest
SolanaAddressBookContactAddressRef:
properties:
chain_type:
type: string
const: solana
title: Chain Type
description: The type of the chain.
address:
type: string
maxLength: 44
minLength: 32
pattern: ^[a-km-zA-HJ-NP-Z1-9]+$
title: Address
description: The address on the Solana chain.
example: 4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA
chains:
items:
$ref: '#/components/schemas/SolanaChain'
type: array
title: Chains
description: The chains the contact belongs to.
type: object
required:
- chain_type
- address
- chains
title: SolanaAddressBookContactAddressRef
CosmosNativeAssetIdentifierRequest:
properties:
type:
type: string
const: native
title: Type
description: Cosmos asset identifier type.
chain:
$ref: '#/components/schemas/CosmosChainUniqueId'
description: The unique id of the chain of the asset.
type: object
required:
- type
- chain
title: CosmosNativeAssetIdentifierRequest
BatchData:
properties:
batch_id:
type: string
format: uuid
title: Batch Id
description: The unique identifier of the batch.
index_in_batch:
type: integer
title: Index In Batch
description: Index of transaction in the batch.
batch_size:
type: integer
title: Batch Size
description: The number of transactions in the batch.
matched_policies:
items:
$ref: '#/components/schemas/PolicyMatch'
type: array
title: Matched Policies
description: List of policies matched by this message.
type: object
required:
- batch_id
- index_in_batch
- batch_size
- matched_policies
title: BatchData
ValidationError:
properties:
title:
type: string
title: Title
description: Human-readable error message.
detail:
items:
$ref: '#/components/schemas/ValidationErrorDetail'
type: array
title: Detail
full_detail:
title: Full Detail
description: Full error message with additional details, if available.
type: string
request_id:
title: Request Id
description: Request ID - for debugging purposes.
type: string
type: object
required:
- title
- detail
title: ValidationError
EvmAssetIdentifier:
properties:
type:
type: string
const: evm
title: Type
description: Asset identifier type.
details:
oneOf:
- $ref: '#/components/schemas/EvmNativeAssetIdentifierRequest'
- $ref: '#/components/schemas/EvmErc20AssetIdentifierRequest'
- $ref: '#/components/schemas/EvmErc721AssetIdentifierRequest'
- $ref: '#/components/schemas/EvmErc1155AssetIdentifierRequest'
- $ref: '#/components/schemas/EvmHyperLiquidAssetIdentifierRequest'
discriminator:
propertyName: type
mapping:
erc1155: '#/components/schemas/EvmErc1155AssetIdentifierRequest'
erc20: '#/components/schemas/EvmErc20AssetIdentifierRequest'
erc721: '#/components/schemas/EvmErc721AssetIdentifierRequest'
hyperliquid: '#/components/schemas/EvmHyperLiquidAssetIdentifierRequest'
native: '#/components/schemas/EvmNativeAssetIdentifierRequest'
chain:
$ref: '#/components/schemas/EnrichedEvmChain'
type: object
required:
- type
- details
- chain
title: EvmAssetIdentifier
EndUserRef:
properties:
id:
type: string
format: uuid
title: Id
description: The unique identifier of the user in the Fordefi platform.
user_type:
type: string
const: end_user
title: User Type
description: The type of the user.
external_id:
type: string
title: External Id
description: External id of the user.
example: user|1234
state:
type: string
enum:
- active
- deleted
title: State
description: The state of the user.
type: object
required:
- id
- user_type
- external_id
- state
title: EndUserRef
DappInfo:
properties:
url:
type: string
title: Url
description: The URL of the dapp.
name:
type: string
title: Name
description: The name of the dapp.
type: object
required:
- url
- name
title: DappInfo
PsbtInput:
properties:
index:
type: integer
title: Index
description: The input index to sign on.
signer_identity:
oneOf:
- $ref: '#/components/schemas/PsbtSignerIdentityAddress'
- $ref: '#/components/schemas/PsbtSignerIdentityPublicKey'
discriminator:
propertyName: type
mapping:
address: '#/components/schemas/PsbtSignerIdentityAddress'
public_key: '#/components/schemas/PsbtSignerIdentityPublicKey'
sighash_types:
title: Sighash Types
description: Flags that describe how to sign.
items:
type: integer
type: array
disable_tweak_signer:
title: Disable Tweak Signer
description: Disable tweaking of taproot public key.
type: boolean
type: object
required:
- index
- signer_identity
title: PsbtInput
FeePaidByVault:
properties:
type:
type: string
const: vault
title: Type
description: The type of fee payer.
vault:
$ref: '#/components/schemas/VaultRef'
description: The vault that paid the fee for this transaction.
type: object
required:
- type
- vault
title: FeePaidByVault
AptosCoinAssetIdentifierRequest:
properties:
type:
type: string
const: coin
title: Type
description: Legacy coin asset identifier type.
coin_type:
$ref: '#/components/schemas/AptosCoinTypeRequest'
description: The legacy coin details.
type: object
required:
- type
- coin_type
title: AptosCoinAssetIdentifierRequest
Resource:
type: string
enum:
- user
- user_change_proposals
- user_group
- user_group_change_proposal
- vault
- vault_address
- vault_group
- address_group
- transaction
- batch_transaction
- path
- keyset
- auth_token
- access_token
- asset
- asset_info
- vault_derivation_path
- blockchain
- export
- quote
- import_keys_request
- vault_address_account
- exchange_asset_mapping
- dapp_group
- safe_address
- audit_log
title: Resource
Signature:
properties:
data:
type: string
title: Data
description: Signature on the transaction, encoded in base64 format.
example: SGVsbG8=
signed_by:
description: The user who created this signature, `null` if the signature wasn't created by a Fordefi user.
oneOf:
- $ref: '#/components/schemas/PersonRef'
- $ref: '#/components/schemas/ApiSignerRef'
- $ref: '#/components/schemas/EndUserRef'
- $ref: '#/components/schemas/ApiUserRef'
discriminator:
propertyName: user_type
mapping:
api_signer: '#/components/schemas/ApiSignerRef'
api_user: '#/components/schemas/ApiUserRef'
end_user: '#/components/schemas/EndUserRef'
person: '#/components/schemas/PersonRef'
type: object
required:
- data
title: Signature
TransactionDetailsUtxoDlcRequest:
properties:
psbt_raw_data:
type: string
pattern: ^0[xX][a-fA-F0-9]+$
title: Psbt Raw Data
description: Partially signed bitcoin transaction data encoded as a hex string.
sender:
description: The signer on the inputs.
deprecated: true
$ref: '#/components/schemas/UtxoAddress'
signer:
title: Signer
description: The signer on the inputs.
type: string
maxLength: 74
minLength: 14
example: bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq
inputs:
title: Inputs
description: Describes how to sign each input.
items:
$ref: '#/components/schemas/PsbtInput'
type: array
type: object
required:
- psbt_raw_data
title: TransactionDetailsUtxoDlcRequest
EnrichedSolanaChain:
properties:
chain_type:
type: string
const: solana
title: Chain Type
description: The type of the chain.
unique_id:
$ref: '#/components/schemas/SolanaChainUniqueId'
description: The type of the Solana-based chain.
name:
type: string
minLength: 1
title: Name
description: The full blockchain name.
native_currency_symbol:
type: string
minLength: 1
title: Native Currency Symbol
description: The native currency symbol.
example: ETH
native_currency_name:
type: string
minLength: 1
title: Native Currency Name
description: The native currency name.
example: Ether
blockchain_explorer:
$ref: '#/components/schemas/BlockchainExplorer'
logo_url:
type: string
maxLength: 2083
minLength: 1
format: uri
title: Logo Url
description: The logo URL of the chain.
is_testnet:
type: boolean
title: Is Testnet
description: Whether the chain is on a testnet.
is_enabled:
type: boolean
title: Is Enabled
description: Whether the chain is enabled.
type: object
required:
- chain_type
- unique_id
- name
- native_currency_symbol
- native_currency_name
- logo_url
- is_testnet
- is_enabled
title: EnrichedSolanaChain
Dapp:
properties:
id:
type: string
format: uuid
title: Id
description: The unique identifier of this DApp.
name:
type: string
title: Name
description: The name of the DApp.
url:
title: Url
description: The URL of the DApp.
type: string
minLength: 1
format: uri
logo_url:
title: Logo Url
description: The logo URL of the DApp.
type: string
minLength: 1
format: uri
contracts_count:
type: integer
title: Contracts Count
description: The number of contracts associated with this DApp.
default: 0
type: object
required:
- id
- name
title: Dapp
StellarChain:
properties:
chain_type:
type: string
const: stellar
title: Chain Type
description: The type of the chain.
unique_id:
$ref: '#/components/schemas/StellarChainUniqueId'
description: The type of the Stellar chain.
type: object
required:
- chain_type
- unique_id
title: StellarChain
TonJettonAssetIdentifierRequest:
properties:
type:
type: string
const: jetton
title: Type
description: Jetton asset identifier type.
jetton:
$ref: '#/components/schemas/TonAddressRequest'
description: The Jetton details.
type: object
required:
- type
- jetton
title: TonJettonAssetIdentifierRequest
SolanaChainUniqueId:
type: string
enum:
- solana_mainnet
- solana_devnet
- solana_eclipse_mainnet
- solana_fogo_mainnet
- solana_fogo_testnet
title: SolanaChainUniqueId
SolanaMessageAddressTableLookupRequest:
properties:
account_key:
type: string
maxLength: 44
minLength: 32
pattern: ^[a-km-zA-HJ-NP-Z1-9]+$
title: Account Key
description: The address of the lookup table.
example: 4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA
writable_indexes:
items:
type: integer
type: array
title: Writable Indexes
description: Indexes of writable accounts in the lookup table.
readonly_indexes:
items:
type: integer
type: array
title: Readonly Indexes
description: Indexes of read-only accounts in the lookup table.
type: object
required:
- account_key
- writable_indexes
- readonly_indexes
title: SolanaMessageAddressTableLookupRequest
VaultRef:
properties:
id:
type: string
format: uuid
title: Id
description: The unique identifier of the vault in the Fordefi platform.
vault_group_id:
title: Vault Group Id
description: The unique identifier of the vault group this vault belongs to.
deprecated: true
type: string
format: uuid
vault_group_ids:
items:
type: string
format: uuid
type: array
title: Vault Group Ids
description: The unique identifiers of the vault groups this vault belongs to.
name:
type: string
title: Name
description: The name of the vault.
address:
title: Address
description: The address of the vault.
type: string
state:
$ref: '#/components/schemas/VaultState'
description: The state of the vault.
type:
$ref: '#/components/schemas/VaultType'
description: The vault type.
logo_url:
title: Logo Url
description: The logo of the vault. Supported for exchange and Safe vaults.
type: string
maxLength: 2083
minLength: 1
format: uri
end_user:
description: The end user that owns this vault if it is in a Consumer Wallet organization. `None` otherwise.
$ref: '#/components/schemas/EndUserRef'
is_external_signer:
type: boolean
title: Is External Signer
description: Whether the vault uses an externally imported key (external signer).
default: false
type: object
required:
- id
- vault_group_ids
- name
- state
- type
title: VaultRef
description: Represents a reference to a vault in the Fordefi platform
ChainSource:
type: string
enum:
- default
- custom
title: ChainSource
CosmosAssetIdentifier:
properties:
type:
type: string
const: cosmos
title: Type
description: Cosmos asset identifier type.
details:
oneOf:
- $ref: '#/components/schemas/CosmosNativeAssetIdentifierRequest'
- $ref: '#/components/schemas/CosmosTokenAssetIdentifierRequest'
discriminator:
propertyName: type
mapping:
native: '#/components/schemas/CosmosNativeAssetIdentifierRequest'
token: '#/components/schemas/CosmosTokenAssetIdentifierRequest'
chain:
$ref: '#/components/schemas/EnrichedCosmosChain'
type: object
required:
- type
- details
- chain
title: CosmosAssetIdentifier
ValidationErrorDetail:
properties:
loc:
items:
anyOf:
- type: integer
- type: string
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
type: object
required:
- loc
- msg
- type
title: ValidationErrorDetail
AmlPolicyMatchIncoming:
properties:
is_default:
type: boolean
title: Is Default
description: '`True` if this is the default rule, `False` otherwise.'
rule_id:
type: string
format: uuid
title: Rule Id
description: The unique identifier of the rule.
rule_name:
type: string
title: Rule Name
description: The name of the rule.
action_type:
$ref: '#/components/schemas/AmlPolicyMatchIncomingActionType'
description: 'The action taken in the event of a policy match. Can be: - Allow automatically
- Freeze
- Skip
'
type: object
required:
- is_default
- rule_id
- rule_name
- action_type
title: AmlPolicyMatchIncoming
UtxoChain:
properties:
chain_type:
type: string
const: utxo
title: Chain Type
description: The type of the chain.
unique_id:
$ref: '#/components/schemas/UtxoChainUniqueId'
description: The UTXO chain unique ID.
type: object
required:
- chain_type
- unique_id
title: UtxoChain
EnrichedEvmChain:
properties:
chain_type:
type: string
const: evm
title: Chain Type
description: The type of the chain.
named_chain_id:
title: EvmChainName
description: The EVM chain name can be either one of those supported by the default chains below or a custom chain name if one was added to your organization. - `arbitrum_mainnet`
- `arbitrum_sepolia`
- `aster_mainnet`
- `avalanche_chain`
- `avalanche_fuji`
- `base_mainnet`
- `berachain_mainnet`
- `blast_mainnet`
- `bsc_mainnet`
- `canto_mainnet`
- `clink_mainnet`
- `clink_testnet`
- `conflux_mainnet`
- `dymension_mainnet`
- `ethereum_goerli`
- `ethereum_holesky`
- `ethereum_mainnet`
- `ethereum_sepolia`
- `fantom_mainnet`
- `flare_mainnet`
- `flare_testnet`
- `gnosis_mainnet`
- `hypercore_mainnet`
- `hyperevm_mainnet`
- `ink_mainnet`
- `kava_mainnet`
- `katana_mainnet`
- `linea_mainnet`
- `optimism_mainnet`
- `pharos_mainnet`
- `plasma_mainnet`
- `manta_pacific_mainnet`
- `mantle_mainnet`
- `merlin_mainnet`
- `monad_mainnet`
- `polygon_mainnet`
- `polygon_mumbai`
- `polygon_zkevm_mainnet`
- `reya_mainnet`
- `robinhood_mainnet`
- `rootstock_mainnet`
- `scroll_mainnet`
- `sei_mainnet`
- `sonic_mainnet`
- `tempo_mainnet`
- `unichain_mainnet`
- `xai_mainnet`
- `x_layer_mainnet`
- `zero_gravity_mainnet`
- `zeta_mainnet`
- `zklink_nova_mainnet`
- `zksync_era_mainnet`
type: string
minLength: 1
chain_id:
type: integer
minimum: 1.0
title: EvmChainId
description: The EVM chain ID can be either one of those supported by the default chains below or a custom chain ID if one was added to your organization. - 1=`ethereum_mainnet`
- 5=`ethereum_goerli`
- 10=`optimism_mainnet`
- 14=`flare_mainnet`
- 16=`flare_testnet`
- 30=`rootstock_mainnet`
- 56=`bsc_mainnet`
- 100=`gnosis_mainnet`
- 130=`unichain_mainnet`
- 137=`polygon_mainnet`
- 143=`monad_mainnet`
- 146=`sonic_mainnet`
- 169=`manta_pacific_mainnet`
- 196=`x_layer_mainnet`
- 250=`fantom_mainnet`
- 324=`zksync_era_mainnet`
- 999=`hyperevm_mainnet`
- 1030=`conflux_mainnet`
- 1100=`dymension_mainnet`
- 1101=`polygon_zkevm_mainnet`
- 1329=`sei_mainnet`
- 1337=`hypercore_mainnet`
- 1666=`aster_mainnet`
- 1672=`pharos_mainnet`
- 1729=`reya_mainnet`
- 2222=`kava_mainnet`
- 4200=`merlin_mainnet`
- 4217=`tempo_mainnet`
- 4663=`robinhood_mainnet`
- 5000=`mantle_mainnet`
- 7000=`zeta_mainnet`
- 7700=`canto_mainnet`
- 8453=`base_mainnet`
- 8818=`clink_mainnet`
- 8819=`clink_testnet`
- 9745=`plasma_mainnet`
- 16661=`zero_gravity_mainnet`
- 17000=`ethereum_holesky`
- 80001=`polygon_mumbai`
- 80094=`berachain_mainnet`
- 42161=`arbitrum_mainnet`
- 43113=`avalanche_fuji`
- 43114=`avalanche_chain`
- 57073=`ink_mainnet`
- 59144=`linea_mainnet`
- 81457=`blast_mainnet`
- 421614=`arbitrum_sepolia`
- 534352=`scroll_mainnet`
- 660279=`xai_mainnet`
- 747474=`katana_mainnet`
- 810180=`zklink_nova_mainnet`
- 11155111=`ethereum_sepolia`
unique_id:
type: string
minLength: 1
title: EvmChainUniqueId
description: The unique EVM chain ID. Can be either one of those supported by the default chains below or a custom numeric chain ID `evm_` if one was added to your organization. - `"evm_1"`
- `"evm_5"`
- `"evm_10"`
- `"evm_14"`
- `"evm_16"`
- `"evm_30"`
- `"evm_56"`
- `"evm_100"`
- `"evm_130"`
- `"evm_137"`
- `"evm_143"`
- `"evm_146"`
- `"evm_169"`
- `"evm_196"`
- `"evm_250"`
- `"evm_324"`
- `"evm_999"`
- `"evm_1030"`
- `"evm_1100"`
- `"evm_1101"`
- `"evm_1329"`
- `"evm_1337"`
- `"evm_1666"`
- `"evm_1672"`
- `"evm_1729"`
- `"evm_2222"`
- `"evm_4200"`
- `"evm_4217"`
- `"evm_4663"`
- `"evm_5000"`
- `"evm_7000"`
- `"evm_7700"`
- `"evm_8453"`
- `"evm_8818"`
- `"evm_8819"`
- `"evm_9745"`
- `"evm_16661"`
- `"evm_17000"`
- `"evm_80001"`
- `"evm_80094"`
- `"evm_42161"`
- `"evm_43113"`
- `"evm_43114"`
- `"evm_57073"`
- `"evm_59144"`
- `"evm_81457"`
- `"evm_421614"`
- `"evm_534352"`
- `"evm_660279"`
- `"evm_747474"`
- `"evm_810180"`
- `"evm_11155111"`
- `"evm_ethereum_mainnet"`
- `"evm_ethereum_goerli"`
- `"evm_optimism_mainnet"`
- `"evm_flare_mainnet"`
- `"evm_flare_testnet"`
- `"evm_rootstock_mainnet"`
- `"evm_bsc_mainnet"`
- `"evm_gnosis_mainnet"`
- `"evm_unichain_mainnet"`
- `"evm_polygon_mainnet"`
- `"evm_monad_mainnet"`
- `"evm_sonic_mainnet"`
- `"evm_manta_pacific_mainnet"`
- `"evm_x_layer_mainnet"`
- `"evm_fantom_mainnet"`
- `"evm_zksync_era_mainnet"`
- `"evm_hyperevm_mainnet"`
- `"evm_conflux_mainnet"`
- `"evm_dymension_mainnet"`
- `"evm_polygon_zkevm_mainnet"`
- `"evm_sei_mainnet"`
- `"evm_hypercore_mainnet"`
- `"evm_aster_mainnet"`
- `"evm_pharos_mainnet"`
- `"evm_reya_mainnet"`
- `"evm_kava_mainnet"`
- `"evm_merlin_mainnet"`
- `"evm_tempo_mainnet"`
- `"evm_robinhood_mainnet"`
- `"evm_mantle_mainnet"`
- `"evm_zeta_mainnet"`
- `"evm_canto_mainnet"`
- `"evm_base_mainnet"`
- `"evm_clink_mainnet"`
- `"evm_clink_testnet"`
- `"evm_plasma_mainnet"`
- `"evm_zero_gravity_mainnet"`
- `"evm_ethereum_holesky"`
- `"evm_polygon_mumbai"`
- `"evm_berachain_mainnet"`
- `"evm_arbitrum_mainnet"`
- `"evm_avalanche_fuji"`
- `"evm_avalanche_chain"`
- `"evm_ink_mainnet"`
- `"evm_linea_mainnet"`
- `"evm_blast_mainnet"`
- `"evm_arbitrum_sepolia"`
- `"evm_scroll_mainnet"`
- `"evm_xai_mainnet"`
- `"evm_katana_mainnet"`
- `"evm_zklink_nova_mainnet"`
- `"evm_ethereum_sepolia"`
name:
type: string
minLength: 1
title: Name
description: The full blockchain name.
native_currency_symbol:
type: string
minLength: 1
title: Native Currency Symbol
description: The native currency symbol.
example: ETH
native_currency_name:
type: string
minLength: 1
title: Native Currency Name
description: The native currency name.
example: Ether
blockchain_explorer:
$ref: '#/components/schemas/BlockchainExplorer'
logo_url:
type: string
maxLength: 2083
minLength: 1
format: uri
title: Logo Url
description: The logo URL of the chain.
is_testnet:
type: boolean
title: Is Testnet
description: Whether the chain is on a testnet.
is_enabled:
type: boolean
title: Is Enabled
description: Whether the chain is enabled.
gas_type:
$ref: '#/components/schemas/GasType'
description: The type of gas used by the chain.
supports_secure_node:
title: Supports Secure Node
description: '`True` if the chain supports secure nodes, `False` otherwise.'
deprecated: true
type: boolean
supports_mev_protected_node:
type: boolean
title: Supports Mev Protected Node
description: '`True` if the chain supports MEV protected nodes, `False` otherwise.'
default: false
rpc_url:
title: Rpc Url
description: The URL of the chain's RPC. Exists only for custom chains.
type: string
source:
$ref: '#/components/schemas/ChainSource'
description: 'The source of the chain. Can be:- `default`: Chains with built-in support on Fordefi''s platform.
- `custom`: User-added chains with support on Fordefi''s platform.
'
supports_7702:
type: boolean
title: Supports 7702
description: '`True` if the chain supports 7702, `False` otherwise.'
default: false
type: object
required:
- chain_type
- chain_id
- unique_id
- name
- native_currency_symbol
- native_currency_name
- logo_url
- is_testnet
- is_enabled
- gas_type
- source
title: EnrichedEvmChain
SuiNativeAssetIdentifierRequest:
properties:
type:
type: string
const: native
title: Type
description: Sui asset identifier type.
chain:
$ref: '#/components/schemas/SuiChainUniqueId'
description: The details of the chain of the native asset.
type: object
required:
- type
- chain
title: SuiNativeAssetIdentifierRequest
StellarAddressBookContactAddressRef:
properties:
chain_type:
type: string
const: stellar
title: Chain Type
description: The type of the chain.
address:
type: string
maxLength: 56
minLength: 56
pattern: ^[GCL][A-Z2-7]{55}$
title: Address
description: The address on the Stellar chain.
example: GBRPYHIL2CI3FNQ4BXLFMNDLFJHO7W3B6FSHLTAVM2A4P45SHO4ZB7I2
chains:
items:
$ref: '#/components/schemas/StellarChain'
type: array
title: Chains
description: The chains the contact belongs to.
memo:
title: Memo
description: Memo is an additional address feature used for identifying a recipient.
type: string
type: object
required:
- chain_type
- address
- chains
title: StellarAddressBookContactAddressRef
UtxoAddress:
properties:
type:
type: string
const: utxo
title: Type
address:
type: string
maxLength: 74
minLength: 14
title: Address
description: The UTXO string address.
example: bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq
address_type:
$ref: '#/components/schemas/UtxoAddressType'
description: The type of the address.
chain:
$ref: '#/components/schemas/UtxoChain'
description: The UTXO chain unique ID.
type: object
required:
- type
- address
- address_type
- chain
title: UtxoAddress
SolanaAddress:
properties:
type:
type: string
const: solana
title: Type
chain:
$ref: '#/components/schemas/SolanaChain'
description: The chain details this address is of.
base58_repr:
type: string
maxLength: 44
minLength: 32
pattern: ^[a-km-zA-HJ-NP-Z1-9]+$
title: Base58 Repr
description: Base58 representation of the address in the chain.
example: 4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA
type: object
required:
- type
- chain
- base58_repr
title: SolanaAddress
description: Address represents an EVM blockchain address.
UserState:
type: string
enum:
- active
- onboarding_pending_code_generation
- onboarding_pending_activation
- reset_device_pending_code_generation
- reset_device_pending_activation
- pending_approval
- deleted
title: UserState
SolanaBalanceChangeEffect:
properties:
priced_asset:
$ref: '#/components/schemas/PricedAsset'
description: The asset information.
diff:
type: string
pattern: ^-?\d+$
title: Diff
description: The amount of that was added to or deducted from the owner's balance. If the amount was deducted, the value is negative; if the amount was added, the value is positive.
example: '1000000000000000000'
address:
$ref: '#/components/schemas/EnrichedSolanaAddress'
description: The address affected by the balance change.
type: object
required:
- priced_asset
- diff
- address
title: SolanaBalanceChangeEffect
ArchAplTokenAssetIdentifierRequest:
properties:
type:
type: string
const: apl_token
title: Type
description: APL token asset identifier type.
token:
$ref: '#/components/schemas/ArchAddressRequest'
description: The APL token details.
type: object
required:
- type
- token
title: ArchAplTokenAssetIdentifierRequest
RelatedTransaction:
properties:
type:
$ref: '#/components/schemas/RelatedTransactionType'
description: The type of the related transaction.
hash:
title: Hash
description: The hash of the related transaction.
type: string
id:
title: Id
description: The id of the related transaction.
type: string
format: uuid
chain:
$ref: '#/components/schemas/EnrichedChain'
description: The chain identifier of the related transaction.
explorer_url:
title: Explorer Url
description: The URL of the related transaction in a blockchain explorer.
type: string
maxLength: 2083
minLength: 1
format: uri
type: object
required:
- type
- chain
title: RelatedTransaction
TonAddressBookContactAddressRef:
properties:
chain_type:
type: string
const: ton
title: Chain Type
description: The type of the chain.
address:
type: string
title: Address
description: The address on the TON chain.
chains:
items:
$ref: '#/components/schemas/TonChain'
type: array
title: Chains
description: The chains the contact belongs to.
comment:
title: Comment
description: Comment is an additional address feature used for identifying a recipient.
type: string
type: object
required:
- chain_type
- address
- chains
title: TonAddressBookContactAddressRef
PredictedUtxoTransaction:
properties:
policy_match:
description: The policy match.
$ref: '#/components/schemas/PolicyMatch'
matched_policies:
items:
$ref: '#/components/schemas/PolicyMatch'
type: array
title: Matched Policies
description: List of policies matched by the transactions in the batch.
approval_request:
description: The approval request.
$ref: '#/components/schemas/ApprovalRequest'
risks:
items:
$ref: '#/components/schemas/TransactionRisk'
type: array
title: Risks
description: The list of risks associated with this transaction.
note:
title: Note
description: An optional transaction note.
type: string
tx_policy_explanation_id:
title: Tx Policy Explanation Id
description: The id of the transaction policy explanation produced for this prediction, if any.
type: string
format: uuid
aml_policy_match:
description: The AML policy match.
$ref: '#/components/schemas/AmlPolicyMatchOutgoing'
aml_results:
description: The AML results.
$ref: '#/components/schemas/AmlResults'
simulation_status_result:
description: Whether simulation succeeded, reverted or failed.
$ref: '#/components/schemas/SimulationStatusResult'
type:
type: string
const: utxo_transaction
title: Type
description: The type of the transaction.
chain:
$ref: '#/components/schemas/EnrichedUtxoChain'
description: Details of the chain this transaction is on.
expected_result:
$ref: '#/components/schemas/UtxoTransactionResult'
description: The expected result of the transaction in case it is mined.
utxo_transaction_type_details:
oneOf:
- $ref: '#/components/schemas/UtxoNativeTransferDetails'
- $ref: '#/components/schemas/UtxoPsbtDetails'
description: Details of the Utxo transaction based on its type.
discriminator:
propertyName: type
mapping:
native_transfer: '#/components/schemas/UtxoNativeTransferDetails'
partially_signed_bitcoin_transaction: '#/components/schemas/UtxoPsbtDetails'
suggested_fees:
$ref: '#/components/schemas/UtxoSuggestedFees'
description: The suggested fees.
type: object
required:
- matched_policies
- risks
- type
- chain
- expected_result
- utxo_transaction_type_details
- suggested_fees
title: PredictedUtxoTransaction
BatchDlcTransactionRequestDetails:
properties:
funding_transaction:
$ref: '#/components/schemas/TransactionDetailsUtxoDlcRequest'
refund_transaction:
$ref: '#/components/schemas/TransactionDetailsUtxoDlcRequest'
cet_transactions:
items:
$ref: '#/components/schemas/TransactionDetailsUtxoCetRequest'
type: array
title: Cet Transactions
type: object
required:
- funding_transaction
- refund_transaction
- cet_transactions
title: BatchDlcTransactionRequestDetails
InstructionError:
properties:
error_type:
type: string
title: Error Type
description: The type of the error of the instruction.
instruction_index:
type: integer
title: Instruction Index
description: The index of the instruction.
error_description:
title: Error Description
description: The description of the error of the instruction.
type: string
type: object
required:
- error_type
- instruction_index
title: InstructionError
ArchChainUniqueId:
type: string
enum:
- arch_mainnet
- arch_testnet
title: ArchChainUniqueId
FeePriorityLevelRequest:
type: string
enum:
- low
- medium
- high
title: FeePriorityLevelRequest
EVMAddressBookContactAddressRef:
properties:
chain_type:
type: string
const: evm
title: Chain Type
description: The type of the chain.
address:
type: string
maxLength: 42
minLength: 42
pattern: ^0[xX][a-fA-F0-9]+$
title: Address
description: The address of the contact.
example: '0x71C7656EC7ab88b098defB751B7401B5f6d8976F'
chains:
items:
$ref: '#/components/schemas/EvmChain'
type: array
title: Chains
description: The chains the contact belongs to.
type: object
required:
- chain_type
- address
- chains
title: EVMAddressBookContactAddressRef
CantonChainUniqueId:
type: string
enum:
- canton_mainnet
title: CantonChainUniqueId
PricedAsset:
properties:
type:
type: string
const: asset_price
title: Type
asset_info:
$ref: '#/components/schemas/AssetInfo'
description: The asset info.
price:
description: The price of the asset (if it exists in the system).
$ref: '#/components/schemas/Price'
type: object
required:
- type
- asset_info
title: PricedAsset
CosmosAddressBookContactAddressRef:
properties:
chain_type:
type: string
const: cosmos
title: Chain Type
description: The type of the chain.
address:
type: string
title: Address
description: The address on the cosmos chain.
example: cosmos1tdk0g5d4ry9lq0erejttyufqcvwpqdj6tdql38
chain:
$ref: '#/components/schemas/CosmosChain'
description: The chain the contact belongs to.
memo:
title: Memo
description: Memo is an additional address feature used for identifying a recipient.
type: string
type: object
required:
- chain_type
- address
- chain
title: CosmosAddressBookContactAddressRef
ApproveTransactionErrorType:
type: string
enum:
- invalid_transaction_state
- non_managed_transaction
- transactions_already_approved
title: ApproveTransactionErrorType
StellarClassicAssetIdentifierRequest:
properties:
type:
type: string
const: classic_asset
title: Type
description: Stellar asset identifier type.
code:
type: string
maxLength: 12
minLength: 1
pattern: ^[A-Za-z0-9]{1,12}$
title: Code
description: The 1-4 character asset code.
issuer:
$ref: '#/components/schemas/StellarAddressRequest'
description: The issuer address.
chain:
$ref: '#/components/schemas/StellarChainUniqueId'
description: The chain of the Classic Asset.
type: object
required:
- type
- code
- issuer
- chain
title: StellarClassicAssetIdentifierRequest
StellarSorobanAssetIdentifierRequest:
properties:
type:
type: string
const: soroban_asset
title: Type
description: Stellar asset identifier type.
address:
type: string
maxLength: 56
minLength: 56
pattern: ^[GCL][A-Z2-7]{55}$
title: Address
description: The Soroban asset address.
example: GBRPYHIL2CI3FNQ4BXLFMNDLFJHO7W3B6FSHLTAVM2A4P45SHO4ZB7I2
chain:
$ref: '#/components/schemas/StellarChainUniqueId'
description: The chain of the Soroban asset.
type: object
required:
- type
- address
- chain
title: StellarSorobanAssetIdentifierRequest
SystemUserRef:
properties:
id:
type: string
format: uuid
title: Id
description: The unique identifier of the user in the Fordefi platform.
user_type:
type: string
const: system
title: User Type
description: The type of the user.
name:
type: string
title: Name
description: The name is Fordefi CARE
type: object
required:
- id
- user_type
- name
title: SystemUserRef
TronNativeAssetIdentifierRequest:
properties:
type:
type: string
const: native
title: Type
description: TRON asset identifier type.
chain:
$ref: '#/components/schemas/TronChainUniqueId'
description: The details of the chain of the native asset.
type: object
required:
- type
- chain
title: TronNativeAssetIdentifierRequest
Category:
properties:
id:
type: integer
title: Id
description: The category ID.
name:
type: string
title: Name
description: The category name.
type: object
required:
- id
- name
title: Category
StellarAssetIdentifier:
properties:
type:
type: string
const: stellar
title: Type
description: Stellar asset identifier type.
details:
oneOf:
- $ref: '#/components/schemas/StellarNativeAssetIdentifierRequest'
- $ref: '#/components/schemas/StellarClassicAssetIdentifierRequest'
- $ref: '#/components/schemas/StellarSorobanAssetIdentifierRequest'
discriminator:
propertyName: type
mapping:
classic_asset: '#/components/schemas/StellarClassicAssetIdentifierRequest'
native: '#/components/schemas/StellarNativeAssetIdentifierRequest'
soroban_asset: '#/components/schemas/StellarSorobanAssetIdentifierRequest'
chain:
$ref: '#/components/schemas/EnrichedStellarChain'
type: object
required:
- type
- details
- chain
title: StellarAssetIdentifier
Price:
properties:
price:
title: Price
description: The price in the given fiat currency.
deprecated: true
type: string
pattern: ^\d+$
example: '1000000000000000000'
price_float:
type: string
pattern: ^\d+(\.\d+)?$
title: Price Float
description: The absolute price in the given fiat currency. When is_negative is true the asset's value is the negative of this (e.g. a debt token).
example: '1000000000000000000'
is_negative:
type: boolean
title: Is Negative
description: Whether the asset's value is negative (e.g. a debt token). price_float holds the absolute value.
default: false
fiat_currency:
$ref: '#/components/schemas/FiatCurrency'
type: object
required:
- price
- price_float
- fiat_currency
title: Price
description: Price represents a price in a given FiatCurrency.
UtxoTransaction:
properties:
id:
type: string
format: uuid
title: Id
description: The unique identifier of the object in the Fordefi platform.
created_at:
type: string
format: date-time
title: Created At
description: The date and time when the object was created.
modified_at:
type: string
format: date-time
title: Modified At
description: The date and time when the object was last modified. Any change to any field of the resource is considered a modification.
managed_transaction_data:
description: 'Managed transaction data. Presented if the transaction was initiated from the Fordefi system itself, in contrast to unmanaged transactions (which are, for example, transfers of funds into a vault visible to Fordefi). '
$ref: '#/components/schemas/ManagedTransactionData'
signatures:
items:
$ref: '#/components/schemas/Signature'
type: array
title: Signatures
description: The transaction signatures.
note:
title: Note
description: An optional transaction note.
type: string
spam_state:
$ref: '#/components/schemas/TransactionSpamState'
description: '`automatically_set` if the transaction was automatically set as spam by Fordefi, `manually_set` if the transaction was manually set as spam by a user, and `unset` if the transaction was not set as spam.'
default: unset
direction:
$ref: '#/components/schemas/TransactionDirection'
description: The direction of the transaction.
signed_externally:
type: boolean
title: Signed Externally
description: Whether the transaction was signed by an external user (for example in case of imported vault).
default: false
interacted_vaults:
items:
$ref: '#/components/schemas/VaultRef'
type: array
title: Interacted Vaults
description: The vaults that interacted with the transaction.
related_transactions:
title: Related Transactions
description: The related transactions.
items:
$ref: '#/components/schemas/RelatedTransaction'
type: array
organization_id:
type: string
format: uuid
title: Organization Id
description: The organization that the transaction belongs to.
block:
description: The block of the transaction.
$ref: '#/components/schemas/Block'
state:
$ref: '#/components/schemas/PushableTransactionState'
description: The state of the transaction.
state_changes:
items:
$ref: '#/components/schemas/PushableTransactionStateChange'
type: array
title: State Changes
description: The state changes of the transaction.
aml_check:
description: The AML check.
$ref: '#/components/schemas/AmlCheck'
mined_result_status:
description: The mined result status of the transaction.
$ref: '#/components/schemas/MinedResultStatus'
simulation_status_result:
description: Whether simulation succeeded, reverted or failed.
$ref: '#/components/schemas/SimulationStatusResult'
parent_transaction_id:
title: Parent Transaction Id
description: The unique identifier of the parent transaction. Parent and child transactions form in cases where a transaction become stuck and is then either canceled or accelerated. If, for example, the original transaction (`t1`) is the parent and the related, adjustment transaction is the child (`t2`), then relative to itself, the parent field of `t1` is `null` and the child field is `t2_id`. Compare with field `child_transaction_id`.
type: string
format: uuid
child_transaction_id:
title: Child Transaction Id
description: 'The unique identifier of the child transaction. Compare with field `parent_transaction_id`. Relative to itself, the parent field of transaction `t2` would aquire the identifier `t1_id` and the child field of `t2` would be `null`. '
type: string
format: uuid
is_cancelation:
type: boolean
title: Is Cancelation
description: '`True` if this transaction is a cancelation of a previous transaction, `False` otherwise. '
is_acceleration:
type: boolean
title: Is Acceleration
description: '`True` if this transaction is an acceleration of a previous transaction, `False` otherwise.'
type:
type: string
const: utxo_transaction
title: Type
description: The type of the transaction.
utxo_transaction_type_details:
oneOf:
- $ref: '#/components/schemas/UtxoNativeTransferDetails'
- $ref: '#/components/schemas/UtxoPsbtDetails'
description: Details of UTXO transaction, based on its type.
discriminator:
propertyName: type
mapping:
native_transfer: '#/components/schemas/UtxoNativeTransferDetails'
partially_signed_bitcoin_transaction: '#/components/schemas/UtxoPsbtDetails'
chain:
$ref: '#/components/schemas/EnrichedUtxoChain'
description: Details of the chain this transaction is on.
hash:
title: Hash
description: The hash of the transaction.
type: string
explorer_url:
title: Explorer Url
description: The URL of this transaction in a blockchain explorer.
type: string
maxLength: 2083
minLength: 1
format: uri
expected_result:
description: The expected result of the transaction in case it is mined.
$ref: '#/components/schemas/UtxoTransactionResult'
mined_result:
description: The result of the transaction after it was mined.
$ref: '#/components/schemas/UtxoTransactionResult'
dlc_data:
description: The DLC data of the transaction, if the transaction is part of a DLC contract.
$ref: '#/components/schemas/DlcDataResponse'
type: object
required:
- id
- created_at
- modified_at
- signatures
- direction
- interacted_vaults
- organization_id
- state
- state_changes
- is_cancelation
- is_acceleration
- type
- utxo_transaction_type_details
- chain
title: UtxoTransaction
BlockchainExplorer:
properties:
transaction_url:
type: string
maxLength: 2083
minLength: 1
format: uri
title: Transaction Url
example: https://etherscan.io/tx/
address_url:
type: string
maxLength: 2083
minLength: 1
format: uri
title: Address Url
example: https://etherscan.io/address/
root_url:
type: string
maxLength: 2083
minLength: 1
format: uri
title: Root Url
example: https://etherscan.io/
transaction_format_url:
title: Transaction Format Url
example: https://etherscan.io/tx/%s
type: string
maxLength: 2083
minLength: 1
format: uri
address_format_url:
title: Address Format Url
example: https://etherscan.io/address/%s
type: string
maxLength: 2083
minLength: 1
format: uri
asset_format_url:
title: Asset Format Url
example: https://etherscan.io/address/%s
type: string
maxLength: 2083
minLength: 1
format: uri
type: object
required:
- transaction_url
- address_url
- root_url
title: BlockchainExplorer
description: A blockchain explorer entry point.
UtxoNativeTransferDetails:
properties:
type:
type: string
const: native_transfer
title: Type
description: A transaction involving the transfer of native currency from one or moreaddresses to one or more addresses.
is_internal:
title: Is Internal
description: Is this transfer an internal transfer between two vaults. None if the transaction is incoming.
type: boolean
vault:
description: The vault that signed this transfer.
$ref: '#/components/schemas/VaultRef'
memos:
items:
type: string
type: array
title: Memos
description: List of memos of the transaction.
type: object
required:
- type
- memos
title: UtxoNativeTransferDetails
AmlCheck:
properties:
results:
description: The AML results.
$ref: '#/components/schemas/AmlResults'
incoming_aml_check:
description: The AML policy match for incoming transactions. Will be present only for incoming transactions.
$ref: '#/components/schemas/IncomingAmlCheck'
type: object
title: AmlCheck
AssetInfo:
properties:
id:
type: string
format: uuid
title: Id
description: The asset ID.
asset_identifier:
$ref: '#/components/schemas/AssetIdentifier'
description: The asset identifier.
name:
type: string
title: Name
description: The name of the asset.
symbol:
type: string
title: Symbol
description: The symbol (ticker) of the asset.
decimals:
type: integer
minimum: 0.0
title: Decimals
verified:
type: boolean
title: Verified
description: '`True` if this asset is verified by Fordefi, `False` otherwise.'
metadata_uri:
title: Metadata Uri
description: The URI of the asset metadata.
type: string
is_spam:
type: boolean
title: Is Spam
description: '`True` if this asset is spam, `False` otherwise.'
logo_url:
title: Logo Url
description: The URL of the asset logo.
type: string
minLength: 1
format: uri
explorer_url:
title: Explorer Url
description: The URL of a blockchain explorer that provides real-time information about the asset.
type: string
maxLength: 2083
minLength: 1
format: uri
type: object
required:
- id
- asset_identifier
- name
- symbol
- decimals
- verified
- is_spam
title: AssetInfo
VaultState:
type: string
enum:
- active
- archived
- deleted
- pending
- aborted
title: VaultState
CantonCip56TokenAssetIdentifierRequest:
properties:
type:
type: string
const: cip56_token
title: Type
description: CIP56 token asset identifier type.
token:
$ref: '#/components/schemas/CantonInstrumentIdRequest'
description: The CIP56 token details.
type: object
required:
- type
- token
title: CantonCip56TokenAssetIdentifierRequest
ExposureType:
type: string
enum:
- direct
- indirect
title: ExposureType
AptosAssetIdentifier:
properties:
type:
type: string
const: aptos
title: Type
description: Aptos asset identifier type.
details:
oneOf:
- $ref: '#/components/schemas/AptosNativeAssetIdentifierRequest'
- $ref: '#/components/schemas/AptosCoinAssetIdentifierRequest'
- $ref: '#/components/schemas/AptosNewCoinAssetIdentifierRequest'
discriminator:
propertyName: type
mapping:
coin: '#/components/schemas/AptosCoinAssetIdentifierRequest'
native: '#/components/schemas/AptosNativeAssetIdentifierRequest'
new_coin: '#/components/schemas/AptosNewCoinAssetIdentifierRequest'
chain:
$ref: '#/components/schemas/EnrichedAptosChain'
type: object
required:
- type
- details
- chain
title: AptosAssetIdentifier
DefinedPreconditionError_PredictTransactionErrorType_:
properties:
title:
type: string
title: Title
description: Human-readable error message.
detail:
type: string
title: Detail
description: Detailed error message.
full_detail:
title: Full Detail
description: Full error message with additional details, if available.
type: string
request_id:
title: Request Id
description: Request ID - for debugging purposes.
type: string
system_error_code:
title: System Error Code
description: An additional system error code in Fordefi.
type: string
error_type:
$ref: '#/components/schemas/PredictTransactionErrorType'
type: object
required:
- title
- detail
title: DefinedPreconditionError[PredictTransactionErrorType]
EvmErc20AssetIdentifierRequest:
properties:
type:
type: string
const: erc20
title: Type
description: EVM asset identifier type.
token:
$ref: '#/components/schemas/EvmAddressRequest'
description: The ERC-20 token contract.
type: object
required:
- type
- token
title: EvmErc20AssetIdentifierRequest
EvmErc1155AssetIdentifierRequest:
properties:
type:
type: string
const: erc1155
title: Type
description: EVM asset identifier type.
token:
$ref: '#/components/schemas/EvmAddressRequest'
description: The ERC-1155 token contract.
token_id:
type: string
pattern: ^\d+$
title: Token Id
description: The token id of the ERC-1155 token.
example: '1000000000000000000'
type: object
required:
- type
- token
- token_id
title: EvmErc1155AssetIdentifierRequest
EnrichedCosmosChain:
properties:
chain_type:
type: string
const: cosmos
title: Chain Type
description: The type of the chain.
unique_id:
$ref: '#/components/schemas/CosmosChainUniqueId'
description: The Cosmos chain unique id.
name:
type: string
minLength: 1
title: Name
description: The full blockchain name.
native_currency_symbol:
type: string
minLength: 1
title: Native Currency Symbol
description: The native currency symbol.
example: ETH
native_currency_name:
type: string
minLength: 1
title: Native Currency Name
description: The native currency name.
example: Ether
blockchain_explorer:
$ref: '#/components/schemas/BlockchainExplorer'
logo_url:
type: string
maxLength: 2083
minLength: 1
format: uri
title: Logo Url
description: The logo URL of the chain.
is_testnet:
type: boolean
title: Is Testnet
description: Whether the chain is on a testnet.
is_enabled:
type: boolean
title: Is Enabled
description: Whether the chain is enabled.
base_denom:
type: string
title: Base Denom
description: The base denom of the chain.
bech32_prefix:
$ref: '#/components/schemas/CosmosBech32Prefix'
description: The bech32 prefix for addresses on the chain.
type: object
required:
- chain_type
- unique_id
- name
- native_currency_symbol
- native_currency_name
- logo_url
- is_testnet
- is_enabled
- base_denom
- bech32_prefix
title: EnrichedCosmosChain
CantonInstrumentIdRequest:
properties:
address:
$ref: '#/components/schemas/CantonAddressRequest'
description: The address of the instrument provider.
id:
type: string
title: Id
description: The instrument ID within the provider's namespace.
type: object
required:
- address
- id
title: CantonInstrumentIdRequest
description: Instrument ID represents a Canton instrument identifier (address + id).
CantonAddressBookContactAddressRef:
properties:
chain_type:
type: string
const: canton
title: Chain Type
description: The type of the chain.
address:
type: string
maxLength: 251
minLength: 70
title: Address
description: The party id on the Canton chain.
example: 45b72ac2a9742204e6e5f521781b0648::122028536bd166988ebbb422c7f483bb32d4134127e8c171c9666ce9b518e1dd27cf
chains:
items:
$ref: '#/components/schemas/CantonChain'
type: array
title: Chains
description: The chains the contact belongs to.
memo:
title: Memo
description: Memo is an additional address feature used for identifying a recipient.
type: string
type: object
required:
- chain_type
- address
- chains
title: CantonAddressBookContactAddressRef
AmlResults:
properties:
scan_status:
$ref: '#/components/schemas/AmlScanStatus'
description: The status of the AML scan.
error_message:
title: Error Message
description: The error message if the scan failed.
type: string
scan_results:
oneOf:
- $ref: '#/components/schemas/ChainalysisScanResult'
discriminator:
propertyName: type
mapping:
chainalysis: '#/components/schemas/ChainalysisScanResult'
type: object
required:
- scan_status
title: AmlResults
CreateBatchTransactionRequestDetails:
properties:
type:
type: string
const: solana_raw_transaction
title: Type
description: A Solana raw transaction is for any operation.
fail_on_prediction_failure:
type: boolean
title: Fail On Prediction Failure
description: '`True` if the request should fail in case simulation failed, `False` otherwise.
In case simulation has failed upon continuation, the expected result of the transaction will be partial and policy will be applied on information that can be extracted statically from the transaction only. This might result in falling back to the default policy rule. '
default: true
skip_prediction:
type: boolean
title: Skip Prediction
description: '`True` to create a transaction without prediction, `False` otherwise.
In case of skipping simulation, the simulation status will be skipped and the expected result of the transaction will be empty. The policy will be applied on information that can be extracted statically from the transaction only. This might result in falling back to the default policy rule.
Note, it is recommended to use the default setting for this field and to turn off `fail_on_prediction_failure` instead - unless you wish to save time by omitting the prediction phase entirely. '
default: false
push_mode:
$ref: '#/components/schemas/PushMode'
description: 'The push mode of the transaction when sending it to the node. It can be one of the following:- `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'
transactions:
items:
$ref: '#/components/schemas/CreateBatchTransactionInstanceDetails'
type: array
minItems: 1
title: Transactions
description: Details of the transactions in the batch.
type: object
required:
- type
- chain
- transactions
title: CreateBatchTransactionRequestDetails
SolanaAddressRequest:
properties:
chain:
$ref: '#/components/schemas/SolanaChainUniqueId'
description: The chain details this address is of.
base58_repr:
type: string
maxLength: 44
minLength: 32
pattern: ^[a-km-zA-HJ-NP-Z1-9]+$
title: Base58 Repr
description: Base58 representation of the address in the chain.
example: 4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA
type: object
required:
- chain
- base58_repr
title: SolanaAddressRequest
description: Address represents a blockchain address.
PredictBatchTransactionRequest:
oneOf:
- $ref: '#/components/schemas/PredictBatchSolanaTransactionRequest'
- $ref: '#/components/schemas/PredictBatchUtxoDlcTransactionRequest'
discriminator:
propertyName: type
mapping:
solana_transaction: '#/components/schemas/PredictBatchSolanaTransactionRequest'
utxo_dlc_transaction: '#/components/schemas/PredictBatchUtxoDlcTransactionRequest'
CreateBatchUtxoDlcTransactionRequest:
properties:
vault_id:
type: string
format: uuid
title: Vault Id
description: The unique identifier of the vault.
note:
title: Note
description: An optional transaction note.
type: string
signer_type:
$ref: '#/components/schemas/SignerType'
description: 'The signer of the transaction. Can be: - `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_dlc_transaction
title: Type
description: The type of the transaction.
details:
$ref: '#/components/schemas/BatchDlcTransactionRequestDetails'
description: The DLC transaction details.
type: object
required:
- vault_id
- type
- details
title: CreateBatchUtxoDlcTransactionRequest
EnrichedArchChain:
properties:
chain_type:
type: string
const: arch
title: Chain Type
description: The type of the chain.
unique_id:
$ref: '#/components/schemas/ArchChainUniqueId'
description: The type of the Arch-based chain.
name:
type: string
minLength: 1
title: Name
description: The full blockchain name.
native_currency_symbol:
type: string
minLength: 1
title: Native Currency Symbol
description: The native currency symbol.
example: ETH
native_currency_name:
type: string
minLength: 1
title: Native Currency Name
description: The native currency name.
example: Ether
blockchain_explorer:
$ref: '#/components/schemas/BlockchainExplorer'
logo_url:
type: string
maxLength: 2083
minLength: 1
format: uri
title: Logo Url
description: The logo URL of the chain.
is_testnet:
type: boolean
title: Is Testnet
description: Whether the chain is on a testnet.
is_enabled:
type: boolean
title: Is Enabled
description: Whether the chain is enabled.
type: object
required:
- chain_type
- unique_id
- name
- native_currency_symbol
- native_currency_name
- logo_url
- is_testnet
- is_enabled
title: EnrichedArchChain
EnrichedTonChain:
properties:
chain_type:
type: string
const: ton
title: Chain Type
description: The type of the chain.
unique_id:
$ref: '#/components/schemas/TonChainUniqueId'
description: The type of the TON-based chain.
name:
type: string
minLength: 1
title: Name
description: The full blockchain name.
native_currency_symbol:
type: string
minLength: 1
title: Native Currency Symbol
description: The native currency symbol.
example: ETH
native_currency_name:
type: string
minLength: 1
title: Native Currency Name
description: The native currency name.
example: Ether
blockchain_explorer:
$ref: '#/components/schemas/BlockchainExplorer'
logo_url:
type: string
maxLength: 2083
minLength: 1
format: uri
title: Logo Url
description: The logo URL of the chain.
is_testnet:
type: boolean
title: Is Testnet
description: Whether the chain is on a testnet.
is_enabled:
type: boolean
title: Is Enabled
description: Whether the chain is enabled.
type: object
required:
- chain_type
- unique_id
- name
- native_currency_symbol
- native_currency_name
- logo_url
- is_testnet
- is_enabled
title: EnrichedTonChain
StacksSip10AssetIdentifierRequest:
properties:
type:
type: string
const: sip10
title: Type
description: Sip10 asset identifier type.
sip10:
$ref: '#/components/schemas/StacksAddressRequest'
description: The Sip10 details.
type: object
required:
- type
- sip10
title: StacksSip10AssetIdentifierRequest
SolanaReversionState:
type: string
enum:
- not_reverted
- unknown_revert
- contract_asserted
- insufficient_funds_gas_and_value
- insufficient_funds_for_rent
title: SolanaReversionState
SolanaAssetIdentifier:
properties:
type:
type: string
const: solana
title: Type
description: Solana asset identifier type.
details:
oneOf:
- $ref: '#/components/schemas/SolanaNativeAssetIdentifierRequest'
- $ref: '#/components/schemas/SolanaSplTokenAssetIdentifierRequest'
discriminator:
propertyName: type
mapping:
native: '#/components/schemas/SolanaNativeAssetIdentifierRequest'
spl_token: '#/components/schemas/SolanaSplTokenAssetIdentifierRequest'
chain:
$ref: '#/components/schemas/EnrichedSolanaChain'
type: object
required:
- type
- details
- chain
title: SolanaAssetIdentifier
CantonAddressRequest:
properties:
chain:
$ref: '#/components/schemas/CantonChainUniqueId'
description: The chain details this address is of.
account:
type: string
maxLength: 251
minLength: 70
title: Account
description: Party representation of the address in the chain.
example: 45b72ac2a9742204e6e5f521781b0648::122028536bd166988ebbb422c7f483bb32d4134127e8c171c9666ce9b518e1dd27cf
type: object
required:
- chain
- account
title: CantonAddressRequest
description: Address represents a blockchain address.
TransactionDirection:
type: string
enum:
- outgoing
- incoming
title: TransactionDirection
SolanaContractMetadata:
properties:
name:
title: Name
description: The name of the contract.
type: string
dapp:
description: The DApp details of the contract.
$ref: '#/components/schemas/Dapp'
is_verified:
type: boolean
title: Is Verified
description: '`True` if the contract is verified, `False` otherwise.'
token:
description: The token details of the contract.
$ref: '#/components/schemas/SplToken'
type: object
required:
- is_verified
title: SolanaContractMetadata
PsbtSignerIdentityPublicKey:
properties:
type:
type: string
const: public_key
title: Type
public_key:
type: string
pattern: ^[a-fA-F0-9]+$
title: Public Key
description: Public key that should sign on the input.
type: object
required:
- type
- public_key
title: PsbtSignerIdentityPublicKey
SolanaTransferEffect:
properties:
priced_asset:
$ref: '#/components/schemas/PricedAsset'
description: The asset information.
amount:
type: string
pattern: ^\d+$
title: Amount
description: The amount of the transfer.
example: '1000000000000000000'
from:
$ref: '#/components/schemas/EnrichedSolanaAddress'
description: The sender of the transfer.
to:
$ref: '#/components/schemas/EnrichedSolanaAddress'
description: The receiver of the transfer.
type: object
required:
- priced_asset
- amount
- from
- to
title: SolanaTransferEffect
StellarAddressRequest:
properties:
chain:
$ref: '#/components/schemas/StellarChainUniqueId'
description: The chain details this address is of.
base32_repr:
type: string
maxLength: 56
minLength: 56
pattern: ^[GCL][A-Z2-7]{55}$
title: Base32 Repr
description: Hexadecimal representation of the address in the chain.
example: GBRPYHIL2CI3FNQ4BXLFMNDLFJHO7W3B6FSHLTAVM2A4P45SHO4ZB7I2
type: object
required:
- chain
- base32_repr
title: StellarAddressRequest
description: Address represents a blockchain address.
TransactionRiskSeverity:
type: string
enum:
- low
- medium
- high
title: TransactionRiskSeverity
EvmErc721AssetIdentifierRequest:
properties:
type:
type: string
const: erc721
title: Type
description: EVM asset identifier type.
token:
$ref: '#/components/schemas/EvmAddressRequest'
description: The ERC-721 token contract.
token_id:
type: string
pattern: ^\d+$
title: Token Id
description: The token id of the ERC-721 token.
example: '1000000000000000000'
type: object
required:
- type
- token
- token_id
title: EvmErc721AssetIdentifierRequest
CosmosChainUniqueId:
type: string
enum:
- cosmos_agoric-3
- cosmos_akashnet-2
- cosmos_archway-1
- cosmos_axelar-dojo-1
- cosmos_bbn-1
- cosmos_celestia
- cosmos_cosmoshub-4
- cosmos_dydx-mainnet-1
- cosmos_dydx-testnet-4
- cosmos_dymension_1100-1
- cosmos_injective-1
- cosmos_neutron-1
- cosmos_nillion-1
- cosmos_noble-1
- cosmos_osmosis-1
- cosmos_provider
- cosmos_ssc-1
- cosmos_pacific-1
- cosmos_stride-1
- cosmos_thorchain-1
- cosmos_mantra-1
title: CosmosChainUniqueId
UtxoSuggestedFees:
properties:
type:
type: string
const: utxo
title: Type
description: The type of the chain.
low:
type: string
pattern: ^\d+$
title: Low
description: The low suggested fee per byte.
example: '1000000000000000000'
medium:
type: string
pattern: ^\d+$
title: Medium
description: The medium suggested fee per byte.
example: '1000000000000000000'
high:
type: string
pattern: ^\d+$
title: High
description: The high suggested fee per byte.
example: '1000000000000000000'
chain_unique_id:
$ref: '#/components/schemas/UtxoChainUniqueId'
description: The UTXO chain unique id.
type: object
required:
- type
- low
- medium
- high
- chain_unique_id
title: UtxoSuggestedFees
UserRef:
oneOf:
- $ref: '#/components/schemas/PersonRef'
- $ref: '#/components/schemas/ApiUserRef'
- $ref: '#/components/schemas/ApiSignerRef'
- $ref: '#/components/schemas/EndUserRef'
- $ref: '#/components/schemas/SystemUserRef'
description: Represents a reference to a user in the Fordefi platform
discriminator:
propertyName: user_type
mapping:
api_signer: '#/components/schemas/ApiSignerRef'
api_user: '#/components/schemas/ApiUserRef'
end_user: '#/components/schemas/EndUserRef'
person: '#/components/schemas/PersonRef'
system: '#/components/schemas/SystemUserRef'
ApiUserRef:
properties:
id:
type: string
format: uuid
title: Id
description: The unique identifier of the user in the Fordefi platform.
user_type:
type: string
const: api_user
title: User Type
description: The type of the user.
name:
type: string
title: Name
description: The name of the user.
state:
type: string
enum:
- active
- deleted
title: State
description: The state of the user.
role:
$ref: '#/components/schemas/UserRole'
description: The role of the user.
type: object
required:
- id
- user_type
- name
- state
- role
title: ApiUserRef
UtxoAddressType:
type: string
enum:
- legacy
- p2sh
- segwit
- taproot
- merkleroot
title: UtxoAddressType
StacksChain:
properties:
chain_type:
type: string
const: stacks
title: Chain Type
description: The type of the chain.
unique_id:
$ref: '#/components/schemas/StacksChainUniqueId'
description: The type of the Stacks-based chain.
type: object
required:
- chain_type
- unique_id
title: StacksChain
EnrichedTronChain:
properties:
chain_type:
type: string
const: tron
title: Chain Type
description: The type of the chain.
unique_id:
$ref: '#/components/schemas/TronChainUniqueId'
description: The type of the Tron-based chain.
name:
type: string
minLength: 1
title: Name
description: The full blockchain name.
native_currency_symbol:
type: string
minLength: 1
title: Native Currency Symbol
description: The native currency symbol.
example: ETH
native_currency_name:
type: string
minLength: 1
title: Native Currency Name
description: The native currency name.
example: Ether
blockchain_explorer:
$ref: '#/components/schemas/BlockchainExplorer'
logo_url:
type: string
maxLength: 2083
minLength: 1
format: uri
title: Logo Url
description: The logo URL of the chain.
is_testnet:
type: boolean
title: Is Testnet
description: Whether the chain is on a testnet.
is_enabled:
type: boolean
title: Is Enabled
description: Whether the chain is enabled.
type: object
required:
- chain_type
- unique_id
- name
- native_currency_symbol
- native_currency_name
- logo_url
- is_testnet
- is_enabled
title: EnrichedTronChain
SuiCoinTypeRequest:
properties:
chain:
$ref: '#/components/schemas/SuiChainUniqueId'
description: The chain details this address is of.
coin_type_str:
type: string
title: Coin Type Str
description: Coin type string representation.
type: object
required:
- chain
- coin_type_str
title: SuiCoinTypeRequest
description: Coin type represents a blockchain coin type.
AptosNewCoinTypeRequest:
properties:
chain:
$ref: '#/components/schemas/AptosChainUniqueId'
description: The chain details this address is of.
metadata_address:
type: string
title: Metadata Address
description: New coin's metadata address.
type: object
required:
- chain
- metadata_address
title: AptosNewCoinTypeRequest
description: New coin type represents a blockchain new coin type.
FiatCurrencySymbol:
type: string
enum:
- usd
title: FiatCurrencySymbol
description: FiatCurrencySymbol
SolanaFeeType:
type: string
enum:
- jito
- priority_fee
title: SolanaFeeType
PredictedBatchSolanaTransaction:
properties:
policy_match:
description: The policy match.
$ref: '#/components/schemas/PolicyMatch'
matched_policies:
items:
$ref: '#/components/schemas/PolicyMatch'
type: array
title: Matched Policies
description: List of policies matched by the transactions in the batch.
approval_request:
description: The approval request.
$ref: '#/components/schemas/ApprovalRequest'
risks:
items:
$ref: '#/components/schemas/TransactionRisk'
type: array
title: Risks
description: The list of risks associated with this transaction.
note:
title: Note
description: An optional transaction note.
type: string
tx_policy_explanation_id:
title: Tx Policy Explanation Id
description: The id of the transaction policy explanation produced for this prediction, if any.
type: string
format: uuid
aml_policy_match:
description: The AML policy match.
$ref: '#/components/schemas/AmlPolicyMatchOutgoing'
aml_results:
description: The AML results.
$ref: '#/components/schemas/AmlResults'
simulation_status_result:
description: Whether simulation succeeded, reverted or failed.
$ref: '#/components/schemas/SimulationStatusResult'
expected_result:
$ref: '#/components/schemas/SolanaTransactionResult'
description: The expected result of the transaction in case it is mined.
chain:
$ref: '#/components/schemas/EnrichedSolanaChain'
description: The details of the chain that this message is on.
solana_transaction_type_details:
oneOf:
- $ref: '#/components/schemas/SolanaNativeTransferDetails'
- $ref: '#/components/schemas/SolanaTokenTransferDetails'
- $ref: '#/components/schemas/SolanaRawTransactionDetails'
- $ref: '#/components/schemas/PredictedSolanaSpotSwapDetails'
description: Details of the Solana transaction based on its type.
discriminator:
propertyName: type
mapping:
native_transfer: '#/components/schemas/SolanaNativeTransferDetails'
raw_transaction: '#/components/schemas/SolanaRawTransactionDetails'
spot_swap: '#/components/schemas/PredictedSolanaSpotSwapDetails'
token_transfer: '#/components/schemas/SolanaTokenTransferDetails'
sender:
$ref: '#/components/schemas/EnrichedSolanaAddress'
description: The sender of the transaction.
suggested_fees:
$ref: '#/components/schemas/PrioritySolanaSuggestedFees'
description: The suggested fees.
instructions:
items:
$ref: '#/components/schemas/SolanaCompiledInstruction'
type: array
title: Instructions
description: The instructions of the transaction.
raw_transaction:
title: Raw Transaction
description: The serialized transaction encoded as a base64 string
type: string
example: SGVsbG8=
was_fee_set_in_request:
type: boolean
title: Was Fee Set In Request
description: Whether the priority fee was already set in the request with a ComputeBudget instruction.
fee_payer:
description: The address that pays the fee for this transaction (first account in the transaction).
$ref: '#/components/schemas/EnrichedSolanaAddress'
type:
type: string
const: solana_transaction
title: Type
description: The type of the transaction.
type: object
required:
- matched_policies
- risks
- expected_result
- chain
- solana_transaction_type_details
- sender
- suggested_fees
- instructions
- was_fee_set_in_request
- type
title: PredictedBatchSolanaTransaction
IncomingAmlCheck:
properties:
policy_match:
description: The AML policy match for incoming transactions.
$ref: '#/components/schemas/AmlPolicyMatchIncoming'
users_eligible_to_unfreeze:
title: Users Eligible To Unfreeze
description: list of possible approvers
items:
$ref: '#/components/schemas/RequestApprover'
type: array
frozen:
title: Frozen
description: Whether the transaction is frozen.
type: boolean
type: object
title: IncomingAmlCheck
SolanaCompiledInstructionRequest:
properties:
program_index:
type: integer
title: Program Index
description: The program index.
data:
type: string
title: Data
description: The instruction data in Base64 format.
example: SGVsbG8=
account_indexes:
items:
type: integer
type: array
title: Account Indexes
description: The indexes of the instruction accounts in the transaction accounts list.
type: object
required:
- program_index
- data
- account_indexes
title: SolanaCompiledInstructionRequest
AmlPolicyMatchOutgoingActionType:
type: string
enum:
- allow
- block
- require_approval
- skip
title: AmlPolicyMatchOutgoingActionType
PushableTransactionStateChange:
properties:
changed_at:
type: string
format: date-time
title: Changed At
description: The date and time when the state was changed.
reason:
description: The reason for the state change.
$ref: '#/components/schemas/StateChangeReason'
previous_state:
description: The previous state of the transaction.
$ref: '#/components/schemas/PushableTransactionState'
new_state:
$ref: '#/components/schemas/PushableTransactionState'
description: The new state of the transaction.
type: object
required:
- changed_at
- new_state
title: PushableTransactionStateChange
VaultAddressRef:
properties:
id:
type: string
format: uuid
title: Id
description: The unique identifier of the vault address in the Fordefi platform.
vault_id:
type: string
format: uuid
title: Vault Id
description: The unique identifier of the vault this address belongs to.
name:
type: string
title: Name
description: The name of the vault address.
address:
type: string
title: Address
description: The address of the vault address.
type: object
required:
- id
- vault_id
- name
- address
title: VaultAddressRef
description: Represents a reference to a vault address in the Fordefi platform
MinedResultStatus:
type: string
enum:
- success
- missing
- potentially_partial
title: MinedResultStatus
FeePriorityLevel:
type: string
enum:
- custom
- low
- medium
- high
title: FeePriorityLevel
SolanaCompiledInstruction:
properties:
program_index:
type: integer
title: Program Index
description: The program index.
data:
type: string
title: Data
description: The instruction data in Base64 format.
example: SGVsbG8=
account_indexes:
items:
type: integer
type: array
title: Account Indexes
description: The indexes of the instruction accounts in the transaction accounts list.
program:
$ref: '#/components/schemas/EnrichedSolanaAddress'
description: The address of the program account.
base58_data:
title: Base58 Data
description: The instruction data encoded in Base58 format.
type: string
pattern: ^[a-km-zA-HJ-NP-Z1-9]+$
type: object
required:
- program_index
- data
- account_indexes
- program
title: SolanaCompiledInstruction
UtxoFees:
properties:
priority:
$ref: '#/components/schemas/FeePriorityLevel'
description: The priority level.
fee_per_byte:
type: string
pattern: ^\d+$
title: Fee Per Byte
description: The fee per byte.
example: '1000000000000000000'
transaction_byte_size:
type: string
pattern: ^\d+$
title: Transaction Byte Size
description: The transaction size in bytes.
example: '1000000000000000000'
total_fee:
type: string
pattern: ^\d+$
title: Total Fee
description: The total fee paid.
example: '1000000000000000000'
priced_asset:
$ref: '#/components/schemas/PricedAsset'
description: The information of the asset used to pay the fee and amount used.
type: object
required:
- priority
- fee_per_byte
- transaction_byte_size
- total_fee
- priced_asset
title: UtxoFees
AmlPolicyMatchIncomingActionType:
type: string
enum:
- allow
- freeze
- skip
title: AmlPolicyMatchIncomingActionType
SignerType:
type: string
enum:
- initiator
- api_signer
- end_user
- multiple_signers
- api_user
title: SignerType
TonAssetIdentifier:
properties:
type:
type: string
const: ton
title: Type
description: TON asset identifier type.
details:
oneOf:
- $ref: '#/components/schemas/TonNativeAssetIdentifierRequest'
- $ref: '#/components/schemas/TonJettonAssetIdentifierRequest'
discriminator:
propertyName: type
mapping:
jetton: '#/components/schemas/TonJettonAssetIdentifierRequest'
native: '#/components/schemas/TonNativeAssetIdentifierRequest'
chain:
$ref: '#/components/schemas/EnrichedTonChain'
type: object
required:
- type
- details
- chain
title: TonAssetIdentifier
AmlScanStatus:
type: string
enum:
- error
- timeout
- skipped
- completed
- unsupported_chain
- pending
title: AmlScanStatus
PredictBatchTransactionResponse:
oneOf:
- $ref: '#/components/schemas/PredictedBatchSolanaTransaction'
- $ref: '#/components/schemas/PredictedUtxoDlcTransaction'
discriminator:
propertyName: type
mapping:
solana_transaction: '#/components/schemas/PredictedBatchSolanaTransaction'
utxo_dlc_transaction: '#/components/schemas/PredictedUtxoDlcTransaction'
StarknetNativeAssetIdentifierRequest:
properties:
type:
type: string
const: native
title: Type
description: Starknet asset identifier type.
chain:
$ref: '#/components/schemas/StarknetChainUniqueId'
description: The details of the chain of the native asset.
type: object
required:
- type
- chain
title: StarknetNativeAssetIdentifierRequest
ApiSignerRef:
properties:
id:
type: string
format: uuid
title: Id
description: The unique identifier of the user in the Fordefi platform.
user_type:
type: string
const: api_signer
title: User Type
description: The type of the user.
name:
type: string
title: Name
description: The name of the user.
state:
type: string
enum:
- active
- onboarding_pending_code_generation
- onboarding_pending_activation
- deleted
title: State
description: The state of the user.
type: object
required:
- id
- user_type
- name
- state
title: ApiSignerRef
ManagedTransactionData:
properties:
created_by:
$ref: '#/components/schemas/UserRef'
description: The user who created the transaction.
aborted_by:
description: The user who aborted the transaction, `null` if the transaction was not aborted.
$ref: '#/components/schemas/UserRef'
finalized_for_signing_by:
description: The user who finalized the transaction for signing, `null` if the transaction was not finalized for signing.
$ref: '#/components/schemas/UserRef'
device_signing_request:
$ref: '#/components/schemas/ActionSigningRequest'
approval_request:
description: The approval request.
$ref: '#/components/schemas/ApprovalRequest'
aml_policy_match:
description: The AML policy match.
$ref: '#/components/schemas/AmlPolicyMatchOutgoing'
policy_match:
description: The policy match.
$ref: '#/components/schemas/PolicyMatch'
signer_type:
$ref: '#/components/schemas/SignerType'
description: 'The type of signer of the transaction. Can be one of the following: - `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
PsbtSignerIdentityAddress:
properties:
type:
type: string
const: address
title: Type
address:
type: string
pattern: ^.+1[qpzry9x8gf2tvdw0s3jn54khce6mua7l]{7,}$
title: Address
description: The address of the key that should sign on the input.
type: object
required:
- type
- address
title: PsbtSignerIdentityAddress
BatchSolanaTransactionRequestDetails:
properties:
fee:
description: The fee configuration for the transaction.
oneOf:
- $ref: '#/components/schemas/SolanaCustomFeeRequest'
- $ref: '#/components/schemas/SolanaPriorityFeeRequest'
discriminator:
propertyName: type
mapping:
custom: '#/components/schemas/SolanaCustomFeeRequest'
priority: '#/components/schemas/SolanaPriorityFeeRequest'
type:
type: string
const: solana_raw_transaction
title: Type
description: A Solana raw transaction is for any operation.
fail_on_prediction_failure:
type: boolean
title: Fail On Prediction Failure
description: '`True` if the request should fail in case simulation failed, `False` otherwise.
In case simulation has failed upon continuation, the expected result of the transaction will be partial and policy will be applied on information that can be extracted statically from the transaction only. This might result in falling back to the default policy rule. '
default: true
skip_simulation:
type: boolean
title: Skip Simulation
description: '`True` to create a transaction without prediction, `False` otherwise.
In case of skipping simulation, the `simulation_status` will be `skipped` and the `expected_result` of the transaction will be empty. The policy will be applied on information that can be extracted statically from the transaction only. This might result in falling back to the default policy rule.
Note, it is recommended to use the default setting for this field and to turn off `fail_on_prediction_failure` instead - unless you wish to save time by omitting the prediction phase entirely. '
default: false
chain:
$ref: '#/components/schemas/SolanaChainUniqueId'
description: The chain that this transaction is on. Specify the chain name (for example, `solana_mainnet`).
transactions:
items:
$ref: '#/components/schemas/BatchSolanaTransactionInstanceDetails'
type: array
minItems: 1
title: Transactions
description: Details of the transactions in the batch.
type: object
required:
- type
- chain
- transactions
title: BatchSolanaTransactionRequestDetails
ApprovalState:
type: string
enum:
- pending
- approved
- unauthorized
- not_participated
title: ApprovalState
description: Represents an approval state of a single approver
TransactionRisk:
properties:
type:
$ref: '#/components/schemas/TransactionRiskType'
description: '
Fordefi has detected that one or more of the following risks are associated with the requested transaction:- 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
EnrichedExchangeChain:
properties:
chain_type:
type: string
const: exchange
title: Chain Type
description: The type of the chain.
unique_id:
$ref: '#/components/schemas/ExchangeChainUniqueId'
description: The type of the Exchange-based chain.
name:
type: string
minLength: 1
title: Name
description: The full blockchain name.
native_currency_symbol:
type: string
minLength: 1
title: Native Currency Symbol
description: The native currency symbol.
example: ETH
native_currency_name:
type: string
minLength: 1
title: Native Currency Name
description: The native currency name.
example: Ether
blockchain_explorer:
$ref: '#/components/schemas/BlockchainExplorer'
logo_url:
type: string
maxLength: 2083
minLength: 1
format: uri
title: Logo Url
description: The logo URL of the chain.
is_testnet:
type: boolean
title: Is Testnet
description: Whether the chain is on a testnet.
is_enabled:
type: boolean
title: Is Enabled
description: Whether the chain is enabled.
type: object
required:
- chain_type
- unique_id
- name
- native_currency_symbol
- native_currency_name
- logo_url
- is_testnet
- is_enabled
title: EnrichedExchangeChain
CreateBatchTransactionResponse:
properties:
batch_id:
type: string
format: uuid
title: Batch Id
description: ID of the batch of transactions.
transactions:
items:
$ref: '#/components/schemas/CreateBatchTransactionInstanceResponse'
type: array
title: Transactions
type: object
required:
- batch_id
- transactions
title: CreateBatchTransactionResponse
SuiCoinAssetIdentifierRequest:
properties:
type:
type: string
const: coin
title: Type
description: Coin asset identifier type.
coin_type:
$ref: '#/components/schemas/SuiCoinTypeRequest'
description: The Coin details.
type: object
required:
- type
- coin_type
title: SuiCoinAssetIdentifierRequest
TonChain:
properties:
chain_type:
type: string
const: ton
title: Chain Type
description: The type of the chain.
unique_id:
$ref: '#/components/schemas/TonChainUniqueId'
description: The type of the TON-based chain.
type: object
required:
- chain_type
- unique_id
title: TonChain
AbortTransactionErrorType:
type: string
enum:
- invalid_transaction_state
- non_managed_transaction
- transactions_already_aborted
- transaction_is_in_batch
title: AbortTransactionErrorType
PredictedSolanaSpotSwapDetails:
properties:
type:
type: string
const: spot_swap
title: Type
description: A Solana spot swap transaction is for swapping between two assets.
slippage_bps:
type: string
pattern: ^\d+(\.\d+)?$
title: Slippage Bps
description: The slippage in basis points.
example: '1000000000000000000'
price_impact_pct:
type: string
pattern: ^\d+(\.\d+)?$
title: Price Impact Pct
description: The price impact in percentage.
example: '1000000000000000000'
rate:
type: string
pattern: ^\d+(\.\d+)?$
title: Rate
description: The rate of the swap.
example: '1000000000000000000'
broadcast_mode:
$ref: '#/components/schemas/SolanaSpotSwapBroadcastMode'
description: The broadcast mode of the swap.
input_asset:
$ref: '#/components/schemas/AssetInfo'
description: The input asset.
output_asset:
$ref: '#/components/schemas/AssetInfo'
description: The output asset.
recipients:
items:
$ref: '#/components/schemas/EnrichedSolanaAddress'
type: array
title: Recipients
description: The recipients of the tokens.
jito_suggested_fees:
$ref: '#/components/schemas/JitoSolanaSuggestedFees'
description: The suggested fees for Jito.
type: object
required:
- type
- slippage_bps
- price_impact_pct
- rate
- broadcast_mode
- input_asset
- output_asset
- recipients
- jito_suggested_fees
title: PredictedSolanaSpotSwapDetails
SolanaTransactionResult:
properties:
reversion:
$ref: '#/components/schemas/SolanaReversion'
description: Details whether the transaction was reverted or not.
transaction_error:
title: Transaction Error
description: The description of the error of the transaction.
type: string
enriched_fee:
$ref: '#/components/schemas/SolanaFee'
description: The fee of the transaction.
effects:
$ref: '#/components/schemas/SolanaEffects'
description: The effects of the transaction.
instruction_error:
description: The description of the error of the instruction.
$ref: '#/components/schemas/InstructionError'
type: object
required:
- reversion
- enriched_fee
- effects
title: SolanaTransactionResult
StacksChainUniqueId:
type: string
enum:
- stacks_mainnet
title: StacksChainUniqueId
RateLimitError:
properties: {}
type: object
title: RateLimitError
AddressLookupTableState:
properties:
addresses:
items:
$ref: '#/components/schemas/EnrichedSolanaAddress'
type: array
title: Addresses
description: The addresses that are stored in the table.
authority:
description: The authority address which must sign for each modification.
$ref: '#/components/schemas/EnrichedSolanaAddress'
deactivation_slot:
type: string
pattern: ^0*[1-9]\d*$
title: Deactivation Slot
description: The table can be closed when the deactivation slot is no longer the recent slot.
example: '1000000000000000000'
last_extended_slot:
type: string
pattern: ^0*[1-9]\d*$
title: Last Extended Slot
description: The number of the last slot in which a change constitutes an extension of the table.
example: '1000000000000000000'
last_extended_slot_start_index:
type: string
pattern: ^\d+$
title: Last Extended Slot Start Index
description: The start index where the table was last extended from during the `last_extended_slot`.
example: '1000000000000000000'
type: object
required:
- addresses
- deactivation_slot
- last_extended_slot
- last_extended_slot_start_index
title: AddressLookupTableState
ArchNativeAssetIdentifierRequest:
properties:
type:
type: string
const: native
title: Type
description: Arch asset identifier type.
chain:
$ref: '#/components/schemas/ArchChainUniqueId'
description: The details of the chain of the native asset.
type: object
required:
- type
- chain
title: ArchNativeAssetIdentifierRequest
ResourceError:
properties:
title:
type: string
title: Title
description: Human-readable error message.
detail:
type: string
title: Detail
description: Detailed error message.
full_detail:
title: Full Detail
description: Full error message with additional details, if available.
type: string
request_id:
title: Request Id
description: Request ID - for debugging purposes.
type: string
resource:
description: The type of resource.
$ref: '#/components/schemas/Resource'
type: object
required:
- title
- detail
title: ResourceError
UtxoOutput:
properties:
address:
$ref: '#/components/schemas/EnrichedUtxoAddress'
description: The address of the output.
value:
type: string
pattern: ^\d+$
title: Value
description: The value of the output.
example: '1000000000000000000'
is_change_address:
title: Is Change Address
description: Whether the output is a change address.
type: boolean
is_send_max:
title: Is Send Max
description: Whether the output is a send-max output.
type: boolean
type: object
required:
- address
- value
title: UtxoOutput
SolanaEffects:
properties:
balance_changes:
items:
$ref: '#/components/schemas/SolanaBalanceChangeEffect'
type: array
title: Balance Changes
description: The aggregated balance changes of addresses.
transfers:
items:
$ref: '#/components/schemas/SolanaTransferEffect'
type: array
title: Transfers
description: The transfer events of the transaction.
allowances:
items:
$ref: '#/components/schemas/SolanaAllowanceEffect'
type: array
title: Allowances
description: Allowances set or modified as a result of the transaction
type: object
required:
- balance_changes
- transfers
- allowances
title: SolanaEffects
TonAddressRequest:
properties:
chain:
$ref: '#/components/schemas/TonChainUniqueId'
description: The chain details this address is of.
address:
type: string
maxLength: 67
pattern: ^[-0-9]+:[A-Fa-f0-9]{64}$
title: Address
description: Contract address in a raw format.
type: object
required:
- chain
- address
title: TonAddressRequest
description: Address represents a blockchain address.
EnrichedStellarChain:
properties:
chain_type:
type: string
const: stellar
title: Chain Type
description: The type of the chain.
unique_id:
$ref: '#/components/schemas/StellarChainUniqueId'
description: The type of the Stellar chain.
name:
type: string
minLength: 1
title: Name
description: The full blockchain name.
native_currency_symbol:
type: string
minLength: 1
title: Native Currency Symbol
description: The native currency symbol.
example: ETH
native_currency_name:
type: string
minLength: 1
title: Native Currency Name
description: The native currency name.
example: Ether
blockchain_explorer:
$ref: '#/components/schemas/BlockchainExplorer'
logo_url:
type: string
maxLength: 2083
minLength: 1
format: uri
title: Logo Url
description: The logo URL of the chain.
is_testnet:
type: boolean
title: Is Testnet
description: Whether the chain is on a testnet.
is_enabled:
type: boolean
title: Is Enabled
description: Whether the chain is enabled.
type: object
required:
- chain_type
- unique_id
- name
- native_currency_symbol
- native_currency_name
- logo_url
- is_testnet
- is_enabled
title: EnrichedStellarChain
ChainalysisScanResult:
properties:
type:
type: string
const: chainalysis
title: Type
description: The type of the policy.
alerts:
items:
$ref: '#/components/schemas/ChainalysisAlert'
type: array
title: Alerts
description: The list of alerts.
external_id:
type: string
format: uuid
title: External Id
description: A unique identifier of the scan.
type: object
required:
- type
- alerts
- external_id
title: ChainalysisScanResult
StarknetAddressRequest:
properties:
chain:
$ref: '#/components/schemas/StarknetChainUniqueId'
description: The chain details this address is of.
hex_repr:
type: string
maxLength: 66
minLength: 66
pattern: ^0[xX][a-fA-F0-9]+$
title: Hex Repr
description: Hexadecimal representation of the address in the chain.
example: '0x0448f450e64B50dDF49e9F95C5b63a15cD21E21a39cA2D45628d9E5B27e5e1D8'
type: object
required:
- chain
- hex_repr
title: StarknetAddressRequest
description: Address represents a blockchain address.
EvmAddressRequest:
properties:
chain:
type: string
minLength: 1
title: EvmChainUniqueId
description: The chain details this address is of.
hex_repr:
type: string
maxLength: 42
minLength: 42
pattern: ^0[xX][a-fA-F0-9]+$
title: Hex Repr
description: Hexadecimal representation of the address in the chain.
example: '0x71C7656EC7ab88b098defB751B7401B5f6d8976F'
type: object
required:
- chain
- hex_repr
title: EvmAddressRequest
description: Address represents a blockchain address.
CosmosChain:
properties:
chain_type:
type: string
const: cosmos
title: Chain Type
description: The type of the chain.
unique_id:
$ref: '#/components/schemas/CosmosChainUniqueId'
description: The Cosmos chain unique id.
type: object
required:
- chain_type
- unique_id
title: CosmosChain
SuiChain:
properties:
chain_type:
type: string
const: sui
title: Chain Type
description: The type of the chain.
unique_id:
$ref: '#/components/schemas/SuiChainUniqueId'
description: The type of the Sui-based chain.
type: object
required:
- chain_type
- unique_id
title: SuiChain
StacksAddressRequest:
properties:
chain:
$ref: '#/components/schemas/StacksChainUniqueId'
description: The chain details this address is of.
hex_repr:
type: string
maxLength: 171
pattern: ^S[0-9A-Za-z._-]+$
title: Hex Repr
description: Hexadecimal representation of the address in the chain.
example: SP3J4NWQXC312DK0GXVRZKSRFBZG8S5FG1D2160E9
type: object
required:
- chain
- hex_repr
title: StacksAddressRequest
description: Address represents a blockchain address.
UtxoInput:
properties:
address:
$ref: '#/components/schemas/EnrichedUtxoAddress'
description: The address of the input.
value:
type: string
pattern: ^\d+$
title: Value
description: The value of the input.
example: '1000000000000000000'
should_sign:
type: boolean
title: Should Sign
description: '`True` if this is signed by the creating vault (relevant for PSBT), `False` otherwise.'
default: true
type: object
required:
- address
- value
title: UtxoInput
AptosNewCoinAssetIdentifierRequest:
properties:
type:
type: string
const: new_coin
title: Type
description: New coin asset identifier type.
new_coin_type:
$ref: '#/components/schemas/AptosNewCoinTypeRequest'
description: The new coin details.
type: object
required:
- type
- new_coin_type
title: AptosNewCoinAssetIdentifierRequest
RelatedTransactionType:
type: string
enum:
- swap_fulfilled_by
- swap_fulfilling
- bridge_intent
- bridge_source
- bridge_destination
- stellar_claim_of
- stellar_claimed_by
- canton_accept_of
- canton_accepted_by
title: RelatedTransactionType
UtxoChainUniqueId:
type: string
enum:
- bitcoin_mainnet
- bitcoin_testnet
- bitcoin_testnet_v4
- dogecoin_mainnet
- bitcoin_cash_mainnet
- pearl_testnet
- pearl_mainnet
title: UtxoChainUniqueId
Block:
properties:
number:
type: integer
title: Number
description: The block number.
hash:
title: Hash
description: The block hash.
type: string
mined_at:
type: string
format: date-time
title: Mined At
description: The date and time when this block was mined.
type: object
required:
- number
- mined_at
title: Block
RequestApprover:
properties:
user:
oneOf:
- $ref: '#/components/schemas/PersonRef'
- $ref: '#/components/schemas/ApiUserRef'
discriminator:
propertyName: user_type
mapping:
api_user: '#/components/schemas/ApiUserRef'
person: '#/components/schemas/PersonRef'
modified_at:
type: string
format: date-time
title: Modified At
description: The date and time when this approval was modified.
decision:
title: Decision
description: The decision of the approver.
deprecated: true
type: string
state:
$ref: '#/components/schemas/ApprovalState'
description: The state of the approval request for this approver.
type: object
required:
- user
- modified_at
- state
title: RequestApprover
description: Represents a single approver in an approval request
CreateTransactionErrorType:
type: string
enum:
- reverted_transaction
- partial_signed_raw_request
- blocked_by_policy
- transaction_contains_restricted_addresses
- vault_not_found
- missing_signed_raw_request
- redundant_signed_raw_request
- transaction_to_non_contract
- insecure_key_derivation
- invalid_signed_raw_request
- invalid_signer_type
- invalid_evm_message
- invalid_evm_transaction_data
- insufficient_funds
- vault_type_mismatch
- invalid_creator_type
- invalid_recipient
- dust_not_allowed
- invalid_gas_type
- insufficient_approvers
- funding_blocked_by_policy
- funder_not_allowed_for_transaction_type
- origin_vault_used_as_funder
- mixed_secure_and_non_secure_transactions
- invalid_push_mode
- chain_does_not_support_secure_node
- invalid_solana_secret_key
- invalid_solana_raw_transaction_accounts_field
- insufficient_gas_coins
- invalid_aptos_serialized_entry_point
- invalid_aptos_serialized_type
- invalid_aptos_rotate_key
- sui_package_address_not_found
- transaction_already_mined
- invalid_utxo_message_address_type
- invalid_starknet_vault_state
- missing_secret_key_or_recent_blockhash
- missing_secret_key_or_signature
- revoke_allowance_gas_limit_too_high
- chain_is_disabled
- priority_fee_already_set
- quote_not_found
- invalid_transaction_gas_config_field
- chain_is_not_supported
- gas_sponsor_not_enabled_for_organization
- chain_does_not_support_7702
- creating_user_operation_message_is_blocked
- transaction_fee_exceeds_limit
- transaction_not_pushable
- aml_not_configured
- transaction_not_frozen
- send_7702_transaction_to_self
- vault_is_not_smart_account
- invalid_canton_vault_registration_state
- failed_finding_wrapped_native_token
title: CreateTransactionErrorType
EnrichedAptosChain:
properties:
chain_type:
type: string
const: aptos
title: Chain Type
description: The type of the chain.
unique_id:
$ref: '#/components/schemas/AptosChainUniqueId'
description: The type of the Aptos-based chain.
name:
type: string
minLength: 1
title: Name
description: The full blockchain name.
native_currency_symbol:
type: string
minLength: 1
title: Native Currency Symbol
description: The native currency symbol.
example: ETH
native_currency_name:
type: string
minLength: 1
title: Native Currency Name
description: The native currency name.
example: Ether
blockchain_explorer:
$ref: '#/components/schemas/BlockchainExplorer'
logo_url:
type: string
maxLength: 2083
minLength: 1
format: uri
title: Logo Url
description: The logo URL of the chain.
is_testnet:
type: boolean
title: Is Testnet
description: Whether the chain is on a testnet.
is_enabled:
type: boolean
title: Is Enabled
description: Whether the chain is enabled.
type: object
required:
- chain_type
- unique_id
- name
- native_currency_symbol
- native_currency_name
- logo_url
- is_testnet
- is_enabled
title: EnrichedAptosChain
ArchAddressRequest:
properties:
chain:
$ref: '#/components/schemas/ArchChainUniqueId'
description: The chain details this address is of.
base58_repr:
type: string
maxLength: 44
minLength: 32
pattern: ^[a-km-zA-HJ-NP-Z1-9]+$
title: Base58 Repr
description: Base58 representation of the address in the chain.
example: 4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA
type: object
required:
- chain
- base58_repr
title: ArchAddressRequest
description: Address represents a blockchain address.
CosmosBech32Prefix:
type: string
enum:
- agoric
- akash
- archway
- axelar
- bbn
- celestia
- cosmos
- dydx
- dym
- inj
- neutron
- nillion
- noble
- osmo
- saga
- sei
- stride
- thor
- mantra
title: CosmosBech32Prefix
SolanaRawTransactionDetails:
properties:
type:
type: string
const: raw_transaction
title: Type
description: A transaction capable of any operation.
recipients:
items:
$ref: '#/components/schemas/EnrichedSolanaAddress'
type: array
title: Recipients
description: The recipients of the tokens.
type: object
required:
- type
- recipients
title: SolanaRawTransactionDetails
AptosCoinTypeRequest:
properties:
chain:
$ref: '#/components/schemas/AptosChainUniqueId'
description: The chain details this address is of.
coin_type_str:
type: string
title: Coin Type Str
description: Coin type string representation.
type: object
required:
- chain
- coin_type_str
title: AptosCoinTypeRequest
description: Coin type represents a blockchain legacy coin type.
PushableTransactionState:
type: string
enum:
- waiting_for_approval
- waiting_for_signing_trigger
- approved
- finalized_for_signing
- signed
- pushed_to_blockchain
- mined
- completed
- aborted
- error_pushing_to_blockchain
- mined_reverted
- completed_reverted
- error_signing
- stuck
- dropped
- queued
- accelerating
- canceling
- accelerated
- cancelled
- insufficient_funds
title: PushableTransactionState
CantonAssetIdentifier:
properties:
type:
type: string
const: canton
title: Type
description: Canton asset identifier type.
details:
oneOf:
- $ref: '#/components/schemas/CantonNativeAssetIdentifierRequest'
- $ref: '#/components/schemas/CantonCip56TokenAssetIdentifierRequest'
discriminator:
propertyName: type
mapping:
cip56_token: '#/components/schemas/CantonCip56TokenAssetIdentifierRequest'
native: '#/components/schemas/CantonNativeAssetIdentifierRequest'
chain:
$ref: '#/components/schemas/EnrichedCantonChain'
type: object
required:
- type
- details
- chain
title: CantonAssetIdentifier
AptosChainUniqueId:
type: string
enum:
- aptos_mainnet
- aptos_testnet
- aptos_movement_mainnet
- aptos_movement_testnet
title: AptosChainUniqueId
ContactRef:
properties:
id:
type: string
format: uuid
title: Id
description: The unique identifier of the address book contact in the Fordefi platform.
name:
type: string
title: Name
description: The name of the contact.
address_ref:
oneOf:
- $ref: '#/components/schemas/AptosAddressBookContactAddressRef'
- $ref: '#/components/schemas/ArchAddressBookContactAddressRef'
- $ref: '#/components/schemas/CantonAddressBookContactAddressRef'
- $ref: '#/components/schemas/CosmosAddressBookContactAddressRef'
- $ref: '#/components/schemas/EVMAddressBookContactAddressRef'
- $ref: '#/components/schemas/SolanaAddressBookContactAddressRef'
- $ref: '#/components/schemas/StacksAddressBookContactAddressRef'
- $ref: '#/components/schemas/StarknetAddressBookContactAddressRef'
- $ref: '#/components/schemas/StellarAddressBookContactAddressRef'
- $ref: '#/components/schemas/SuiAddressBookContactAddressRef'
- $ref: '#/components/schemas/TonAddressBookContactAddressRef'
- $ref: '#/components/schemas/TronAddressBookContactAddressRef'
- $ref: '#/components/schemas/UtxoAddressBookContactAddressRef'
discriminator:
propertyName: chain_type
mapping:
aptos: '#/components/schemas/AptosAddressBookContactAddressRef'
arch: '#/components/schemas/ArchAddressBookContactAddressRef'
canton: '#/components/schemas/CantonAddressBookContactAddressRef'
cosmos: '#/components/schemas/CosmosAddressBookContactAddressRef'
evm: '#/components/schemas/EVMAddressBookContactAddressRef'
solana: '#/components/schemas/SolanaAddressBookContactAddressRef'
stacks: '#/components/schemas/StacksAddressBookContactAddressRef'
starknet: '#/components/schemas/StarknetAddressBookContactAddressRef'
stellar: '#/components/schemas/StellarAddressBookContactAddressRef'
sui: '#/components/schemas/SuiAddressBookContactAddressRef'
ton: '#/components/schemas/TonAddressBookContactAddressRef'
tron: '#/components/schemas/TronAddressBookContactAddressRef'
utxo: '#/components/schemas/UtxoAddressBookContactAddressRef'
type: object
required:
- id
- name
- address_ref
title: ContactRef
description: Represents a reference to an address book contact in the Fordefi platform.
TonChainUniqueId:
type: string
enum:
- ton_mainnet
title: TonChainUniqueId
StacksNativeAssetIdentifierRequest:
properties:
type:
type: string
const: native
title: Type
description: Stacks asset identifier type.
chain:
$ref: '#/components/schemas/StacksChainUniqueId'
description: The details of the chain of the native asset.
type: object
required:
- type
- chain
title: StacksNativeAssetIdentifierRequest
SolanaAllowanceEffect:
properties:
priced_asset:
$ref: '#/components/schemas/PricedAsset'
description: The asset information.
amount:
type: string
pattern: ^\d+$
title: Amount
description: The amount of the transfer.
example: '1000000000000000000'
owner:
$ref: '#/components/schemas/EnrichedSolanaAddress'
description: The owner of the tokens
spender:
$ref: '#/components/schemas/EnrichedSolanaAddress'
description: The address allowed to spend
type: object
required:
- priced_asset
- amount
- owner
- spender
title: SolanaAllowanceEffect
CosmosTokenAssetIdentifierRequest:
properties:
type:
type: string
const: token
title: Type
description: Token asset identifier type.
chain:
$ref: '#/components/schemas/CosmosChainUniqueId'
description: The unique id of the chain of the asset.
denom:
type: string
title: Denom
description: The denom of the asset.
type: object
required:
- type
- chain
- denom
title: CosmosTokenAssetIdentifierRequest
SolanaEnrichedMessageAddressTableLookup:
properties:
account_key:
$ref: '#/components/schemas/SolanaAddress'
description: The address of the lookup table.
writable_indexes:
items:
type: integer
type: array
title: Writable Indexes
description: Indexes of writable accounts in the lookup table.
readonly_indexes:
items:
type: integer
type: array
title: Readonly Indexes
description: Indexes of read-only accounts in the lookup table.
state:
$ref: '#/components/schemas/AddressLookupTableState'
description: The state of the lookup table.
type: object
required:
- account_key
- writable_indexes
- readonly_indexes
- state
title: SolanaEnrichedMessageAddressTableLookup
SimulationStatusResult:
properties:
simulation_status:
description: The status of simulation result.
$ref: '#/components/schemas/SimulationStatus'
details:
type: string
title: Details
description: Details about transaction reversion if occurred.
type: object
required:
- details
title: SimulationStatusResult
GasType:
type: string
enum:
- dynamic
- legacy
title: GasType
StellarChainUniqueId:
type: string
enum:
- stellar_mainnet
title: StellarChainUniqueId
TronAddressBookContactAddressRef:
properties:
chain_type:
type: string
const: tron
title: Chain Type
description: The type of the chain.
address:
type: string
maxLength: 34
minLength: 34
pattern: ^T[a-km-zA-HJ-NP-Z1-9]+$
title: Address
description: The address on the TRON chain.
example: TJCnKsPa7y5okkXvQAidZBzqx3QyQ6sxMW
chains:
items:
$ref: '#/components/schemas/TronChain'
type: array
title: Chains
description: The chains the contact belongs to.
memo:
title: Memo
description: Memo is an additional address feature used for identifying a recipient.
type: string
type: object
required:
- chain_type
- address
- chains
title: TronAddressBookContactAddressRef
PredictBatchSolanaTransactionRequest:
properties:
should_run_policy_check:
type: boolean
title: Should Run Policy Check
description: Should run a policy check
default: true
vault_id:
type: string
format: uuid
title: Vault Id
description: The unique identifier of the vault.
note:
title: Note
description: An optional transaction note.
type: string
type:
type: string
const: solana_transaction
title: Type
description: The type of the transaction.
details:
oneOf:
- $ref: '#/components/schemas/BatchSolanaTransactionRequestDetails'
discriminator:
propertyName: type
mapping:
solana_raw_transaction: '#/components/schemas/BatchSolanaTransactionRequestDetails'
type: object
required:
- vault_id
- type
- details
title: PredictBatchSolanaTransactionRequest
BatchSolanaTransactionInstanceDetails:
properties:
version:
$ref: '#/components/schemas/SolanaMessageVersion'
description: The version of the transaction message.
instructions:
items:
$ref: '#/components/schemas/SolanaCompiledInstructionRequest'
type: array
title: Instructions
description: The instructions of the transaction.
accounts:
items:
$ref: '#/components/schemas/SolanaTransactionAccountRequest'
type: array
title: Accounts
description: Accounts used in the transaction.
address_table_lookups:
items:
$ref: '#/components/schemas/SolanaMessageAddressTableLookupRequest'
type: array
title: Address Table Lookups
description: Lookup tables of accounts used in the transaction.
signatures:
title: Signatures
description: Any partial signatures on the transaction.
items:
$ref: '#/components/schemas/SolanaTransactionSignaturesRequest'
type: array
recent_blockhash:
title: Recent Blockhash
description: The transaction nonce (a recently processed blockhash).
type: string
maxLength: 44
minLength: 32
pattern: ^[a-km-zA-HJ-NP-Z1-9]+$
example: 4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZAMdL4VZHirAn
type: object
required:
- version
- instructions
- accounts
- address_table_lookups
title: BatchSolanaTransactionInstanceDetails
StateChangeReason:
type: string
enum:
- failed_to_verify_signature
- original_transaction_was_completed
- stale_nonce
- quote_expired
- another_dlc_transaction_was_completed
- fee_limit_exceeded
- not_in_mempool_or_chain
- exchange_withdraw_address_not_whitelisted
- exchange_invalid_api_key_permissions
- exchange_funds_pending_settlement
- exchange_withdrawal_limit_exceeded
- exchange_security_and_policy_holds
- exchange_service_unavailable
title: StateChangeReason
ApprovalRequest:
properties:
state:
$ref: '#/components/schemas/ApprovalRequestState'
description: The state of the approval request.
required_groups:
type: integer
title: Required Groups
description: The number of required approval groups.
approval_groups:
items:
$ref: '#/components/schemas/ApprovalRequestGroup'
type: array
title: Approval Groups
description: A list of the possible approvers from different groups.
error_message:
title: Error Message
description: The error message if the request failed.
type: string
type: object
required:
- state
- required_groups
- approval_groups
title: ApprovalRequest
description: Represents an approval request for an action in the Fordefi platform
TransactionSpamState:
type: string
enum:
- unset
- manually_set
- automatically_set
title: TransactionSpamState
ActionSigningRequest:
properties:
created_by:
$ref: '#/components/schemas/UserRef'
description: The user who created the action.
signers:
items:
$ref: '#/components/schemas/ActionSigner'
type: array
title: Signers
description: A list of required signers. A signer can be a person or an API Signer.
type: object
required:
- created_by
- signers
title: ActionSigningRequest
description: Represents a device sign request for an action in the Foredefi platform
StellarNativeAssetIdentifierRequest:
properties:
type:
type: string
const: native
title: Type
description: Stellar asset identifier type.
chain:
$ref: '#/components/schemas/StellarChainUniqueId'
description: The chain of the native asset.
type: object
required:
- type
- chain
title: StellarNativeAssetIdentifierRequest
EnrichedStacksChain:
properties:
chain_type:
type: string
const: stacks
title: Chain Type
description: The type of the chain.
unique_id:
$ref: '#/components/schemas/StacksChainUniqueId'
description: The type of the Stacks-based chain.
name:
type: string
minLength: 1
title: Name
description: The full blockchain name.
native_currency_symbol:
type: string
minLength: 1
title: Native Currency Symbol
description: The native currency symbol.
example: ETH
native_currency_name:
type: string
minLength: 1
title: Native Currency Name
description: The native currency name.
example: Ether
blockchain_explorer:
$ref: '#/components/schemas/BlockchainExplorer'
logo_url:
type: string
maxLength: 2083
minLength: 1
format: uri
title: Logo Url
description: The logo URL of the chain.
is_testnet:
type: boolean
title: Is Testnet
description: Whether the chain is on a testnet.
is_enabled:
type: boolean
title: Is Enabled
description: Whether the chain is enabled.
type: object
required:
- chain_type
- unique_id
- name
- native_currency_symbol
- native_currency_name
- logo_url
- is_testnet
- is_enabled
title: EnrichedStacksChain
ApprovalRequestGroup:
properties:
quorum_size:
type: integer
title: Quorum Size
description: The number of approvers required to approve the transaction.
approvers:
items:
$ref: '#/components/schemas/RequestApprover'
type: array
title: Approvers
description: A list of the possible approvers.
type: object
required:
- quorum_size
- approvers
title: ApprovalRequestGroup
AssetIdentifier:
oneOf:
- $ref: '#/components/schemas/AptosAssetIdentifier'
- $ref: '#/components/schemas/ArchAssetIdentifier'
- $ref: '#/components/schemas/CantonAssetIdentifier'
- $ref: '#/components/schemas/CosmosAssetIdentifier'
- $ref: '#/components/schemas/EvmAssetIdentifier'
- $ref: '#/components/schemas/ExchangeAssetIdentifier'
- $ref: '#/components/schemas/SolanaAssetIdentifier'
- $ref: '#/components/schemas/StacksAssetIdentifier'
- $ref: '#/components/schemas/StellarAssetIdentifier'
- $ref: '#/components/schemas/StarknetAssetIdentifier'
- $ref: '#/components/schemas/SuiAssetIdentifier'
- $ref: '#/components/schemas/TonAssetIdentifier'
- $ref: '#/components/schemas/TronAssetIdentifier'
- $ref: '#/components/schemas/UtxoAssetIdentifier'
discriminator:
propertyName: type
mapping:
aptos: '#/components/schemas/AptosAssetIdentifier'
arch: '#/components/schemas/ArchAssetIdentifier'
canton: '#/components/schemas/CantonAssetIdentifier'
cosmos: '#/components/schemas/CosmosAssetIdentifier'
evm: '#/components/schemas/EvmAssetIdentifier'
exchange: '#/components/schemas/ExchangeAssetIdentifier'
solana: '#/components/schemas/SolanaAssetIdentifier'
stacks: '#/components/schemas/StacksAssetIdentifier'
starknet: '#/components/schemas/StarknetAssetIdentifier'
stellar: '#/components/schemas/StellarAssetIdentifier'
sui: '#/components/schemas/SuiAssetIdentifier'
ton: '#/components/schemas/TonAssetIdentifier'
tron: '#/components/schemas/TronAssetIdentifier'
utxo: '#/components/schemas/UtxoAssetIdentifier'
SolanaTransaction:
properties:
id:
type: string
format: uuid
title: Id
description: The unique identifier of the object in the Fordefi platform.
created_at:
type: string
format: date-time
title: Created At
description: The date and time when the object was created.
modified_at:
type: string
format: date-time
title: Modified At
description: The date and time when the object was last modified. Any change to any field of the resource is considered a modification.
managed_transaction_data:
description: 'Managed transaction data. Presented if the transaction was initiated from the Fordefi system itself, in contrast to unmanaged transactions (which are, for example, transfers of funds into a vault visible to Fordefi). '
$ref: '#/components/schemas/ManagedTransactionData'
signatures:
items:
$ref: '#/components/schemas/Signature'
type: array
title: Signatures
description: The transaction signatures.
note:
title: Note
description: An optional transaction note.
type: string
spam_state:
$ref: '#/components/schemas/TransactionSpamState'
description: '`automatically_set` if the transaction was automatically set as spam by Fordefi, `manually_set` if the transaction was manually set as spam by a user, and `unset` if the transaction was not set as spam.'
default: unset
direction:
$ref: '#/components/schemas/TransactionDirection'
description: The direction of the transaction.
signed_externally:
type: boolean
title: Signed Externally
description: Whether the transaction was signed by an external user (for example in case of imported vault).
default: false
interacted_vaults:
items:
$ref: '#/components/schemas/VaultRef'
type: array
title: Interacted Vaults
description: The vaults that interacted with the transaction.
related_transactions:
title: Related Transactions
description: The related transactions.
items:
$ref: '#/components/schemas/RelatedTransaction'
type: array
organization_id:
type: string
format: uuid
title: Organization Id
description: The organization that the transaction belongs to.
block:
description: The block of the transaction.
$ref: '#/components/schemas/Block'
state:
$ref: '#/components/schemas/PushableTransactionState'
description: The state of the transaction.
state_changes:
items:
$ref: '#/components/schemas/PushableTransactionStateChange'
type: array
title: State Changes
description: The state changes of the transaction.
aml_check:
description: The AML check.
$ref: '#/components/schemas/AmlCheck'
mined_result_status:
description: The mined result status of the transaction.
$ref: '#/components/schemas/MinedResultStatus'
simulation_status_result:
description: Whether simulation succeeded, reverted or failed.
$ref: '#/components/schemas/SimulationStatusResult'
type:
type: string
const: solana_transaction
title: Type
description: The type of the transaction.
solana_transaction_type_details:
oneOf:
- $ref: '#/components/schemas/SolanaNativeTransferDetails'
- $ref: '#/components/schemas/SolanaTokenTransferDetails'
- $ref: '#/components/schemas/SolanaRawTransactionDetails'
description: Details of the Solana transaction based on its type.
discriminator:
propertyName: type
mapping:
native_transfer: '#/components/schemas/SolanaNativeTransferDetails'
raw_transaction: '#/components/schemas/SolanaRawTransactionDetails'
token_transfer: '#/components/schemas/SolanaTokenTransferDetails'
chain:
$ref: '#/components/schemas/EnrichedSolanaChain'
description: The details of the chain this transaction is on.
version:
$ref: '#/components/schemas/SolanaMessageVersion'
description: The version of the transaction message.
instructions:
items:
$ref: '#/components/schemas/SolanaCompiledInstruction'
type: array
title: Instructions
description: The instructions of the transaction.
accounts:
items:
$ref: '#/components/schemas/SolanaTransactionAccount'
type: array
title: Accounts
description: Accounts used in the transaction.
address_table_lookups:
items:
$ref: '#/components/schemas/SolanaEnrichedMessageAddressTableLookup'
type: array
title: Address Table Lookups
description: Lookup tables of accounts used in the transaction.
sender:
$ref: '#/components/schemas/EnrichedSolanaAddress'
description: The sender of the transaction.
raw_transaction:
title: Raw Transaction
description: The serialized transaction encoded as a base64 string
type: string
example: SGVsbG8=
hash:
title: Hash
description: The first signature of the transaction.
type: string
maxLength: 88
minLength: 64
pattern: ^[a-km-zA-HJ-NP-Z1-9]+$
example: FAWA66fudpiwdRDDQ4DRxdJsRvawvauwg4vQkm98ZHFpXmW5N7xzRiTRpt8QiZ19s1aVbzKgXW6kEZanwHeDFNS
recent_blockhash:
title: Recent Blockhash
description: The transaction nonce (last block hash).
type: string
maxLength: 44
minLength: 32
pattern: ^[a-km-zA-HJ-NP-Z1-9]+$
example: 4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZAMdL4VZHirAn
expected_result:
description: The expected result of the transaction in case it is mined.
$ref: '#/components/schemas/SolanaTransactionResult'
mined_result:
description: The result of the transaction after it was mined.
$ref: '#/components/schemas/SolanaTransactionResult'
explorer_url:
title: Explorer Url
description: The URL of this transaction in a blockchain explorer. For example, Solscan.
example: https://solscan.io/tx/FAWA66f...6kEZanwHeDFNS
type: string
maxLength: 2083
minLength: 1
format: uri
was_fee_set_in_request:
type: boolean
title: Was Fee Set In Request
description: Whether the priority fee was already set in the request with a ComputeBudget instruction.
fee_payer:
description: The address that pays the fee for this transaction (first account in the transaction).
$ref: '#/components/schemas/EnrichedSolanaAddress'
type: object
required:
- id
- created_at
- modified_at
- signatures
- direction
- interacted_vaults
- organization_id
- state
- state_changes
- type
- solana_transaction_type_details
- chain
- version
- instructions
- accounts
- address_table_lookups
- sender
- was_fee_set_in_request
title: SolanaTransaction
CreateBatchTransactionRequest:
oneOf:
- $ref: '#/components/schemas/CreateBatchSolanaTransactionRequest'
- $ref: '#/components/schemas/CreateBatchUtxoDlcTransactionRequest'
discriminator:
propertyName: type
mapping:
solana_transaction: '#/components/schemas/CreateBatchSolanaTransactionRequest'
utxo_dlc_transaction: '#/components/schemas/CreateBatchUtxoDlcTransactionRequest'
FiatCurrency:
properties:
currency_symbol:
$ref: '#/components/schemas/FiatCurrencySymbol'
description: The symbol of the fiat currency.
decimals:
type: integer
minimum: 0.0
title: Decimals
description: The number of decimals in the fiat currency.
type: object
required:
- currency_symbol
- decimals
title: FiatCurrency
UserRole:
type: string
enum:
- admin
- trader
- viewer
title: UserRole
ExchangeType:
type: string
enum:
- binance
- bybit
- coinbase_international
- coinbase_us
- okx
- kraken
title: ExchangeType
StarknetChain:
properties:
chain_type:
type: string
const: starknet
title: Chain Type
description: The type of the chain.
unique_id:
$ref: '#/components/schemas/StarknetChainUniqueId'
description: The type of the Starknet-based chain.
type: object
required:
- chain_type
- unique_id
title: StarknetChain
UtxoAssetIdentifier:
properties:
type:
type: string
const: utxo
title: Type
description: Utxo asset identifier type.
details:
$ref: '#/components/schemas/UtxoNativeAssetIdentifierRequest'
chain:
$ref: '#/components/schemas/EnrichedUtxoChain'
type: object
required:
- type
- details
- chain
title: UtxoAssetIdentifier
SignMode:
type: string
enum:
- auto
- triggered
title: SignMode
AptosNativeAssetIdentifierRequest:
properties:
type:
type: string
const: native
title: Type
description: Aptos asset identifier type.
chain:
$ref: '#/components/schemas/AptosChainUniqueId'
description: The details of the chain of the native asset.
type: object
required:
- type
- chain
title: AptosNativeAssetIdentifierRequest
StarknetAddressBookContactAddressRef:
properties:
chain_type:
type: string
const: starknet
title: Chain Type
description: The type of the chain.
address:
type: string
maxLength: 66
minLength: 66
pattern: ^0[xX][a-fA-F0-9]+$
title: Address
description: The address on the Starknet chain.
example: '0x0448f450e64B50dDF49e9F95C5b63a15cD21E21a39cA2D45628d9E5B27e5e1D8'
chains:
items:
$ref: '#/components/schemas/StarknetChain'
type: array
title: Chains
description: The chains the contact belongs to.
type: object
required:
- chain_type
- address
- chains
title: StarknetAddressBookContactAddressRef
EnrichedCantonChain:
properties:
chain_type:
type: string
const: canton
title: Chain Type
description: The type of the chain.
unique_id:
$ref: '#/components/schemas/CantonChainUniqueId'
description: The type of the Canton chain.
name:
type: string
minLength: 1
title: Name
description: The full blockchain name.
native_currency_symbol:
type: string
minLength: 1
title: Native Currency Symbol
description: The native currency symbol.
example: ETH
native_currency_name:
type: string
minLength: 1
title: Native Currency Name
description: The native currency name.
example: Ether
blockchain_explorer:
$ref: '#/components/schemas/BlockchainExplorer'
logo_url:
type: string
maxLength: 2083
minLength: 1
format: uri
title: Logo Url
description: The logo URL of the chain.
is_testnet:
type: boolean
title: Is Testnet
description: Whether the chain is on a testnet.
is_enabled:
type: boolean
title: Is Enabled
description: Whether the chain is enabled.
type: object
required:
- chain_type
- unique_id
- name
- native_currency_symbol
- native_currency_name
- logo_url
- is_testnet
- is_enabled
title: EnrichedCantonChain
ArchChain:
properties:
chain_type:
type: string
const: arch
title: Chain Type
description: The type of the chain.
unique_id:
$ref: '#/components/schemas/ArchChainUniqueId'
description: The type of the Arch-based chain.
type: object
required:
- chain_type
- unique_id
title: ArchChain
AmlPolicyMatchOutgoing:
properties:
is_default:
type: boolean
title: Is Default
description: '`True` if this is the default rule, `False` otherwise.'
rule_id:
type: string
format: uuid
title: Rule Id
description: The unique identifier of the rule.
rule_name:
type: string
title: Rule Name
description: The name of the rule.
action_type:
$ref: '#/components/schemas/AmlPolicyMatchOutgoingActionType'
description: 'The action taken in the event of a policy match. Can be: - Allow automatically
- Block
- Require express approval
- Skip
'
type: object
required:
- is_default
- rule_id
- rule_name
- action_type
title: AmlPolicyMatchOutgoing
PushMode:
type: string
enum:
- auto
- manual
- deferred
title: PushMode
EvmHyperLiquidAssetIdentifierRequest:
properties:
type:
type: string
const: hyperliquid
title: Type
description: EVM asset identifier type.
chain:
type: string
minLength: 1
title: EvmChainUniqueId
description: Currently artificially set to Arbitrum.
token_id:
type: string
title: Token Id
description: The token id of the asset on Hyperliquid.
index:
type: integer
title: Index
description: The index of the asset on Hyperliquid.
type: object
required:
- type
- chain
- token_id
- index
title: EvmHyperLiquidAssetIdentifierRequest
EnrichedSuiChain:
properties:
chain_type:
type: string
const: sui
title: Chain Type
description: The type of the chain.
unique_id:
$ref: '#/components/schemas/SuiChainUniqueId'
description: The type of the Sui-based chain.
name:
type: string
minLength: 1
title: Name
description: The full blockchain name.
native_currency_symbol:
type: string
minLength: 1
title: Native Currency Symbol
description: The native currency symbol.
example: ETH
native_currency_name:
type: string
minLength: 1
title: Native Currency Name
description: The native currency name.
example: Ether
blockchain_explorer:
$ref: '#/components/schemas/BlockchainExplorer'
logo_url:
type: string
maxLength: 2083
minLength: 1
format: uri
title: Logo Url
description: The logo URL of the chain.
is_testnet:
type: boolean
title: Is Testnet
description: Whether the chain is on a testnet.
is_enabled:
type: boolean
title: Is Enabled
description: Whether the chain is enabled.
type: object
required:
- chain_type
- unique_id
- name
- native_currency_symbol
- native_currency_name
- logo_url
- is_testnet
- is_enabled
title: EnrichedSuiChain
EnrichedSolanaAddress:
properties:
vault:
description: The vault corresponding to this address.
$ref: '#/components/schemas/VaultRef'
explorer_url:
title: Explorer Url
description: The URL of a blockchain explorer that provides real-time information about the address.
type: string
maxLength: 2083
minLength: 1
format: uri
contact:
description: The contact details of this address.
$ref: '#/components/schemas/ContactRef'
type:
type: string
const: solana
title: Type
address:
type: string
maxLength: 44
minLength: 32
pattern: ^[a-km-zA-HJ-NP-Z1-9]+$
title: Address
description: The Solana address represented in Base58 format.
example: 4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA
contract:
description: The details of the contract corresponding to this address.
$ref: '#/components/schemas/SolanaContractMetadata'
type: object
required:
- type
- address
title: EnrichedSolanaAddress
PredictedUtxoDlcTransaction:
properties:
policy_match:
description: The policy match.
$ref: '#/components/schemas/PolicyMatch'
matched_policies:
items:
$ref: '#/components/schemas/PolicyMatch'
type: array
title: Matched Policies
description: List of policies matched by the transactions in the batch.
approval_request:
description: The approval request.
$ref: '#/components/schemas/ApprovalRequest'
risks:
items:
$ref: '#/components/schemas/TransactionRisk'
type: array
title: Risks
description: The list of risks associated with this transaction.
note:
title: Note
description: An optional transaction note.
type: string
tx_policy_explanation_id:
title: Tx Policy Explanation Id
description: The id of the transaction policy explanation produced for this prediction, if any.
type: string
format: uuid
aml_policy_match:
description: The AML policy match.
$ref: '#/components/schemas/AmlPolicyMatchOutgoing'
aml_results:
description: The AML results.
$ref: '#/components/schemas/AmlResults'
simulation_status_result:
description: Whether simulation succeeded, reverted or failed.
$ref: '#/components/schemas/SimulationStatusResult'
type:
type: string
const: utxo_dlc_transaction
title: Type
description: The type of the batch.
funding_transaction:
$ref: '#/components/schemas/PredictedUtxoTransaction'
description: The funding transaction.
refund_transaction:
$ref: '#/components/schemas/PredictedUtxoTransaction'
description: The refund transaction.
cet_transactions:
items:
$ref: '#/components/schemas/PredictedUtxoTransaction'
type: array
title: Cet Transactions
description: The Contract Execution Transactions.
type: object
required:
- matched_policies
- risks
- type
- funding_transaction
- refund_transaction
- cet_transactions
title: PredictedUtxoDlcTransaction
BaseError:
properties:
title:
type: string
title: Title
description: Human-readable error message.
detail:
type: string
title: Detail
description: Detailed error message.
full_detail:
title: Full Detail
description: Full error message with additional details, if available.
type: string
request_id:
title: Request Id
description: Request ID - for debugging purposes.
type: string
type: object
required:
- title
- detail
title: BaseError
PredictBatchUtxoDlcTransactionRequest:
properties:
should_run_policy_check:
type: boolean
title: Should Run Policy Check
description: Should run a policy check
default: true
vault_id:
type: string
format: uuid
title: Vault Id
description: The unique identifier of the vault.
note:
title: Note
description: An optional transaction note.
type: string
type:
type: string
const: utxo_dlc_transaction
title: Type
description: The type of the transaction.
details:
$ref: '#/components/schemas/BatchDlcTransactionRequestDetails'
description: The DLC transaction details.
type: object
required:
- vault_id
- type
- details
title: PredictBatchUtxoDlcTransactionRequest
ExchangeAssetIdentifier:
properties:
type:
type: string
const: exchange
title: Type
description: Asset identifier type.
exchange_type:
$ref: '#/components/schemas/ExchangeType'
description: exchange type.
asset_symbol:
type: string
title: Asset Symbol
description: The symbol of the asset on the exchange.
chain:
$ref: '#/components/schemas/EnrichedExchangeChain'
type: object
required:
- type
- exchange_type
- asset_symbol
- chain
title: ExchangeAssetIdentifier
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT