STOA
Docs
Security

Admin and permissions

Who controls what in Stoa, and what nobody can do.

Who holds the keys

Role Address Type
Owner of every Stoa contract 0xeBa02cCc1f724Cd098fc20492EF9313e1ED2417B Timelock, 48 hours, controlled by the admin Safe
Admin Safe (proposes and executes through the timelock) 0xBF715C84b1C0759C87Da368c1476b80ac0C5055F Safe multisig, 2 of 3
Router guardian (emergency pause only) 0x5A63C75B38e7ee42220Cc3A57702E06D1D8903c9 Wallet, also one of the Safe signers
Treasury (receives slashed bonds) 0xDF129a523aEb072a2CEcbA50170eAb2fcB183C4c Wallet

The admin Safe

Every Stoa contract is owned by a 48-hour timelock (0xeBa02cCc1f724Cd098fc20492EF9313e1ED2417B, OpenZeppelin TimelockController), and only the admin Safe (v1.3.0, 0xBF715C84b1C0759C87Da368c1476b80ac0C5055F) can schedule or run actions through it. Any admin action needs 2 of the Safe's 3 signers, then waits 48 hours in public before it can run:

Signer Address
Owner wallet 0x5A63C75B38e7ee42220Cc3A57702E06D1D8903c9
Deployer wallet 0x056896d7d62fB4faE30f53d76CB55264f4c5c500
Treasury wallet 0xDF129a523aEb072a2CEcbA50170eAb2fcB183C4c

Ownership of the router, the maker pool, the maker registry, the fee distributor and the Uniswap V4 adapter moved to the Safe on 12 November 2026 (transaction). You can check the owner of each contract on-chain at any time. The router's guardian stays a single wallet on purpose, so an emergency pause is never slowed down by collecting signatures. A guardian can pause swaps but cannot unpause them, move funds or change settings. Ownership uses a two-step transfer: a new owner has to accept, so it cannot be sent to a wrong address by mistake. Any change of owner is an on-chain event anyone can watch.

Who holds the signers. All three signer wallets are held by the Stoa team. The Safe protects against one key being leaked or lost; it is not a separation of power between independent parties. Adding an independent signer is planned.

48-hour timelock. Since 12 November 2026 every owner action, including withdrawing maker pool inventory, slashing a bond, approving a maker or adding a venue, must be scheduled on-chain and wait 48 hours before it can run. Anyone can see a scheduled action during that window. The timelock has no admin: only the Safe can schedule, run or cancel, and the delay itself can only change through the same 48-hour wait. Maker bonds take 3 days to withdraw, longer than the timelock, so a maker cannot leave before a slash lands.

The deployer wallet has no admin rights of its own; it is one of the three Safe signers and can act only together with a second signer.

Robinhood Chain

Stoa on Robinhood Chain has the same setup, with its own contracts. They were deployed on 14 November 2026 by a fresh wallet that handed everything over in the same run and kept no rights:

Role Address Type
Owner of every Stoa contract 0xAC75133729d6B5d615aA696d0828dC31fcB83ed8 Timelock, 48 hours, controlled by the admin Safe
Admin Safe 0xa1a495484536c52046d07209C60059cf9613D386 Safe multisig, 2 of 3, the same three signers as on Elysium
Router guardian (emergency pause only) 0x5A63C75B38e7ee42220Cc3A57702E06D1D8903c9 Wallet, also one of the Safe signers

The deployer briefly held timelock roles at a zero delay so the timelock could accept the contracts and raise its own delay to 48 hours; it then revoked every role it had, including admin. The Safe is the only proposer, executor and canceller. Maker bonds on Robinhood Chain also take 3 days to withdraw.

Adding Aero and Ramses on Robinhood Chain takes three Safe transactions, all from the New venues panel of the admin page: schedule (the router's propose and execute are queued in the timelock together), propose after 48 hours, then add them after the router's 24-hour wait. Each step needs two of the three signers, and anyone can follow it on-chain in the timelock. The Uniswap V4 adapter's allowed hooks are fixed in its code and cannot be changed by anyone.

What the owner can do

Power Limit
Add a new venue (pool or adapter) to the router 48 hours through the timelock, then the router's own 24-hour wait: 72 hours in public before it can go live. The setup phase is locked, so there is no shortcut.
Remove a venue 48 hours through the timelock. To stop a venue at once, the guardian pauses the router.
Pause swaps Instant, by the owner or the guardian. Only the owner can unpause.
Approve or remove makers on a pool Makers also need a bond of at least 10 HYPE to quote.
Slash a maker's bond Sends the slashed HYPE to the treasury, after the 48-hour wait. Used when a maker posts abusive quotes.
Set the per-swap cap on a maker pool Currently $500 per swap on WHYPE/USDC.
Withdraw pool inventory Maker pool inventory is supplied by Stoa today, not by outside depositors.
Set the referral share Currently 10% of the protocol fee.
Withdraw protocol fees Only the protocol's share; referral earnings are claimable only by the referrer. On Robinhood Chain, from 17 November 2026, nobody can: the FeeDistributor is owned by StoaBuyback, which can only turn protocol fees into burned $STOA (see $STOA).

Pool settings (how long quotes stay valid, the pool fee within its hard maximum of 0.30%, the quote check) belong to the pool guardian, which is the maker registry's owner: the timelock. Changing them waits 48 hours in public like every other owner action. The router guardian wallet has exactly one power: pausing the router.

What nobody can do

  • Upgrade the code. No contract is upgradeable. The code verified on Sourcify is the code that runs.
  • Move funds from your wallet. The router only pulls the exact amount of the swap you sign, from you, inside that swap. The app approves only that amount unless you opt in to more.
  • Hold your funds between swaps. The router finishes every swap in one transaction and checks what you received against your minimum.
  • Add a Uniswap V4 hook. Only pools whose hooks are on the allowlist fixed at deployment can be added.
  • Take referral earnings. They are claimable only by the referrer's own address.

Settings at a glance

Setting Value
New-venue waiting period 72 hours (48 h timelock + 24 h router wait)
Maker minimum bond 10 HYPE
Maker bond withdrawal delay 3 days
Delay on every admin action 48 hours (timelock)
Per-swap cap on maker pools $500
Protocol fee 2 bps
Referral share 10% of the protocol fee

All values can be read on-chain from the contracts listed in Contract addresses.