Keyarch

Keyarch Docs

Keyarch is a Uniswap v4 hook on Robinhood Chain that anchors stock token pools to the live Chainlink price, plus one margin account for lending across stocks, crypto and stablecoins.

Overview

Stock tokens on Robinhood Chain have a real reference price: the Chainlink feed for that stock. A normal AMM pool does not know that price. It only knows its own reserves, so it can drift away from the real market and stay there.

Keyarch fixes that inside Uniswap v4. Every anchored pool runs through the Keyarch hook, which reads Chainlink on every swap and prices the trade by how far the pool is from the real price. Trades that bring the pool back are cheap. Trades that push it away are expensive, and past a limit they are refused.

  • 39 anchored pools: 35 stock tokens plus WETH, cbBTC, LINK and USDe, each paired with USDG.
  • 40 Chainlink feeds, one per asset including USDG.
  • 40 lending markets behind a single margin account.

The anchor hook

The hook uses four Uniswap v4 hook points: beforeInitialize, beforeSwap, afterSwap and afterSwapReturnDelta. On each swap it runs these checks:

  1. Fair launch. beforeInitialize reverts unless the pool's starting price is within the breaker band of the Chainlink price. Every Keyarch pool opened at the oracle price.
  2. Read the gap. beforeSwap converts the pool's sqrtPriceX96 into a price and compares it with the Chainlink ratio of the two tokens. The difference is the gap, in basis points.
  3. Price the swap. The hook returns a dynamic LP fee for this swap based on the gap and on the swap direction.
  4. Protocol fee. afterSwap takes 0.05% of the swap's output side and sends it to the protocol treasury, which funds building Keyarch.

Dynamic fees

A swap either closes the gap (moves the pool toward the Chainlink price) or widens it. The fee depends on which one it is:

closing fee = max(minFee, baseFee - gap_bps x perBp)
widening fee = min(maxFee, baseFee + gap_bps x perBp)
Pool typeBaseMinMaxPer bp of gapBreakerClosed market
Stock0.30%0.05%3.00%0.01%2.00%1.00%
Crypto0.30%0.05%2.00%0.005%3.00%1.00%
Stable0.01%0.005%0.30%0.002%0.50%0.10%

Example

A stock pool sits 1.00% (100 bp) below Chainlink. Buying the stock closes the gap: 0.30% minus 100 x 0.01% is below the floor, so the fee is 0.05%. Selling widens it: 0.30% plus 1.00% gives 1.30%.

Arbitrage is paid to close gaps. The cheapest trade in any anchored pool is always the one that pulls it back to the real price.

Circuit breaker

Each pool has a breaker band (2% for stocks, 3% for crypto, 0.5% for stablecoins). Once the gap reaches the band, any swap that would widen it reverts with DriftTooHigh. Swaps that close the gap still go through at the lowest fee, so the pool can always be brought back.

Market hours

Stock feeds stop updating when the stock market is closed. If either feed in a pool is older than 30 hours, the pool switches to closed-market mode and charges the flat closed-market fee from the table above instead of trusting a stale price. A pool can also be set to halt fully while closed.

Lending: one margin account

Supply any listed asset and it earns interest and counts toward one shared borrowing limit. Borrow any other listed asset against it.

Use it on the Lend section of keyarch.finance: supply, withdraw, borrow and repay, with your borrowing power and limit used shown before you sign.

Asset typeCounts as collateralBorrow APR at kinkKinkBorrow APR at 100%
Stablecoins85%5%90% used65%
Crypto70%4%80% used84%
Stocks60%4%80% used84%
  • Health. Your debt value must stay below the sum of each supplied asset's value times its collateral factor, priced by Chainlink.
  • Liquidation. An unhealthy account can be repaid by anyone, up to 50% of a debt at a time, in exchange for collateral worth the repayment plus an 8% bonus.
  • Interest. 10% of interest goes to the protocol treasury. The rest goes to suppliers.
  • Limits. Up to 12 markets per account. Each market started with a $25,000 supply cap, raised step by step.
  • Safety switch. A guardian can pause new supply and borrowing in a market. A pause never blocks repay, withdraw or liquidation.

Pool details

For integrators: every anchored pool uses this Uniswap v4 pool key.

currency0 / currency1  the asset and USDG, sorted by address
fee                    0x800000 (dynamic fee flag)
tickSpacing            60
hooks                  0x22b657295c720E9371272cD2B10db562A36b60C4

Quote asset: USDG 0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168. Live pool prices, gaps and fees for all 39 pools are on the anchor board.

Contracts

Fresh contracts, deployed 30 September 2026. Verification on Blockscout is in progress.

$KRCH

$KRCH is the Keyarch token, launched on Pons on 30 September 2026. Holders from the earlier launch are covered by a snapshot airdrop.

Contract0x7F20FBf7d6571323181AEFC7da61D96deE90dd8E
Supply1,000,000,000
TradePons · DexScreener

Risks

  • Smart contract risk. Keyarch is new code. Bugs are possible even with tests and verification. An independent security review is on the roadmap.
  • Oracle risk. Pricing depends on Chainlink feeds. A wrong or stale feed affects fees and lending health.
  • Market risk. Collateral can lose value quickly and be liquidated.
  • Access. Stock tokens are not offered to US persons. Check the rules where you live.

Keyarch is an independent project and is not affiliated with Robinhood, Uniswap Labs or Chainlink. Nothing here is investment advice.