Protocol

Live on Testnet

ID20

ID20 tokens are ERC20 wrappers around a single Ledger ERC1155 tranche id. They enable DEX and LP composability while preserving 1:1 backing semantics.

veNFT → tranche → ID20
veBTC / veMEZO
deposit
Ledger ERC1155
wrap
avBTCm / avMEZOm
activate
Id20Gauge

Purpose

  • Fungible ERC20 interface for tranche ownership
  • Attach Id20Gauge reward streaming
  • Integrate with CL pools (avBTCm, avMEZOm)

Wrapping

ERC1155 safeTransferFrom into the ID20 contract mints ERC20 to the recipient (optional 32-byte recipient data). Emits WrappedFromReceived.

Unwrapping

Solidity
function unwrap(uint256 amount, address to) external returns (uint256 burned);

Burns ERC20 and transfers underlying ERC1155 to to. Emits Unwrapped.

Backing model

  • Invariant: totalSupply() ≤ backingBalance()
  • surplusBacking() — excess ERC1155 held beyond totalSupply
  • isFullyBacked() — view helper
  • Reverts with Underbacked if the invariant would break

Live testnet tokens

  • avBTCmId20 — 0x185E70EbFB606Ea8F3365A2952AD3aA677210366
  • avMEZOmId20 — 0x99DBba550D4bFD8c83fFaE9711b243B5ef6Ef082
id20erc20wrapunwrapbacking