Skip to content

Add tvm CAIP-19 asset profile (TON, Everscale, Venom) - #215

Open
okwme wants to merge 1 commit into
ChainAgnostic:mainfrom
okwme:add-tvm-caip19
Open

okwme wants to merge 1 commit into
ChainAgnostic:mainfrom
okwme:add-tvm-caip19

Conversation

@okwme

@okwme okwme commented Sep 14, 2026

Copy link
Copy Markdown

Adds a CAIP-19 asset profile to the existing tvm namespace. The CAIP-2 profile is already ratified and is not touched.

Who wrote this

I do not represent the tvm ecosystem. I maintain FAR, an open cross-reference between CAIP-19, CoinGecko and ISO 24165 (DTI) identifiers, which needs a way to name 215 assets on this chain. CASA's README invites profiles added to an existing namespace, so this documents how assets are addressed rather than claiming to speak for anyone. Offered for the tvm community to correct, adopt or replace.

Asset namespaces

slip44, tep74, tep62, extracur, tip3, tip4

What this profile establishes

Canonical form is the raw address (0%3A<64 hex>), not the user-friendly base64 form — because the user-friendly form is not unique. Its tag byte encodes bounceability and a testnet flag that are not part of the account, so one account has 4 tag variants × 2 base64 alphabets = 8 valid strings. I implemented TEP-2 encode/decode and confirmed byte-identical results against toncenter's detectAddress.

A silent-failure case worth reading. The standard-base64 spelling of a jetton master produces a structurally valid but wrong CAIP-19: tvm:-239/tep74:EQCxE6…Nw2Id/sDs satisfies every production in the grammar — the reference is a truncated address and sDs parses as a token_id. It does not fail validation; it names something else.

Indexers disagree on the TEP-62 index. For one live collection the contract returns a 72-digit index while tonapi reports a negative int64 — confirmed arithmetically as the low 64 bits read as signed.

Every example was verified against a live node or explorer; anything that could not be verified is marked as such in the document rather than asserted. discussions-to points at 0xcounting/FAR#1.

Adds an asset specification to the existing tvm namespace, covering 215
assets that a cross-reference project needs to name. The CAIP-2 profile is
unchanged.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant