Tenzro
Interop

CAIP discovery.

Wallets, exchanges, and walletconnect-class session managers discover chains through the chain-agnostic namespace registry. Tenzro exposes the canonical identifiers directly so callers never need to hard-code them. The namespace spec lives at ChainAgnostic/namespaces#184.
STATUS
Testnet
NAMESPACE
tenzro
REGISTRY PR
ChainAgnostic/namespaces#184
TYPE
Component
01

Chain identifier (CAIP-2)

The CAIP-2 reference is the lowercase hex of the first 16 bytes of the genesis block hash — not the integer chain id. EVM tooling still needs the integer chain id for eth_chainId + EIP-155 signing, so the response surfaces both.

tenzro_caip2  ->  {
  "caip2": "tenzro:92bd27db9713293097f0e63476e3911e",
  "namespace": "tenzro",
  "reference": "92bd27db9713293097f0e63476e3911e",
  "evm_chain_id": 1337,
  "spec": "https://github.com/ChainAgnostic/namespaces/blob/main/tenzro/caip2.md"
}
02

Account identifier (CAIP-10)

Tenzro addresses are 32 bytes shared across the EVM, SVM, and Canton/DAML façades (one address per account, same balance through all three). Hex (0x + 64 chars) is canonical; base58btc is also accepted on input and normalized to lowercase hex on output.

tenzro_caip10 { "address": "0x..." }  ->  {
  "caip10": "tenzro:92bd27db9713293097f0e63476e3911e:0x...",
  "caip2": "tenzro:92bd27db9713293097f0e63476e3911e",
  "address": "0x...",
  "input_form": "hex",      // or "base58btc"
  "evm_chain_id": 1337
}
03

Asset type (CAIP-19)

The asset_namespace is one of slip44 (native TNZO), token (fungible token registered in Tenzro's unified token registry), or nft (collection + token id). The same identifier resolves to the same balance across all three VM façades.

# Native TNZO (registered SLIP-44 index 1414421071)
tenzro_caip19 { "asset_namespace": "slip44" }
  -> "tenzro:92bd27db9713293097f0e63476e3911e/slip44:1414421071"

# Pre-registration form (accepted on input until satoshilabs/slips#2015 merges)
tenzro_caip19 { "asset_namespace": "slip44", "asset_reference": "tenzro" }
  -> "tenzro:.../slip44:tenzro"

# Fungible token (32-byte token id from the unified registry)
tenzro_caip19 { "asset_namespace": "token", "asset_reference": "<64-hex>" }
  -> "tenzro:.../token:<64-hex>"

# NFT (collection_id [+ token_id])
tenzro_caip19 {
  "asset_namespace": "nft",
  "asset_reference": "<64-hex collection_id>",
  "token_id": "42"   // or "<64-hex>" for mintRandom-derived ids
}
  -> "tenzro:.../nft:<64-hex>/42"
04

Provider authorization (CAIP-25)

Tenzro CAIP-25 sessions are always network-specific (tenzro:<reference>, never the bare namespace) and may carry eth_* / tenzro_* / a constrained solana_sign* subset under one scope. The injected provider window.tenzro (EIP-6963 rdns network.tenzro.wallet) routes by method-name prefix. scopedProperties keys include vmFacades, dpopBound,nativeAssetCaip19, and evmChainId.

05

Local docs

The CAIP namespace files for Tenzro (CAIP-2, CAIP-10, CAIP-19, CAIP-25) live in docs/caip2-namespace/tenzro/ and are filed upstream as ChainAgnostic/namespaces#184.

Related
← All docs