Firstlight Seals
The Firstlight Seals are the founding cohort of PATINA. They mint free, in one window, over your own bitcoin.
- 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.
- Free. There is no mint price. You pay Bitcoin transaction fees to miners and nothing to the protocol, the team, or a treasury.
- 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.
- 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.
- 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.
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.
| Constant | Value | Nominal time | What it controls |
|---|---|---|---|
WINDOW_LENGTH | 4032 blocks | 28 days | How long founding commits are accepted |
GRACE_LENGTH | 4032 blocks | 28 days | Extra time to reveal a commit made in the window |
COMMIT_MIN_AGE | 144 blocks | 24 hours | Minimum age of the commit output at reveal |
MIN_CARRIER_FOUNDING | 100000 sats | 0.001 BTC | Smallest endowment for a founding Seal |
MIN_CARRIER_OPEN | 10000 sats | 0.0001 BTC | Smallest 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
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.