Asset, addresses and custom value

Guide on asset identification, address formats, and handling custom fiat values using CAIP standards.

Asset Identification

Assets and addresses use CAIP standards for chain-agnostic identification:

Assets

The asset field supports

  • Crypto Symbol and Chain separated by a hyphen, examples: BTC-BTC, ETH-ETH, BUSD-ETH, BUSD-SOL (2-10 uppercase alphanumeric)
  • The CAIP-19 format: {CAIP-2 chain_id}/{asset_namespace}:{asset_reference}, examples:
// Bitcoin
"asset": "bip122:000000000019d6689c085ae165831e93/slip44:0" or,
"asset": BTC-BTC

// USDC on Ethereum
"asset": "eip155:1/erc20:0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" or,
"asset": USDC-ETH

// Binance USD on Solana
"asset": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:5RpUwQ8wtdPCZHhu6MERp2RGrpobsbZ6MH5dDHkUjs2" or,
"asset": BUSD-SOL

// Binance USD on Ethereum
"asset": "eip155:1/erc20:0x4Fabb145d64652a948d72533023f6E7A623C7C53" or,
"asset": BUSD-ETH

All supported Assets are available here: https://api.notabene.id/v1/assets/assets.

Getting a single asset via its crypto symbol: https://api.notabene.id/v1/assets/asset?notabeneAsset=ETH.


Addresses (CAIP-10)

Account addresses in the agents array are allowed in plain or should follow the CAIP-10 format: {CAIP-2 chain_id}:{account_address}, both wrapped in a DID Public Key Hash (PKH) method:

// Bitcoin address
"@id": "did:pkh:bip122:000000000019d6689c085ae165831e93:bc1qn9y...rld0f" or,
"@id":"did:pkh:bc1qn9y...rld0f"

// Ethereum address
"@id": "did:pkh:eip155:1:0x1234567890abcdef1234567890abcdef12345678" or,
"@id":"did:pkh:0x1234567890abcdef1234567890abcdef12345678"

Related Resources


Assets and their custom fiat value

You can provide fiat values for assets by adding a transactionValue array in the payload:

"transactionValue": {
    "amount": "6.123",
    "currency": "USD"
}

This allows handling of any asset, even those not listed yet. Ensure to provide the fiat currency as per your jurisdiction.


Did this page help you?