Learn · Topic 9 of 10
ID Control Tokens
A currency with a supply of one satoshi, having independent revocation and recovery authority over its namespace ID@, transferrable, and tradeable on a decentralized marketplace.
What it is
Every Bitcoin Kali piece has a control token — a currency created
with definecurrency that shares its name and i-address
with the identity it's bound to. The token for Destroyer of Fiat.bitcoins@ is the currency Destroyer of Fiat.bitcoins (no @ —
currencies don't have @). Same i-address: i3xD7bRKEtJdMmKjoxMHyBjoURebQsGFhV.
The total supply is 0.00000001 — one satoshi, indivisible. It was
preallocated to the curator (kali.bitcoins@) at
creation. There's exactly one unit in existence, and whoever holds
it gains control over the identity by way of revoke and recover authorities. They can also make or take offers on the marketplace. (An ID@ with a control token can only be offered on the marketplace as control token)
How it's created
The definecurrency RPC call creates the token. The
key parameters:
- name — matches the identity
(e.g.,
"Destroyer of Fiat.bitcoins") - options flag 2080 — a combination of protocol flags that mark this as an identity-bound token eligible for marketplace trading. The specifics of the flags are less important than what they enable: the token can be offered, transferred, and settled atomically on the Verus marketplace.
- preallocations — 0.00000001 to
kali.bitcoins@. One satoshi, allocated to the curator at genesis. No additional supply can ever be minted. - maxpreconversion: [0] — required parameter that prevents any pre-launch conversion. Without it, the currency definition fails.
Before definecurrency will succeed, the identity must
hold a small balance (~0.02 VRSC) to cover the definition fee.
The call returns a raw transaction hex that must be broadcast via sendrawtransaction. Once confirmed, the currency
exists on chain permanently.
Why it matters
Verus identities can already be traded on the decentralized marketplace without a control token. So what does the token add?
Independent revoke/recover authority. The token holder gains revocation and recovery authority over the identity, independent of whatever authorities are set in the identity object. Even if the identity's primary addresses are compromised, the token holder can recover it.
Third-party oversight. A control token can be held by a different party than the one spending from the identity. This separates day-to-day use from ultimate control — useful anywhere you want one party to operate an identity while another retains the ability to revoke or recover it.
Marketplace routing. When an identity has a control token, the protocol requires marketplace offers to go through the token. The buyer receives the token and the revoke/recover authority it carries in a single atomic swap.
Worked example
Destroyer of Fiat.bitcoins — currency i-address i3xD7bRKEtJdMmKjoxMHyBjoURebQsGFhV (identical to the identity's i-address). Total supply: 0.00000001.
Preallocated to kali.bitcoins@. Anyone can query it:
getcurrency "Destroyer of Fiat.bitcoins" The response confirms the currency name, supply, options flags, and preallocation. The same call works for all seven pieces — each has its own control token with the same parameters, differing only in name and i-address.
Once created, the token can be listed on the marketplace via makeoffer. The curator offers 0.00000001 of the
control token in exchange for VRSC. A buyer takes the offer via takeoffer, and the swap happens atomically on chain.
All seven control tokens
Destroyer of Fiat.bitcoinsSlayer of Bankers.bitcoinsBane of Debasement.bitcoinsGoddess of Sovereignty.bitcoinsDevourer of Time.bitcoinsKali of the Cremation Ground.bitcoinsMother of the Immutable.bitcoins