7. Native assets
7.1 Issuance record
-
tickermatches^[A-Z][A-Z0-9]{1,9}$and is notARRK,TARRKorRARRK. -
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 > 0andamount ≤ 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
amountunits 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
issuedin the conservation check. - MINTABLE → 1 authority token,
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.