01 — Submit and order
A transaction is ordered before anyone votes on it.
It enters through the public JSON-RPC surface. The mempool orders it, drops duplicates, and evicts what it cannot hold, so the set a committee sees is already deterministic rather than whatever arrived first.
submit in any order:
arrival order
- empty
what the committee sees
- empty
Submit a few and compare the two columns.
Anything still pending after 300s is evicted, and one address may hold at most 256 pending entries — both fixed in the genesis document, so a node cannot quietly widen them. The senders are real addresses from state.accounts; the transactions are not, because this chain is still at epoch 0 and has none.
Priority above is fee per weighted byte. This is what sets that fee: a smart.exec transaction carries up to 32 operations, each with its own price.
operations
- transfer2000
- emit.event800
- assert.balance600
- assert.compare600
- assert.time400
effective minimum fee
- max(min_fee 10000, base 10000)
- 10,000
- 20 × 320 B
- 6,40035%
- Σ per_op (1 op)
- 2,00011%
- total
- 18,400
- in SLI
- 0.000184
- fee per byte
- 57.5
Size dominates here. Because ordering is fee per weighted byte, padding a transaction raises its fee without improving its position.
This is the minimum a transaction must pay to be admitted, not a market price — the document fixes these constants, so the floor cannot be raised by congestion.