Skip to content
Last updated

CAIP standards

Overview

Vilna API implements Chain Agnostic Improvement Proposals (CAIP) for consistent cross-chain identification. These standards provide a universal way to identify blockchains, accounts, and assets across different blockchain ecosystems. To see how CAIP identifiers are used in practice across API requests and responses, see Core Concepts.

CAIP-2: Blockchain identification

Provides a way to identify any blockchain in a human-readable, developer-friendly format.

Format

<namespace>:<reference>

Components

  • namespace: Identifies the blockchain namespace (e.g., eip155 for EVM chains, bip122 for Bitcoin)
  • reference: Chain-specific identifier (chain ID for EVM, genesis block hash for Bitcoin)

Examples

EVM chains

  • eip155:1 - Ethereum Mainnet
  • eip155:56 - BNB Smart Chain (BSC)
  • eip155:137 - Polygon
  • eip155:43114 - Avalanche C-Chain
  • eip155:42161 - Arbitrum One
  • eip155:10 - Optimism

Non-EVM chains

  • bip122:000000000019d6689c085ae165831e93 - Bitcoin Mainnet
  • bip122:00000000001a91e3dace36e2be3bf030 - Dogecoin
  • cosmos:cosmoshub-4 - Cosmos Hub
  • solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp - Solana Mainnet

CAIP-10: Account identification

Identifies blockchain accounts across different chains with a unified format.

Format

<blockchain_gid>:<account_address>

Components

  • blockchain_gid: CAIP-2 blockchain identifier
  • account_address: Chain-specific address format

Examples

Ethereum accounts

eip155:1:0x742d35Cc6634C0532925a3b844Bc9e7595f7B123

Bitcoin accounts

bip122:000000000019d6689c085ae165831e93:1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa

Solana accounts

solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp:9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM

CAIP-19: Asset identification

Provides a universal way to identify any digital asset on any blockchain.

Format

<blockchain_gid>/<asset_namespace>:<asset_reference>

Components

  • blockchain_gid: CAIP-2 blockchain identifier
  • asset_namespace: Type of asset (slip44 for native, erc20/erc721 for tokens)
  • asset_reference: Asset-specific identifier

Asset types

Native currencies

Use slip44 namespace with the coin type from SLIP-44 registry:

<blockchain_gid>/slip44:<coin_type>

Examples:

  • eip155:1/slip44:60 - ETH on Ethereum
  • eip155:56/slip44:60 - BNB on BSC
  • eip155:137/slip44:60 - MATIC on Polygon
  • bip122:000000000019d6689c085ae165831e93/slip44:0 - BTC on Bitcoin

ERC-20 tokens

Use erc20 namespace with the contract address:

<blockchain_gid>/erc20:<contract_address>

Examples:

  • eip155:1/erc20:0xdAC17F958D2ee523a2206206994597C13D831ec7 - USDT on Ethereum
  • eip155:1/erc20:0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 - USDC on Ethereum
  • eip155:56/erc20:0x55d398326f99059fF775485246999027B3197955 - USDT on BSC

NFTs (ERC-721)

Use erc721 namespace with the contract address and token ID:

<blockchain_gid>/erc721:<contract_address>/<token_id>

Example:

  • eip155:1/erc721:0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D/101 - BAYC #101

References

Further reading