Web3 rails for instant stock trading. Powered by Yellow state channels.


Prize Pool
Median is a synthetic stock trading platform built on Yellow Network state channels. Users can trade spot and perpetual positions on real stocks like AAPL, TSLA, and NVDA — all settling in milliseconds with zero gas fees.
Users deposit USDC from any supported chain (Base, Arbitrum, Optimism). Yellow Network aggregates these deposits into a unified cross-chain balance. From there, users can:
Buy stocks with USDC — Purchase synthetic stock positions at real-time market prices Swap stocks directly — Trade 2 AAPL for TSLA without converting to USDC first. Everything is internally denominated in USDC, so stock-to-stock swaps happen instantly Trade perpetuals with leverage — Go long or short on stocks with up to 10x leverage, no expiry, cash-settled in USDC
Arc as the liquidity backbone: We use Circle's Arc and Gateway as our underlying liquidity layer. When a user withdraws, if the platform doesn't have sufficient liquidity on their chosen chain, Gateway automatically sources and routes USDC from other chains — the user never notices. They just receive their funds instantly on whichever chain they selected.
Key features:
Instant settlement (<100ms) via Yellow state channels Zero gas fees during trading (gas only on deposit/withdraw) Multi-chain deposits and withdrawals Unified balance across all chains Non-custodial — users can withdraw anytime Stock-to-stock swaps
We're bringing TradFi stocks to Web3 rails — with the speed of a CEX and the custody of a DEX.
Median is built on four core technologies: Yellow Network for trading infrastructure, Circle Arc + Gateway as the liquidity hub, ENS for identity
All trading happens inside Yellow state channels. When a user deposits USDC, it enters a state channel where trades execute off-chain via signed state updates. No gas fees. No block confirmations. Settlement in <100ms. Yellow's ClearSync aggregates deposits from multiple chains (Base, Arbitrum, Optimism) into a single unified balance — users see one number regardless of where they deposited.
Each trade opens an App Session. User submits an order, our Resolver fetches the real-time quote, submits a new state with the price, and settlement happens within the session. The state channel pattern lets us match trades instantly without touching the blockchain until withdrawal. Circle Arc + Gateway — The Liquidity Hub
This is where it gets interesting. We use Arc and Gateway as our cross-chain liquidity backbone. When a user withdraws, they pick any destination chain. If our platform has sufficient USDC on that chain, we pay directly. But if we're short on liquidity (say, heavy withdrawals on Base but our funds are on Arbitrum), Gateway kicks in automatically. It sources USDC from chains where we have surplus, burns from our unified Gateway balance, and mints on the user's destination chain
ENS - JustaName On onboarding, each user mints a subname via JustaName (e.g., alice.median.eth). All platform contracts are also ENS-named (deposit.median.eth, trading.median.eth). No hex addresses anywhere in the UX.
Stock-to-stock swaps. Everything is internally denominated in USDC. When you swap 2 AAPL for TSLA, we're not actually swapping tokens — we're calculating USDC value of 2 AAPL at current price, then calculating how much TSLA that buys, and updating your state balances. All in one state update. No AMM. No routing. Just math. Stack:
State Channels: Yellow Network + ClearSync Liquidity: Circle Arc + Gateway Identity: ENS + JustaName

