Skip to content
LogoLogo

7. Native assets

7.1 Issuance record

  • ticker matches ^[A-Z][A-Z0-9]{1,9}$ and is not ARRK, TARRK or RARRK.

  • name: 1–64 Unicode code points, with no code point in U+0000–U+001F or U+007F–U+009F, no U+2028 or U+2029, and no leading or trailing U+0020. The rule is defined on exact code points so every implementation agrees. decimals ≤ 18.

  • Flags: 0x01 MINTABLE, 0x02 FREEZABLE, 0x04 CLAWBACK. Other bits are invalid.

  • Fixed supply (not MINTABLE): amount == max_supply > 0.

  • MINTABLE: max_supply > 0 and amount ≤ max_supply.

  • metadata_hash: SHA3-256 of the asset's ARRK-AMS-1 document (§7.5), or zero.

  • Asset id = TH("asset", prevout_of_input_0 ‖ u32(issuance_index)). This is unique because an outpoint can be spent only once.

  • Tickers are unique chain-wide (issuance-ticker-taken).

  • The issuance creates amount units of the asset, plus:

    • MINTABLE → 1 authority token, TH("asset-authority", asset_id).
    • FREEZABLE or CLAWBACK → 1 control token, TH("asset-control", asset_id).

    These new units count as issued in the conservation check.

7.2 Mint

Requires spending ≥ 1 unit of the asset's authority token in the same transaction. The asset MUST be MINTABLE and already exist (not issued in the same transaction). issued + amount ≤ max_supply.

7.3 Freeze / unfreeze

Requires a FREEZABLE asset and spending its control token in the same transaction. Sets or clears the frozen flag for (asset, lock) after the transaction. A frozen pair can neither spend nor receive that asset, and other assets on the same lock are unaffected.

7.4 Clawback

For each listed input, the coin's asset MUST have the CLAWBACK flag and its control token MUST be spent in the same transaction. The holder's signature is not required; the witness is empty. Clawback ignores freezes and scheme retirement, so issuers can always recover controlled assets. The value moves wherever the transaction's outputs send it (conservation still applies).

Controls are opt-in and public. They are fixed at issuance, visible in the asset record, and cannot be added later. ARRK can never be frozen or clawed back. Burning the control token removes the controls permanently.

7.5 Metadata standard ARRK-AMS-1 (not consensus)

A canonical JSON document: UTF-8, sorted keys, separators , and :, no NaN or Infinity.

  • Required fields: schema="arrk-ams-1", ticker, name, issuer{name[,url,lei]}.
  • Optional fields: description, website, logo_sha3, legal_terms_url, reserve_attestation_url, controls_policy (required when the asset is FREEZABLE or CLAWBACK), jurisdiction, contact.