Network fees and confirmation expectations
There are only two costs, a miner fee and the small amount of bitcoin carried inside each path output that returns to you when the path completes. This page shows how both behave.
Taking part in a world costs a Bitcoin network fee and nothing else. The 1,000 satoshis that sit inside your path are not a payment. They travel with the path and return to you when you complete it. This page tells you what to expect for both.
The two costs#
A miner fee. Every ChainBloom step is an ordinary Bitcoin transaction, so it pays the same fee any transaction pays, to the miners, for being included in a block. ChainBloom charges nothing on top and takes no cut. Nobody can refund a fee once the transaction is mined.
1,000 per live path. Each path is held in place by one output of exactly 1,000 satoshis. Every step spends that output and creates the next one at the same value, so the amount never grows. When you complete a path, no successor is created and those 1,000 satoshis come back to you along with your change.
That is the entire cost model. There is no fee to join a world, no subscription, and nothing to buy.
What you are paying to put on chain#
Fees scale with how big a transaction is, not with how much value it moves. So the shape of the action decides most of the cost.
Every ChainBloom transaction has one marker output at vout 0: an OP_RETURN carrying zero value and at most 72 bytes. What changes is the number of path inputs and path outputs around it.
| Action | Path inputs | Path outputs | Note |
|---|---|---|---|
| Create a world with three paths | none | 3, at vout 1 to vout 3 | one root per path |
| Bloom | 1, at vin 0 | 1, at vout 1 | the successor replaces the parent |
| Echo | 1, at vin 0 | 1, at vout 1 | same shape as a bloom, different payload |
| Meeting | 2, at vin 0 and vin 1 | 2, at vout 1 and vout 2 | both paths carry on |
| Complete a path | 1, at vin 0 | none | the 1,000 satoshis are released |
Fee inputs come after the path inputs, from vin 1 for a bloom, echo or completion, and from vin 2 for a meeting. Change comes back to you at the end. Every path output is exactly 1,000 satoshis.
Reading the table as cost: a meeting is the largest of the ordinary steps, because it carries two inputs and two outputs plus the marker. Completing a path is the smallest, because it creates no successor. Creating a world grows with the number of paths you open.
Choosing a fee rate#
A is stated in sat/vB, meaning satoshis per virtual byte. Multiply it by the size of your transaction and you get the fee. Miners fill each block from the top by rate, so a rate is really a queue position.
Two consequences worth internalising:
- A low rate does not fail, it waits. Your transaction sits in the until the backlog above it clears. That can be one block or many, and nobody can promise which.
- The same rate costs more for a bigger action. At an identical sat/vB, a meeting costs more than a completion, because there is more of it to store.
Bitcoin aims for one block roughly every ten minutes, which is why 144 blocks is about 1 day of world lifetime. Fee estimates from a public mempool source will tell you what rate is currently clearing quickly. The ChainBloom workspace inside InScribe returns the miner fee, the change, and the fee rate it used in the preview it hands you before you sign, so you can check the arithmetic yourself.
While it waits#
An unconfirmed transaction is a proposal, not a fact. Two things follow.
It is replaceable. ChainBloom requires every input to carry sequence 0xfffffffd and the transaction to be version 2. That sequence is the standard opt-in signal for , so a step that is waiting can be replaced by another version of itself paying a higher fee. This is a feature: it is how you rescue a step you sent at too low a rate.
Two versions cannot both survive. A replacement spends the same path output as the original, so only one of them can ever confirm. Tooling that projects unconfirmed transactions reports the other candidates as conflicts rather than pretending both exist.
When it confirms#
A is the moment your contribution stops being yours alone and becomes shared history. Before it, the step exists in your wallet and in some mempools. After it, it has a block height and a position inside that block, and every independent reader replaying the chain places it at exactly the same point in the world's order.
That is the whole reason Bitcoin is in this design: not payment, but agreement about order, without a referee.
Confirmation also unlocks the next move. A step is rejected with UNCONFIRMED_LINEAGE_PARENT if the path's own previous event is in the same block or later, because a parent must already be confirmed in a strictly earlier block. In practice: contribute, wait for a block, then contribute again. An echo has the same rule about the moment it points at. The target must be confirmed earlier than the echo.
What none of this costs#
No transaction fee is charged by ChainBloom, no value accrues to a path, and holding a path is not an investment or a claim on anything. The 1,000 satoshis are a place-holder that makes the ordering rule work: small enough to be unimportant, large enough to be a valid output.
If a step of yours seems stuck, replaced, or rejected, troubleshooting walks through what each case means and what to do next.