Skip to content

Choosing a token

libtokensv has two kinds of token, and they do quite different jobs.

PushDrop puts data inside an Output that a key can spend. Nothing in the Script ties one PushDrop Output to another. Whoever reads it trusts the key that locked it and, usually, a Signature over the fields. Overlay services index PushDrop Outputs by topic. We use it to publish records that an overlay serves, such as which host runs your message box.

Lineage Tokens are covenants. Each transfer rebuilds, in Script, the Transaction it spends as well as that Transaction’s parent. A token can therefore only come from the token before it, and so on back to an issuance that the Issuer signed. The rules of each kind of token (who may spend it, what the Outputs must be, how many hops it may make) are enforced by every node. We use them for things of value that change hands.

All of the Lineage Tokens share the same base: an Issuer with a Rabin Key and an Identity Anchor, the practice of issuing to yourself and then distributing, a payee check, and redeem-and-reissue to keep Transactions small. Concepts explains each of these. Where the tokens differ is in what a token holds and how it may move.

NFT Fungible Listed NFT Fuelled NFT Voucher NFT Note NFT
Archetype TSL1_LT_NFT TSL1_LT_FT TSL1_LT_LNFT TSL1_LT_FNFT TSL1_LT_VNFT TSL1_LT_NOTE
Unit one item an amount one item one item one item one item
Token output holds 1 sat 1 sat 1 sat its fuel its fuel its fuel
Who pays a transfer’s fee the sender, from a coin the sender the sender the token’s fuel the token’s fuel the token’s fuel
Splits and merges no yes no no no no
Transfer limit none none none none 1 to 255 none, or 1 to 255
Holder can end it yes (burn) yes yes yes, and takes the fuel no: redeems to the issuer yes, by its terms
Issuer can take it back no no no no after an expiry height from a call height, by its terms
Sold by swap no built-in sale a posted price, or a swap its sale version its sale version its sale version
Plugin LtNftPlugin none LtLnftPlugin LtFnftPlugin LtVnftPlugin LtNotePlugin
Growth per transfer 386 B 455 B 394 B 152 B 152 B about 153 B

“Growth per transfer” is how much each Transaction gains over its parent. A Lineage Token carries its history since issuance along with it. The Issuer resets that growth by taking the token back and reissuing it (in the case of the fungible token, its attesters can reset it in place).

A few questions will usually settle it:

  • Does the holder have coins? If your users may hold a token in a wallet with no satoshis (a ticket handed to a guest, a badge in a fresh wallet), use the fuelled family. The token pays its own fees, and anyone can top it up.
  • Should it come back to you? A gift card, coupon, membership or licence is redeemed with the Issuer, which is what the Voucher NFT is for. With maxHops: 1 the holder can never pass it on.
  • Is it a claim on money? The Note NFT’s terms split its fuel between holder and Issuer at each way it can end: deposits, time-locked claims, callable claims. Instrument math works out what each ending pays.
  • Should strangers be able to buy it? The Listed NFT carries a price that anyone can pay, with no owner online. For a negotiated sale of any NFT, use the swap. The fuelled family is sold through its sale versions, which are chosen at issuance.
  • Is it an amount? Then it is the fungible token. It has no wallet plugin and no payee check in 0.2.0, so it asks more work of you than the NFTs do.
  • Otherwise the covenant NFT is the simplest choice: one item, and the sender pays the fee.

A token is issued as one archetype and stays that archetype. A covenant NFT cannot become a Listed NFT, and a Fuelled NFT cannot become its sale version. Choose before you issue.

PushDrop Lineage token
What makes it genuine the locking key and a signature over the fields, checked by whoever reads it the script, checked by every node, back to the issuer’s attestation
Who indexes it an overlay service, by topic nobody needs to: the payee checks the bytes it is handed
Size the fields grows with the token’s history
Typical use overlay advertisements, BRC-100 records items and amounts that change hands