One margin account,
many venues.
Twenty-plus contracts across Arbitrum Sepolia and Robinhood Chain. Stylus for the math, Solidity for the integrations. Click any piece to inspect it, then watch a position flow through the whole system.
Every piece, and what it does.
The router dispatches a signed transaction to the right place: collateral lives in Coffer, margin is priced by Plinth, each venue has its own adapter, and Vigil + Lantern keep the system honest. Hover or tap a node.
A hedged position, step by step.
Press play. Follow a deposit become collateral, two offsetting positions net their risk, and the margin requirement fall live — the entire reason Atrium exists, animated through the real contract path.
Press Play the flow to trace a position from wallet to venue and back — with the margin saving computed live by Plinth's SPAN engine.
Real addresses, verified on-chain.
Every contract below is a live, verified deployment — Solidity on Sourcify, Stylus via cargo stylus verify. Click any address to copy it.
Solidity verified on Arbiscan + Sourcify · Stylus verified via cargo stylus verify. Click any address to copy it.
Built to fail loudly, not silently.
Six defensive choices, each addressing a known DeFi blowup vector.
Timelock + multisig
Every parameter setter is timelock-gated (48h). Emergency pause is multisig-only with no delay — it can pause but cannot upgrade.
Dual-oracle reads
Every Plinth price takes the median of Chainlink and Pyth, with 50 bps tolerance and a 60-second freshness window. Stale or off → revert.
Reentrancy guards
Every state-changing Stylus function carries an is_updating flag, entered before any external call.
Per-block notional cap
Coffer caps how much a single adapter can pull per block — a compromised adapter drains at most ~1% of TVL per block.
AA emergency lever
The Postern Kill Switch routes through Sigil.revoke_all_on_behalf_of, so the revoke counts against the user, not the kill-switch.
No silent fallbacks
Coffer and Plinth refuse to operate — revert loudly — when USDC state is unreadable, rather than assuming a safe default.
See it running.
The whole stack is live on testnet right now. Faucet test funds, post collateral, and watch your buying-power number move.