What it is

Agora is a market for the coins on Elysium, the chain Kinetiq runs on top of Hyperliquid. You see what trades, swap it from your own wallet, send it, and bring HYPE over from HyperEVM.

There is no Agora contract. Every swap goes from your wallet straight to the Uniswap v4 Universal Router that Uniswap deployed on Elysium. Agora takes no fee.

The market list

The list comes from the chain. Every 20 seconds our server reads the Swap events of the v4 PoolManager for the last 2,400 blocks, about four minutes. Every pool that traded in that time is a row.

A pool's key (its two coins, fee, tick spacing and hook) comes from the PoolManager's Initialize event. The price is the sqrtPriceX96 after the pool's last swap, turned into HYPE, then into dollars with Hyperliquid's own HYPE mid price.

The 24h swaps, 24h volume and liquidity come from DexScreener's index of the same pools. A v4 pool id is DexScreener's pair address, so both sides point at the same pool.

A coin that uses the ticker USDC, KNTQ, WHYPE or HYPE at an address that is not the canonical one is left out. Look-alikes of other tickers stay in, with their address next to the name.

How a quote is made

Agora does not trust a price formula for the quote. It builds the real transaction and runs it on the latest Elysium block with eth_simulateV1, without sending it. The amount that lands in the wallet is the quote.

This matters on pools with hooks. On one hooked pool, Uniswap's Quoter contract was offered 1,200 times less for a sale than the router paid for the same sale, because the hook treats the two callers differently. Running the real router call avoids that.

A buy is run from an empty address that the simulation gives HYPE. A sale is run from your own wallet, because it needs your coins, so connect first to see it.

What your wallet signs

One call: execute(commands, inputs, deadline) on the Universal Router. The deadline is 20 minutes after you press the button.

Command 0x10, V4_SWAP, holds three actions. 0x06 swaps in one pool (0x07 when the route goes through two). 0x0c pays the pool from your wallet. 0x0f sends the coin to you and reverts if it is less than your minimum.

Some coins trade against WHYPE, not HYPE. For those the router first runs 0x0b, WRAP_ETH, so you still pay plain HYPE, and the pool is paid with 0x0b SETTLE from what the router just wrapped. A sale into WHYPE ends with 0x0c, UNWRAP_WETH, so you get plain HYPE back.

The minimum is the quote less your slippage: 0.5% under means you sign for at least 99.5% of what the simulation saw. If the price moves past it, the swap reverts and you keep your HYPE, less gas.

Before your wallet opens, Agora runs the exact transaction once more from your address. If it would fail, you see why, and nothing is sent.

Selling a coin

The router takes coins through Permit2, the approval contract Uniswap uses everywhere. The first sale of a coin needs two approvals: the coin lets Permit2 move it, then Permit2 lets the router pull it for 30 days. After that a sale is one transaction.

Bridge in from HyperEVM

Elysium is an Arbitrum Orbit rollup that settles on HyperEVM. Its canonical bridge has an Inbox on HyperEVM. Calling depositEth on the Inbox with HYPE sends that HYPE to the same address on Elysium, usually in about a minute.

Agora checks the Inbox on chain before you use it: the Inbox names its Bridge, the Bridge names its Rollup, and the Rollup's chainId() returns 99901, which is Elysium.

Going back to HyperEVM is a withdrawal through the rollup and waits out the challenge period, about 5.5 days on mainnet. Agora does not do withdrawals yet.

Addresses

Elysium, chain 99901. PoolManager 0xE2e105d3F7209A9DA11f83cCf3E7398a753823F1. Universal Router 2.2.0 0x1B341FDD55d56F8E08409A2C25DDFad93Eb03C1a. Permit2 0x000000000022D473030F116dDEE9F6B43aC78BA3. These are from Uniswap's v4 deployment list.

WHYPE 0xbA876237B0F021A6c6D852d6c26E107997cC5E81, USDC 0xb47c4C8F73F009CC0C0d3f92B388d13E293F0B65, KNTQ 0xe45a355d9e9cAd2aD85F2d03E3eE3102A036acF0. These are from Kinetiq's contract list.

HyperEVM, chain 999. Inbox 0xce59f8B65ad41C9DAE4c07A0571a39824bD92cff, Bridge 0x503D572157113fAaaD4DbeD2647Bb10b949216B6, Rollup 0x508C173dFe5F737B3493195Bf785d71fA76fD217.

$AGORA

$AGORA is the coin of this market. Its contract address goes up here and on the home page once it is live.