Fordefi Address Book API
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.
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.
openapi: 3.1.0
info:
title: Fordefi Address Book API
version: 0.2.0
description: These endpoints allow you to list the contacts in your address book.<br><br>To add/remove contacts, visit the Fordefi web console. See the <a href='https://docs.fordefi.com/user-guide/address-book'>user guide</a> for more info.
servers:
- url: https://api.fordefi.com/
description: Production
security:
- bearerAuth: []
tags:
- name: Address Book
description: These endpoints allow you to list the contacts in your address book.<br><br>To add/remove contacts, visit the Fordefi web console. See the <a href='https://docs.fordefi.com/user-guide/address-book'>user guide</a> for more info.
paths:
/api/v1/addressbook/contacts:
post:
tags:
- Address Book
summary: Create Contact
description: Create a new address book contact in an organization.
operationId: create_contact_api_v1_addressbook_contacts_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.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateContactRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/AddressBookContact'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/PreconditionFailedError'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationError'
'500':
description: Unexpected Error
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'401':
description: Unauthorized User
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'403':
description: Forbidden User
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'408':
description: Request Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'429':
description: Rate Limit Exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/RateLimitError'
get:
tags:
- Address Book
summary: List Contacts
description: Get a list of all contacts in an organization.
operationId: list_contacts_api_v1_addressbook_contacts_get
parameters:
- name: sort_by
in: query
required: false
schema:
type: array
items:
$ref: '#/components/schemas/ContactSortableFields'
title: Sort By
- name: page
in: query
required: false
schema:
type: integer
minimum: 1
description: The page number to fetch.
default: 1
title: Page
description: The page number to fetch.
- name: size
in: query
required: false
schema:
type: integer
maximum: 100
minimum: 0
description: The number of items per page.
default: 50
title: Size
description: The number of items per page.
- name: skip_count
in: query
required: false
schema:
type: boolean
description: Whether to skip counting the total number of items.
default: false
title: Skip Count
description: Whether to skip counting the total number of items.
- name: contact_ids
in: query
required: false
schema:
description: The contact IDs to filter by.
title: Contact Ids
type: array
items:
type: string
format: uuid
description: The contact IDs to filter by.
- name: names
in: query
required: false
schema:
description: The names to filter by.
title: Names
type: array
items:
type: string
description: The names to filter by.
- name: states
in: query
required: false
schema:
description: The states to filter by.
title: States
type: array
items:
$ref: '#/components/schemas/AddressBookContactState'
description: The states to filter by.
- name: chain_types
in: query
required: false
schema:
description: The chain types to filter by.
title: Chain Types
type: array
items:
$ref: '#/components/schemas/ChainType'
description: The chain types to filter by.
- name: chains
in: query
required: false
schema:
description: The chain unique ids to filter by.
title: Chains
type: array
items:
type: string
minLength: 1
description: The unique chain ID. </br>Can be either one of those supported by the default chains below or a custom numeric EVM chain ID `evm_<chain_id>` if one was added to your organization. <ul><li>`"aptos_mainnet"`</li><li>`"aptos_testnet"`</li><li>`"aptos_movement_mainnet"`</li><li>`"aptos_movement_testnet"`</li><li>`"arch_mainnet"`</li><li>`"arch_testnet"`</li><li>`"canton_mainnet"`</li><li>`"cosmos_agoric-3"`</li><li>`"cosmos_akashnet-2"`</li><li>`"cosmos_archway-1"`</li><li>`"cosmos_axelar-dojo-1"`</li><li>`"cosmos_bbn-1"`</li><li>`"cosmos_celestia"`</li><li>`"cosmos_cosmoshub-4"`</li><li>`"cosmos_dydx-mainnet-1"`</li><li>`"cosmos_dydx-testnet-4"`</li><li>`"cosmos_dymension_1100-1"`</li><li>`"cosmos_injective-1"`</li><li>`"cosmos_neutron-1"`</li><li>`"cosmos_nillion-1"`</li><li>`"cosmos_noble-1"`</li><li>`"cosmos_osmosis-1"`</li><li>`"cosmos_provider"`</li><li>`"cosmos_ssc-1"`</li><li>`"cosmos_pacific-1"`</li><li>`"cosmos_stride-1"`</li><li>`"cosmos_thorchain-1"`</li><li>`"cosmos_mantra-1"`</li><li>`"exchange_binance"`</li><li>`"exchange_bybit"`</li><li>`"exchange_coinbase_international"`</li><li>`"exchange_coinbase_us"`</li><li>`"exchange_okx"`</li><li>`"exchange_kraken"`</li><li>`"ripple_mainnet"`</li><li>`"solana_mainnet"`</li><li>`"solana_devnet"`</li><li>`"solana_eclipse_mainnet"`</li><li>`"solana_fogo_mainnet"`</li><li>`"solana_fogo_testnet"`</li><li>`"stacks_mainnet"`</li><li>`"starknet_mainnet"`</li><li>`"stellar_mainnet"`</li><li>`"sui_mainnet"`</li><li>`"sui_testnet"`</li><li>`"ton_mainnet"`</li><li>`"tron_mainnet"`</li><li>`"tron_shasta"`</li><li>`"bitcoin_mainnet"`</li><li>`"bitcoin_testnet"`</li><li>`"bitcoin_testnet_v4"`</li><li>`"dogecoin_mainnet"`</li><li>`"bitcoin_cash_mainnet"`</li><li>`"pearl_testnet"`</li><li>`"pearl_mainnet"`</li><li>`"evm_1"`</li><li>`"evm_5"`</li><li>`"evm_10"`</li><li>`"evm_14"`</li><li>`"evm_16"`</li><li>`"evm_30"`</li><li>`"evm_56"`</li><li>`"evm_100"`</li><li>`"evm_130"`</li><li>`"evm_137"`</li><li>`"evm_143"`</li><li>`"evm_146"`</li><li>`"evm_169"`</li><li>`"evm_196"`</li><li>`"evm_250"`</li><li>`"evm_324"`</li><li>`"evm_999"`</li><li>`"evm_1030"`</li><li>`"evm_1100"`</li><li>`"evm_1101"`</li><li>`"evm_1329"`</li><li>`"evm_1337"`</li><li>`"evm_1666"`</li><li>`"evm_1672"`</li><li>`"evm_1729"`</li><li>`"evm_2222"`</li><li>`"evm_4200"`</li><li>`"evm_4217"`</li><li>`"evm_4663"`</li><li>`"evm_5000"`</li><li>`"evm_7000"`</li><li>`"evm_7700"`</li><li>`"evm_8453"`</li><li>`"evm_8818"`</li><li>`"evm_8819"`</li><li>`"evm_9745"`</li><li>`"evm_16661"`</li><li>`"evm_17000"`</li><li>`"evm_80001"`</li><li>`"evm_80094"`</li><li>`"evm_42161"`</li><li>`"evm_43113"`</li><li>`"evm_43114"`</li><li>`"evm_57073"`</li><li>`"evm_59144"`</li><li>`"evm_81457"`</li><li>`"evm_421614"`</li><li>`"evm_534352"`</li><li>`"evm_660279"`</li><li>`"evm_747474"`</li><li>`"evm_810180"`</li><li>`"evm_11155111"`</li><li>`"evm_ethereum_mainnet"`</li><li>`"evm_ethereum_goerli"`</li><li>`"evm_optimism_mainnet"`</li><li>`"evm_flare_mainnet"`</li><li>`"evm_flare_testnet"`</li><li>`"evm_rootstock_mainnet"`</li><li>`"evm_bsc_mainnet"`</li><li>`"evm_gnosis_mainnet"`</li><li>`"evm_unichain_mainnet"`</li><li>`"evm_polygon_mainnet"`</li><li>`"evm_monad_mainnet"`</li><li>`"evm_sonic_mainnet"`</li><li>`"evm_manta_pacific_mainnet"`</li><li>`"evm_x_layer_mainnet"`</li><li>`"evm_fantom_mainnet"`</li><li>`"evm_zksync_era_mainnet"`</li><li>`"evm_hyperevm_mainnet"`</li><li>`"evm_conflux_mainnet"`</li><li>`"evm_dymension_mainnet"`</li><li>`"evm_polygon_zkevm_mainnet"`</li><li>`"evm_sei_mainnet"`</li><li>`"evm_hypercore_mainnet"`</li><li>`"evm_aster_mainnet"`</li><li>`"evm_pharos_mainnet"`</li><li>`"evm_reya_mainnet"`</li><li>`"evm_kava_mainnet"`</li><li>`"evm_merlin_mainnet"`</li><li>`"evm_tempo_mainnet"`</li><li>`"evm_robinhood_mainnet"`</li><li>`"evm_mantle_mainnet"`</li><li>`"evm_zeta_mainnet"`</li><li>`"evm_canto_mainnet"`</li><li>`"evm_base_mainnet"`</li><li>`"evm_clink_mainnet"`</li><li>`"evm_clink_testnet"`</li><li>`"evm_plasma_mainnet"`</li><li>`"evm_zero_gravity_mainnet"`</li><li>`"evm_ethereum_holesky"`</li><li>`"evm_polygon_mumbai"`</li><li>`"evm_berachain_mainnet"`</li><li>`"evm_arbitrum_mainnet"`</li><li>`"evm_avalanche_fuji"`</li><li>`"evm_avalanche_chain"`</li><li>`"evm_ink_mainnet"`</li><li>`"evm_linea_mainnet"`</li><li>`"evm_blast_mainnet"`</li><li>`"evm_arbitrum_sepolia"`</li><li>`"evm_scroll_mainnet"`</li><li>`"evm_xai_mainnet"`</li><li>`"evm_katana_mainnet"`</li><li>`"evm_zklink_nova_mainnet"`</li><li>`"evm_ethereum_sepolia"`</li></ul>
title: ChainUniqueId
description: The chain unique ids to filter by.
- name: asset_ids
in: query
required: false
schema:
description: List of asset identifiers to filter on.
title: Asset Ids
type: array
items:
type: string
format: uuid
description: List of asset identifiers to filter on.
- name: address_group_ids
in: query
required: false
schema:
description: The address group IDs to filter by.
title: Address Group Ids
type: array
items:
type: string
format: uuid
description: The address group IDs to filter by.
- name: exclude_address_group_ids
in: query
required: false
schema:
description: List of address group IDs to exclude.
title: Exclude Address Group Ids
type: array
items:
type: string
format: uuid
description: List of address group IDs to exclude.
- name: exclude_contact_ids
in: query
required: false
schema:
description: List of contact IDs to exclude.
title: Exclude Contact Ids
type: array
items:
type: string
format: uuid
description: List of contact IDs to exclude.
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ListAddressBookContactResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/PreconditionFailedError'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationError'
'500':
description: Unexpected Error
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'401':
description: Unauthorized User
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'403':
description: Forbidden User
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'408':
description: Request Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'429':
description: Rate Limit Exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/RateLimitError'
/api/v1/addressbook/contacts/batch:
post:
tags:
- Address Book
summary: Create Batch Contacts
description: Create multiple new address book contacts in an organization.
operationId: create_batch_contacts_api_v1_addressbook_contacts_batch_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.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateBatchContactsRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/CreateBatchContactsResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/PreconditionFailedError'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationError'
'500':
description: Unexpected Error
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'401':
description: Unauthorized User
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'403':
description: Forbidden User
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'408':
description: Request Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'429':
description: Rate Limit Exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/RateLimitError'
/api/v1/addressbook/contacts/proposals/{proposal_id}/abort:
post:
tags:
- Address Book
summary: Abort Contact Change Proposal
description: Abort a contact change proposal.
operationId: abort_contact_change_proposal_api_v1_addressbook_contacts_proposals__proposal_id__abort_post
parameters:
- name: proposal_id
in: path
required: true
schema:
type: string
format: uuid
description: ID of the address book contact proposal to abort.
title: Proposal Id
description: ID of the address book contact proposal to abort.
responses:
'204':
description: Successful Response
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/PreconditionFailedError'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationError'
'500':
description: Unexpected Error
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'401':
description: Unauthorized User
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'403':
description: Forbidden User
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'408':
description: Request Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'429':
description: Rate Limit Exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/RateLimitError'
/api/v1/addressbook/contacts/{id}/proposals:
post:
tags:
- Address Book
summary: Edit Contact
description: Edit address book contact.
operationId: edit_contact_api_v1_addressbook_contacts__id__proposals_post
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: ID of the address book contact.
title: Id
description: ID of the address book contact.
- name: x-signature
in: header
required: false
schema:
description: Signature of the body. Base64 encoded string. If the request is made programatically by an API user, signing of the request is required and is intended to protect you from malicious backends. `x_signature` is valid for 120 seconds.
title: X-Signature
type: string
example: SGVsbG8=
description: Signature of the body. Base64 encoded string. If the request is made programatically by an API user, signing of the request is required and is intended to protect you from malicious backends. `x_signature` is valid for 120 seconds.
- name: x-timestamp
in: header
required: false
schema:
description: Timestamp of the signature. Integer. Specify an Epoch date. If the request is made programatically by an API user, the timestamp of the request is required and is intended to protect you from replay attacks.
title: X-Timestamp
type: integer
description: Timestamp of the signature. Integer. Specify an Epoch date. If the request is made programatically by an API user, the timestamp of the request is required and is intended to protect you from replay attacks.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/EditContactRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/PreconditionFailedError'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationError'
'500':
description: Unexpected Error
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'401':
description: Unauthorized User
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'403':
description: Forbidden User
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'408':
description: Request Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/BaseError'
'429':
description: Rate Limit Exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/RateLimitError'
components:
schemas:
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
ListAddressBookContactResponse:
properties:
total:
type: integer
title: Total
page:
type: integer
title: Page
size:
type: integer
title: Size
contacts:
items:
$ref: '#/components/schemas/AddressBookContact'
type: array
title: Contacts
type: object
required:
- total
- page
- size
- contacts
title: ListAddressBookContactResponse
SolanaAddressBookContact:
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.
name:
type: string
title: Name
description: The name of the contact.
modified_by:
$ref: '#/components/schemas/UserRef'
description: Address last modifier.
state:
$ref: '#/components/schemas/AddressBookContactState'
description: The state of the contact.
groups:
items:
$ref: '#/components/schemas/GroupRef'
type: array
title: Groups
description: List of contact's groups.
pending_changes:
description: Pending changes for the contact.
$ref: '#/components/schemas/AddressBookContactChanges'
asset_infos:
items:
$ref: '#/components/schemas/AssetInfo'
type: array
title: Asset Infos
description: A list of asset infos for the contact. Can be used to enforce trading of specific assets intransfers to this address
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/EnrichedSolanaChain'
type: array
title: Chains
description: The chains the contact belongs to. If empty, the contact is associated with all chains.
type: object
required:
- id
- created_at
- modified_at
- name
- modified_by
- state
- groups
- asset_infos
- chain_type
- address
- chains
title: SolanaAddressBookContact
description: Represents a contact in the Fordefi platform
CreateBatchContactsRequest:
properties:
contacts:
items:
$ref: '#/components/schemas/CreateContactRequest'
type: array
maxItems: 1000
minItems: 1
title: Contacts
description: The contacts to create.
type: object
required:
- contacts
title: CreateBatchContactsRequest
TronChainUniqueId:
type: string
enum:
- tron_mainnet
- tron_shasta
title: TronChainUniqueId
AptosAssetIdentifierRequest:
properties:
type:
type: string
const: aptos
title: Type
description: Aptos asset identifier type.
details:
oneOf:
- $ref: '#/components/schemas/AptosNativeAssetIdentifierRequest'
- $ref: '#/components/schemas/AptosCoinAssetIdentifierRequest'
- $ref: '#/components/schemas/AptosNewCoinAssetIdentifierRequest'
discriminator:
propertyName: type
mapping:
coin: '#/components/schemas/AptosCoinAssetIdentifierRequest'
native: '#/components/schemas/AptosNativeAssetIdentifierRequest'
new_coin: '#/components/schemas/AptosNewCoinAssetIdentifierRequest'
type: object
required:
- type
- details
title: AptosAssetIdentifierRequest
StarknetChainUniqueId:
type: string
enum:
- starknet_mainnet
title: StarknetChainUniqueId
TonNativeAssetIdentifierRequest:
properties:
type:
type: string
const: native
title: Type
description: TON asset identifier type.
chain:
$ref: '#/components/schemas/TonChainUniqueId'
description: The details of the chain of the native asset.
type: object
required:
- type
- chain
title: TonNativeAssetIdentifierRequest
CreateContactRequest:
oneOf:
- $ref: '#/components/schemas/CreateAptosContactRequest'
- $ref: '#/components/schemas/CreateArchContactRequest'
- $ref: '#/components/schemas/CreateCantonContactRequest'
- $ref: '#/components/schemas/CreateCosmosContactRequest'
- $ref: '#/components/schemas/CreateEVMContactRequest'
- $ref: '#/components/schemas/CreateSolanaContactRequest'
- $ref: '#/components/schemas/CreateStacksContactRequest'
- $ref: '#/components/schemas/CreateStarknetContactRequest'
- $ref: '#/components/schemas/CreateStellarContactRequest'
- $ref: '#/components/schemas/CreateSuiContactRequest'
- $ref: '#/components/schemas/CreateTonContactRequest'
- $ref: '#/components/schemas/CreateTronContactRequest'
- $ref: '#/components/schemas/CreateUtxoContactRequest'
discriminator:
propertyName: type
mapping:
aptos: '#/components/schemas/CreateAptosContactRequest'
arch: '#/components/schemas/CreateArchContactRequest'
canton: '#/components/schemas/CreateCantonContactRequest'
cosmos: '#/components/schemas/CreateCosmosContactRequest'
evm: '#/components/schemas/CreateEVMContactRequest'
solana: '#/components/schemas/CreateSolanaContactRequest'
stacks: '#/components/schemas/CreateStacksContactRequest'
starknet: '#/components/schemas/CreateStarknetContactRequest'
stellar: '#/components/schemas/CreateStellarContactRequest'
sui: '#/components/schemas/CreateSuiContactRequest'
ton: '#/components/schemas/CreateTonContactRequest'
tron: '#/components/schemas/CreateTronContactRequest'
utxo: '#/components/schemas/CreateUtxoContactRequest'
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
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
CreateEVMContactRequest:
properties:
name:
# --- truncated at 32 KB (186 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fordefi/refs/heads/main/openapi/fordefi-address-book-api-openapi.yml