PATINA docs

Firstlight Seals

The Firstlight Seals are the founding cohort of PATINA. They mint free, in one window, over your own bitcoin.

What you will know after this page
  • What a free mint still costs you: two mining fees and at least 100000 sats you stop spending.
  • Where the endowment sits while the Seal exists, and whose key can move it.
  • Which height has to fall inside the window, and which one only has to beat the grace deadline.
  • Why a reveal is rejected until the commit output is 144 blocks old, and which attack that closes.
  • What changes for an artifact seeded after the window and the grace period are over.

The four facts

A Seal rides on a single unspent output of your own, and that output is called the carrier. Every fact below is a fact about that one output. The shorter telling, with pictures, is on the public site page Firstlight Seals.

  1. Free. There is no mint price. You pay Bitcoin transaction fees to miners and nothing to the protocol, the team, or a treasury.
  2. One window. Founding commits are accepted for 4032 blocks, about 28 days. There is a further 4032 block grace period to reveal a commit that was made inside the window.
  3. Endowed. The carrier output of a founding Seal must hold at least 100000 sats, which is 0.001 BTC. That bitcoin is yours the whole time. It is not sent anywhere.
  4. Unallocated. Zero team allocation, zero reserve, no cap on how many Seals exist, and no advantage for being early inside the window.

What "free" costs

Free means no protocol price. It does not mean zero outlay. Minting a Seal costs you:

  • The mining fee for the commit transaction.
  • The mining fee for the reveal transaction, which is larger because it carries a witness and an OP_RETURN.
  • At least 100000 sats locked into the carrier output, which stays yours but stops being convenient spending money if you want depth to accumulate.

That last line is the real cost, and it is deliberate. The only thing a Seal asks of you is that you leave some bitcoin alone.

The endowment stays yours

People are used to mints where money leaves. This one does not.

Where the sats live

The 100000 sats sit in an output your wallet controls, on an address your wallet generated. No multisig, no escrow, no protocol address. You can spend it in the next block if you want. Spending it ends the current stretch and resets depth to zero, which is the entire cost of changing your mind.

The indexer reads the value of that output and reports it as endowment_sats. Nothing in the protocol can move it, freeze it, or claim it.

No race

Mint sequence is not a rank. There is no low number to fight for, no allowlist, and no first hour bonus. Two things follow from that:

  • Committing on day 27 makes exactly the same kind of Seal as committing on day 1.
  • Fee bidding wars have nothing to win. A commit that confirms slowly is not disadvantaged, as long as the commit output confirms inside the window and the reveal lands inside the grace period.

The only clock that matters afterwards is depth, and depth starts when your carrier output confirms.

Why the commit has to age

A claim is made in two transactions. First a commit output, then a reveal that spends it. The reveal is only valid if the commit output is at least 144 blocks old, about one day. The public site walks the same two transactions on commit, wait, reveal, and the step by step with commands is in the mint walkthrough.

The aged commit closes the obvious attack. In a naive scheme, a bot watches the mempool, sees your reveal, copies your payload, and pays a higher fee to land first. Here the reveal must spend your commit output, and only your key can spend it. Copying the reveal produces a transaction that cannot be mined, because it tries to spend an output the copier does not control.

The commit output is a Taproot output whose script path contains your key and a hash of your claim. The exact shape, with verified bytes, is on Identity and derivations.

The window in numbers

Five constants shape the founding window. Two set its length and the length of the grace period after it, one sets how long a commit output must age before any reveal is valid, and two set the smallest carrier a Seal may rest on. The heights that anchor the window to real blocks are not decided yet, so these are lengths, not dates.

Founding window constants from the frozen baseline. Nominal days assume ten minutes per block.
ConstantValueNominal timeWhat it controls
WINDOW_LENGTH4032 blocks28 daysHow long founding commits are accepted
GRACE_LENGTH4032 blocks28 daysExtra time to reveal a commit made in the window
COMMIT_MIN_AGE144 blocks24 hoursMinimum age of the commit output at reveal
MIN_CARRIER_FOUNDING100000 sats0.001 BTCSmallest endowment for a founding Seal
MIN_CARRIER_OPEN10000 sats0.0001 BTCSmallest endowment after the window closes

Two heights decide founding, and they do different jobs. The height of the commit output is the one that has to fall inside the window. The height of the reveal only has to land at or before the end of the grace period. Miss either and the artifact is still created, held to the 10000 sat floor instead of the 100000 sat one and marked founding: false. See SEED rules.

After the window closes

PATINA does not end when the founding window ends. Anyone can keep seeding artifacts, with a lower endowment floor of 10000 sats. Those artifacts are real, they accumulate depth and rings the same way, and they are marked founding: false. The Firstlight Seals stay a closed set because nothing can reopen the window, not because later artifacts are second class.

Honest boundary

Founding membership can be farmed

Anyone with enough bitcoin can mint many Seals by committing many outputs. There is no identity check, and there is no way to build one without breaking the part where nobody has to trust us.

Our answer is disclosure, not a filter. During the window the indexer publishes concentration statistics from the same data everyone else can index. If one address ends up with a large share of the cohort, that will be visible while it happens, not after.

Read the rest of the boundaries on What it does not promise.