OP_RETURN output, without requiring any changes to the Bitcoin protocol.
Packets
Every Arkade Asset transaction embeds a single asset packet in exactly oneOP_RETURN output. The packet is encoded as a TLV (Type-Length-Value) stream, prefixed with the ASCII magic bytes ARK (0x41524b):
0x00:
- Multiple
OP_RETURNoutputs with ARK magic bytes - Multiple type
0x00records across any TLV streams
Asset Groups
The asset payload inside a packet is an ordered list of Asset Groups. Each group defines one asset’s inputs and outputs for the transaction — how much of a given asset is consumed and where it goes.Asset ID
Each asset is identified by a pair:(genesis_txid, group_index).
genesis_txid— the transaction where the asset was first mintedgroup_index— the index of the asset group within that genesis transaction
| Type | Behavior |
|---|---|
| Fresh mint | AssetId is absent. The asset is born here. Its ID becomes (this_txid, group_index). |
| Existing asset | AssetId is present. References a previously minted (genesis_txid, group_index). |
Conservation Rules
For each group, total output amounts must be ≤ total input amounts (except during fresh issuance or reissuance with a control asset). Spent input assets not assigned to outputs are burned.Control Assets
A control asset is itself an Arkade Asset that authorizes supply increases for another asset. You designate one at genesis — it cannot be added later.- An asset cannot reference itself as its control asset
- Control is not transitive — if Asset A is controlled by Asset B, reissuing A requires only B, not B’s controller
- The control asset can be transferred to a new UTXO; whoever holds it holds reissuance rights
Asset Metadata
Metadata is defined at genesis and is immutable — it cannot be changed after creation.Known Fields
| Field | Type | Description |
|---|---|---|
name | string | Human-readable name |
ticker | string | Short trading symbol (e.g., "USDT") |
decimals | number | Display precision |
icon | string | URL to an image |
Metadata Hash
ThemetadataHash is the Merkle root of all key-value pairs encoded as leaves:
Hybrid Architecture (Planned)
The full Arkade Assets design targets a hybrid environment where assets move seamlessly between offchain Arkade transactions and onchain Bitcoin UTXOs. This requires two components:- Arkade Signer — acts as a private indexer for the user, tracking on-chain asset state after unilateral or collaborative exits
- Arkade Indexer — ingests Arkade-native transactions to present a complete asset ledger across both layers
Intent-Based Transfers
The bridge between offchain VTXOs and onchain outputs is the intent system. An intent transaction locks an asset for a pending batch:Find the detailed intent system description in the Server & API section