Fordefi Assets API

These endpoints allow you to get information about the assets in your organization, including metadata, balances, and prices. Fordefi supports native assets and fungible tokens on each of the supported blockchains, and on many chains also non-fungible tokens. Assets are chain-specific, meaning that USDC on Ethereum is different from USDC on Polygon.

Operations 5

GET /api/v1/assets/owned-assets/{id} Get Owned Asset #
GET /api/v1/assets/owned-assets List Owned Assets #
PUT /api/v1/assets Update Asset Configuration #
POST /api/v1/assets/prices Fetch Asset Prices #
POST /api/v1/assets/asset-infos Create Asset Info #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/fordefi-assets-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

fordefi-assets-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Fordefi Address Book Assets 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: Assets
  description: "These endpoints allow you to get information about the assets in your organization,\n        including metadata, balances, and prices.\n        <br><br>\n        Fordefi supports native assets and fungible tokens on each of the supported blockchains,\n        and on many chains also non-fungible tokens.\n        <br><br>\n        Assets are chain-specific, meaning that USDC on Ethereum is different from USDC on Polygon.\n        "
paths:
  /api/v1/assets/owned-assets/{id}:
    get:
      tags:
      - Assets
      summary: Get Owned Asset
      description: Get a a specific asset owned by an organization.
      operationId: get_owned_asset_api_v1_assets_owned_assets__id__get
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: ID of the asset to retrieve.
          title: Id
        description: ID of the asset to retrieve.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOwnedAssetResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreconditionFailedError'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '500':
          description: Unexpected Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '401':
          description: Unauthorized User
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '403':
          description: Forbidden User
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '408':
          description: Request Timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '429':
          description: Rate Limit Exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceError'
  /api/v1/assets/owned-assets:
    get:
      tags:
      - Assets
      summary: List Owned Assets
      description: Get a list of all assets owned by an organization.
      operationId: list_owned_assets_api_v1_assets_owned_assets_get
      parameters:
      - name: chains
        in: query
        required: false
        schema:
          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
      - name: asset_ids
        in: query
        required: false
        schema:
          title: Asset Ids
          type: array
          items:
            type: string
            format: uuid
      - name: is_hidden
        in: query
        required: false
        schema:
          title: Is Hidden
          type: boolean
      - name: search
        in: query
        required: false
        schema:
          title: Search
          type: string
      - name: vault_ids
        in: query
        required: false
        schema:
          title: Vault Ids
          type: array
          items:
            type: string
            format: uuid
      - name: end_user_ids
        in: query
        required: false
        schema:
          title: End User Ids
          type: array
          items:
            type: string
            format: uuid
      - name: only_native
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Only Native
      - name: is_nft
        in: query
        required: false
        schema:
          title: Is Nft
          type: boolean
      - name: is_negative
        in: query
        required: false
        schema:
          title: Is Negative
          type: boolean
      - name: sort_by
        in: query
        required: false
        schema:
          title: Sort By
          type: array
          items:
            $ref: '#/components/schemas/OwnedAssetsSortableFields'
      - name: page
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          description: The page number to fetch.
          default: 1
          title: Page
        description: The page number to fetch.
      - name: size
        in: query
        required: false
        schema:
          type: integer
          maximum: 100
          minimum: 0
          description: The number of items per page.
          default: 50
          title: Size
        description: The number of items per page.
      - name: skip_count
        in: query
        required: false
        schema:
          type: boolean
          description: Whether to skip counting the total number of items.
          default: false
          title: Skip Count
        description: Whether to skip counting the total number of items.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOwnedAssetsResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreconditionFailedError'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '500':
          description: Unexpected Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '401':
          description: Unauthorized User
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '403':
          description: Forbidden User
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '408':
          description: Request Timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '429':
          description: Rate Limit Exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitError'
  /api/v1/assets:
    put:
      tags:
      - Assets
      summary: Update Asset Configuration
      description: Update the asset's configuration under the entire organization.
      operationId: update_asset_configuration_api_v1_assets_put
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAssetConfiguration'
        required: true
      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/assets/prices:
    post:
      tags:
      - Assets
      summary: Fetch Asset Prices
      description: Fetch the prices of assets.
      operationId: fetch_asset_prices_api_v1_assets_prices_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FetchAssetPricesRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FetchAssetPricesResponse'
        '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/assets/asset-infos:
    post:
      tags:
      - Assets
      summary: Create Asset Info
      description: Create asset infos in the Fordefi platform.
      operationId: create_asset_info_api_v1_assets_asset_infos_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAssetInfoRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateAssetInfoResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreconditionFailedError'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '500':
          description: Unexpected Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '401':
          description: Unauthorized User
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '403':
          description: Forbidden User
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '408':
          description: Request Timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseError'
        '429':
          description: Rate Limit Exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceError'
components:
  schemas:
    CantonChainUniqueId:
      type: string
      enum:
      - canton_mainnet
      title: CantonChainUniqueId
    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
    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
    FiatCurrencySymbol:
      type: string
      enum:
      - usd
      title: FiatCurrencySymbol
      description: FiatCurrencySymbol
    CreateAssetInfoRequest:
      properties:
        asset_identifier:
          $ref: '#/components/schemas/AssetIdentifierRequest'
          description: The asset identifier to enrich.
      type: object
      required:
      - asset_identifier
      title: CreateAssetInfoRequest
    RateLimitError:
      properties: {}
      type: object
      title: RateLimitError
    StacksAssetIdentifierRequest:
      properties:
        type:
          type: string
          const: stacks
          title: Type
          description: Stacks asset identifier type.
        details:
          oneOf:
          - $ref: '#/components/schemas/StacksNativeAssetIdentifierRequest'
          - $ref: '#/components/schemas/StacksSip10AssetIdentifierRequest'
          discriminator:
            propertyName: type
            mapping:
              native: '#/components/schemas/StacksNativeAssetIdentifierRequest'
              sip10: '#/components/schemas/StacksSip10AssetIdentifierRequest'
      type: object
      required:
      - type
      - details
      title: StacksAssetIdentifierRequest
    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
    PreconditionFailedError:
      properties:
        title:
          type: string
          title: Title
          description: Human-readable error message.
        detail:
          type: string
          title: Detail
          description: Detailed error message.
        full_detail:
          title: Full Detail
          description: Full error message with additional details, if available.
          type: string
        request_id:
          title: Request Id
          description: Request ID - for debugging purposes.
          type: string
        system_error_code:
          title: System Error Code
          description: An additional system error code in Fordefi.
          type: string
      type: object
      required:
      - title
      - detail
      title: PreconditionFailedError
    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
    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.
    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
    SuiChainUniqueId:
      type: string
      enum:
      - sui_mainnet
      - sui_testnet
      title: SuiChainUniqueId
    TronChainUniqueId:
      type: string
      enum:
      - tron_mainnet
      - tron_shasta
      title: TronChainUniqueId
    ListOwnedAssetsResponse:
      properties:
        total:
          type: integer
          title: Total
        page:
          type: integer
          title: Page
        size:
          type: integer
          title: Size
        owned_assets:
          items:
            $ref: '#/components/schemas/OwnedAsset'
          type: array
          title: Owned Assets
      type: object
      required:
      - total
      - page
      - size
      - owned_assets
      title: ListOwnedAssetsResponse
    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
    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
    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
    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
    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.
    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
    UtxoAssetIdentifierRequest:
      properties:
        type:
          type: string
          const: utxo
          title: Type
          description: Utxo asset identifier type.
        details:
          $ref: '#/components/schemas/UtxoNativeAssetIdentifierRequest'
      type: object
      required:
      - type
      - details
      title: UtxoAssetIdentifierRequest
    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
    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.
    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.
    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
    EvmAssetIdentifierRequest:
      properties:
        type:
          type: string
          const: evm
          title: Type
          description: Asset identifier type.
        details:
          oneOf:
          - $ref: '#/components/schemas/EvmNativeAssetIdentifierRequest'
          - $ref: '#/components/schemas/EvmErc20AssetIdentifierRequest'
          - $ref: '#/components/schemas/EvmErc721AssetIdentifierRequest'
          - $ref: '#/components/schemas/EvmErc1155AssetIdentifierRequest'
          - $ref: '#/components/schemas/EvmHyperLiquidAssetIdentifierRequest'
          discriminator:
            propertyName: type
            mapping:
              erc1155: '#/components/schemas/EvmE

# --- truncated at 32 KB (111 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fordefi/refs/heads/main/openapi/fordefi-assets-api-openapi.yml