Fees: RBF, CPFP, packages, TRUC
Fees are paid in ARRK: fee = ARRK inputs − ARRK outputs. Mempool policy, modelled on Bitcoin
Core 28, decides what relays and how blocks are filled (§13). None of
this is consensus; it can evolve without a fork.
Basics
| Policy | Value |
|---|---|
| Minimum relay fee | 1,000 base units per kB |
| Maximum standard transaction | 400,000 bytes |
| Ancestor limit | 25 |
| Pool cap | 300 MB, evicting by descendant-package fee rate |
| Expiry | 14 days |
GET /v1/fees returns the node's fee estimate. Block templates select by ancestor-package fee
rate, so a child that pays well pulls its low-fee parent into the block (child pays for parent).
Replace-by-fee (full RBF)
A transaction that conflicts with pool entries replaces them and their descendants when (BIP 125 limits):
| Rule | Error |
|---|---|
| at most 100 transactions evicted | too-many-replacements |
| it does not spend an output of a transaction it replaces | replacement-spends-conflict |
| it adds no new unconfirmed inputs | replacement-adds-unconfirmed |
| its fee rate beats every direct conflict | insufficient-feerate |
| its fee covers the evicted fees plus 1,000 base units/kB of its own size | insufficient-fee |
The SDKs' bumpFee rebuilds a transaction with a higher fee rate under these rules.
Packages and CPFP
A parent below the relay fee can enter together with a child that spends it, through
POST /v1/txs/package ([parent, child]) or the P2P PACKAGE message, if the package pays the
relay fee for both sizes and the child pays for itself
(package-fee-too-low). The SDKs' cpfp builds such a child from
the stuck transaction's change.
TRUC (version 3)
Version-3 transactions opt into TRUC (BIP 431), which prevents pinning. Sizes are scaled for post-quantum signatures:
| Rule | Error |
|---|---|
| at most 40,000 bytes | truc-tx-size |
| at most one unconfirmed ancestor | truc-too-many-ancestors |
| no chaining with non-TRUC unconfirmed transactions | truc-mixed |
| a TRUC child is at most 16,000 bytes | truc-child-too-big |
A TRUC child that pays more may evict an existing sibling (sibling eviction). Consensus treats version 3 like version 2.