op-drop and $DROP

op-drop, fungible tokens on Bitcoin L1

Fungible tokens, with a proof trail in full color.

op-drop gives token events an exact, reviewable shape on Bitcoin. No dashboard has to invent the supply story: a compatible verifier reads the same compact JSON, checks the same Taproot proof, and updates state only after confirmation.

Canonical JSON+OP_DROP leaf+Taproot proof=Confirmed token event
A hot-pink electric supercar gliding through a fuchsia city with abstract token discs
Canonical token events, captured in a colorful Bitcoin proof trail.

A clear fungible-token layer

One strict format for deploy, mint, and transfer events on Bitcoin L1.

Color is the invitation. Exact bytes are the rule. A compatible verifier only counts valid, confirmed events, so anyone can inspect a token's supply, mint limit, and transfer path instead of trusting a private indexer guess.

Deploy

Declare the token terms

A deploy fixes a four-character lowercase ticker, maximum supply, and per-mint limit in one exact canonical payload.

Mint

Respect the visible limits

Every mint is checked against the declared limit and remaining supply before it credits a confirmed balance.

Transfer

Move value with a receipt

A valid transfer moves from available to reserved, then settles to the recipient or returns to the sender when it cannot complete.

{"p":"op-drop","op":"deploy","tick":"drop","max":"21000000","lim":"1000"}

The event is the interface

Three small messages. One public rulebook.

The JSON is deliberately compact. Key order, spacing, field names, and values are part of the event. That means a wallet can show the exact message before signing, and a verifier can reject a lookalike rather than guessing what the creator intended.

Deploy

Sets the ticker, maximum supply, and per-mint ceiling. The first valid confirmed deploy for a ticker wins.

{"p":"op-drop","op":"deploy","tick":"demo","max":"21000000","lim":"1000"}

Mint

Requests a positive amount within the deployed mint limit and any remaining supply.

{"p":"op-drop","op":"mint","tick":"demo","amt":"1000"}

Transfer

Reserves a valid amount, then settles it to the recipient once the transfer completes on the confirmed chain.

{"p":"op-drop","op":"transfer","tick":"demo","amt":"250"}

The token state machine

A ticker can only move through visible, confirmed events.

Deploy establishes the fixed terms. Mint and transfer then follow those terms, with supply and balances changing only after a compatible verifier accepts the confirmed Bitcoin event.

OP-DROP ticker lifecycle: deploy, live ticker, mint, transfer, and confirmed state updates
The OP-DROP lifecycle, from a first valid deploy to settled token state.
$DROPCanonical terms
Ticker
drop
Maximum supply
21,000,000
Maximum mint
1,000
$DROP is defined by fixed canonical terms, not a mutable dashboard setting.

The public $DROP profile

Simple terms. Fixed supply. Easy to verify.

$DROP is the first token on op-drop. Its fixed public rules mean nobody needs to rely on a changing dashboard to know its basic supply terms: ticker drop, maximum supply 21,000,000, and maximum mint amount 1,000.

Canonical ticker: drop, displayed as $DROP.
Maximum supply: 21,000,000 units, enforced by token validation.
Maximum mint: 1,000 units per mint event.

A strict application profile

Familiar JSON. Exact rules. No ambiguous token events.

For everyday users, this means a wallet or explorer can reject lookalike or malformed token records instead of guessing what they mean. The technical rules below are what keep that experience dependable.

op-drop uses the bip110-op-drop carrier with a strict canonical JSON decoder. It requires exact key order, compact serialization, lowercase four-character tickers, positive decimal strings, and a body within the 256-byte commitment bound. This application profile does not promise Bitcoin consensus activation, relay, mining, or support by another service.

See carrier rules

The proof path

Every balance begins with a verified Bitcoin event.

When you look at an op-drop balance, you should not have to trust a number on a website. The protocol changes a balance only after it sees and verifies the matching confirmed Bitcoin event.

01Canonical event

The exact JSON expresses deploy, mint, or transfer terms.

02BIP-110 leaf

The event body and its SHA256 hash are committed through OP_DROP.

03Confirmed Bitcoin

The Taproot reveal is checked against its spent P2TR output.

04Token state

Only valid confirmed events update supply, balances, and transfer status.

Token rules you can inspect

Create fungible-token experiences on Bitcoin without hiding the proof.

$DROP demonstrates the model with a fixed public deployment. The same strict event rules can support other fixed-rule launches and connect to readable Pact policy records, while keeping the Bitcoin proof visible.