Changes to “Fees”
#839 (zoobc.how, 2026-10-26 22:31 UTC) → #1066 (zoobc.how, 2026-10-27 00:42 UTC): Seed article updated
…
A simple payment's floor is therefore just over 0.025 ZBC. The node API's `GET /api/v1/blockchain/estimate-fee` returns the floor before you sign.
+ A transaction that declares less than its floor is refused, and a block that carries one is invalid. Type 0, the no-op transaction that moves nothing, must still pay a fee above zero. A node never refuses a fee for being too high. Several actions batched into one transaction pay the sum of what each action would pay alone, with the message charged once ([[one-per-block-and-batches]]), and every computed charge is rounded up to at least one atomic unit.
− A transaction that declares less than its floor is refused, and a block that carries one is invalid. Type 0, the no-op transaction that moves nothing, must still pay a fee above zero. A node never refuses a fee for being too high. Several actions batched into one transaction pay the sum of their one-action floors ([[one-per-block-and-batches]]), and every computed charge is rounded up to at least one atomic unit.
## Overpay is refunded
You may declare more than the floor. When the block is applied, the whole declared fee leaves your account, and the part above the floor comes straight back in the same block, as a separate refund entry in your account's history. For example, a testnet payment that declared 0.02550004 ZBC was charged 0.02500003 ZBC and refunded 0.00050001 ZBC. Overpaying by mistake therefore costs nothing.
+
+ Overpaying buys nothing either. A node's waiting pool ranks transactions by the fee the node will actually keep, per byte, which is the floor, because the overpay is refunded; ties go by arrival, then by transaction id. Declaring ten times the floor ranks the same as declaring the floor: a higher fee buys no earlier place, no protection from eviction when the pool is full, and cannot push other transactions out.
## Where fees go
…