Skip to main content
Shield Swap calls tokens through the dynamic IARC20 interface. A field token ID identifies the program used for each call.

Required transfer paths

An asset used by the AMM must support the transfer paths exercised by its workflows:
  • Private to public for mint, increase, and swap funding
  • Public to private for collect, swap output, and refunds
  • Public transfer for protocol fee collection
Compatibility also depends on record shape, authorization rules, balance accounting, and future execution semantics.

Included programs

Development fixtures include:
  • Self-contained ARC-20 example
  • Test token A through D
  • Wrapped native credits
  • Wrapped USDCx test adapter
These programs support development and testing. Their presence does not approve an asset for a production market.

USDCx caveat

The included wrapped USDCx program depends on a test stablecoin program. Once value is inside the wrapper, its ARC-20 transfer functions do not consult the underlying issuer freezelist or compliance proof. Before enabling a USDCx market, verify whether issuer controls survive the wrapper boundary. Cover minting, redemption, account freezes, freezelist enforcement, authorization, and disclosure semantics.

Token metadata and allowlisting

A development script seeds token metadata into the off-chain API. Bootstrap later reads that API to set the on-chain pool-creation allowlist and wrapper relationship. These are distinct actions:
  1. API metadata makes an asset discoverable to tooling.
  2. allow_token(token_id, underlying_token_id) permits pool creation and records a wrapper relationship when the IDs differ.
  3. Token and pair pauses can later block entry and trading.
None of these actions performs KYC, sanctions screening, reserve verification, code audit, or issuer authorization.

Production onboarding

Before listing an asset, record the token program checksum, interface conformance, decimals, supply authority, token record behavior, issuer controls, upgrade authority, failure behavior, and wrapper redemption path. Test all relevant calls against the exact deployed token program.