eth_getLogs. But some of the most important operations on Stable (staking unbonding completions, for example) happen inside SDK modules that don’t naturally emit EVM events. System transactions close this visibility gap: the protocol itself submits EVM transactions that emit events for SDK-layer operations, making them indexable through the same log stream dApps already use.
Why this matters
Consider tracking when a user’s tokens finish unbonding. Without system transactions, a dApp would need to either:- Run a separate indexer that watches for SDK events and stores them in its own database. Operational overhead plus a new failure point.
- Poll a REST endpoint periodically. 5–10 second latency, higher RPC load, two client stacks (web3 + REST) to maintain.
How the flow works
The StableSystem precompile
Events flow through theStableSystem precompile at 0x0000000000000000000000000000000000009999. Today it emits one event (UnbondingCompleted) for staking unbondings. The protocol is designed to extend this to other SDK operations (validator commission changes, governance execution) under the same pattern.
Security model
Two properties keep the event stream trustworthy:- Protocol-only sender. System transactions use
0x0000000000000000000000000000000000000001as their sender. The EVM state-transition rules only allow transactions to theStableSystemprecompile from this address to skip signature verification. Users cannot forge events or call restricted precompile functions from their own transactions. - Deterministic emission. Every honest validator produces the same system transaction for the same protocol events. There’s no additional trust assumption beyond standard consensus.
Batch processing
To bound block size, each block processes at most 100 unbonding completions. At Stable’s ~700 ms block time, that’s roughly 9,000 completions per minute, well above typical staking activity. If a burst exceeds the per-block limit, completions queue in FIFO order and drain over subsequent blocks. There’s a one-block (~700 ms) delay between the SDK event and the EVM emission, which is negligible relative to the 7-day unbonding period itself.Where to find the ABI
TheStableSystem interface, event signatures, and sender-authorization rules are in the System transactions reference.
Next recommended
System transactions reference
Review the
IStableSystem interface, gas accounting, and authorization rules.Staking module
See the SDK operations that surface as system-transaction events.
System modules overview
Return to the precompile-exposed module list.

