Converge

Fixed-price Uniswap v4 hook for compliant, atomic onchain liquidity for RWAs.

Converge

Created At

ETHGlobal Cannes 2026

Project Description

Problem: RWAs are liquid offchain, but currently illiquid onchain. Today, issuer mint/redeem rails can move value 1:1 between offchain and onchain markets, but those flows are usually KYC-gated and take time to settle. That creates a mismatch: DeFi systems like lending markets, rebalancing vaults, flash loans, MEV strategies, and liquidations need atomic, permissionless onchain liquidity; this is aligned with RWA issuers who want deeper DeFi integration to drive mint demand and grow AUM.

Traditional onchain liquidity is a poor fit for RWAs. Incentivizing deep liquidity is expensive, xyk AMMs introduce unnecessary slippage for assets that already have a known fair value, and LPs are exposed to toxic MEV (IL, LVR, etc.). The result is that RWAs may be liquid via redemptions in theory, but remain difficult to use as composable onchain assets in practice.

Solution Converge: Where offchain markets achieve onchain liquidity

Converge is a fixed-price Uniswap v4 hook that brings atomic onchain liquidity to RWAs like (e.g., ACRED, BUIDL, USDY, BTC/ETH ETF) against their mint/redeem asset (e.g., USDC, BTC, ETH) without relying on traditional xyk AMMs. Built as a Uniswap v4 hook, Converge plugs directly into Uniswap's routing and aggregator network.

Converge replaces the bonding curve with oracle-priced swap logic so users can trade an RWA token against its redeem asset at a fixed price. LP capital is not standard Uniswap xyk liquidity. The hook manages deposits directly and uses Uniswap v4 mainly for routing, distribution, flashloans, and custom swap execution.

The design supports flexible compliance modes, open access (just pool is KYC’d mint/redeemer), LP-gated (pool and LP KYC), swapper gated (pool, LP, swapper KYC).

High Level Architecture:

  1. Pool: Atomic, onchain liquidity pool, oracle-rate based swap.

    • Liquidity in pool can be allocated to atomically-redeemable yield venues (eg. Aave lending) to earn extra yield for LPs.
  2. KYC’d Rebalancer: Mint/redeem of RWA with issuer to manage target reserves

    • Permissionless rebalance() function to manage Pool’s liquid reserves by routing mint/redeem flow through the issuer
  3. Liquidity Waterfall: If the pool has insufficient liquid reserves to fill a swap, or service an LP withdraw Converge follows a liquidity waterfall designed to preserve fixed-price execution instead of introducing slippage.

a. For swapper:

  • Partial fill: Fill the portion that can be settled instantly at the oracle price and isolates the remainder instead of failing the entire order.
  • Recall yield: Hook pulls idle reserves back from external yield vaults so previously deployed capital can be used for settlement.
  • Clearing house: Clearing-house sidecar like Sky or Infinifi (they’re doing this business) fronts the missing asset instantly and settles against the RWA through the issuer rail over time, taking a spread in exchange for duration risk.
  • Revert or Async Fulfillment: The atomic swap reverts rather than executing at a worse price. The user can choose to deposit their asset entering an async redemption queue instead of retrying later.

b. For LP withdrawal:

  • Use liquid pool reserves.
  • Recall capital from yield vaults.
  • Revert instant withdrawal
  • LP automatically enters async exit flow and claims once settlement completes.

Stakeholder Impacts For the swapper: Instant 1:1 swaps at the oracle price, atomic execution, and no KYC requirement in the open-access mode = best execution.

For the LP: The best onchain RWA yield comes from a) high swap volume driven by best execution, and b) rehypothecating LP capital into lending protocols for additional yield. LPs are also protected if an RWA becomes toxic, since that risk should be reflected in the oracle price.

For the asset issuer: Thick atomic liquidity for RWAs enables proper integration into legacy DeFi, where liquidators and flash loans require instant swaps. That drives minting demand and TVL, improves collateral usability, and generates revenue for the issuer.

For lenders on money markets: More borrowing demand increases yields for lenders on money markets, expanding onchain GDP.

BTC/ETH holders: In kind contribution for US ETFs (BTC/ETH), enables BTC ETF-BTC pools, create completely novel onchain yield source for assets like BTC and ETH

Flywheel

  1. Fixed-price execution gives swappers the best price, so volume naturally routes to Converge.
  2. That volume, combined with rehypothecating idle LP capital into yield venues, gives LPs the highest yield and creates the deepest onchain liquidity for RWAs.
  3. The best atomic liquidity makes RWAs more usable across DeFi, which drives more adoption and minting, leading to more swap volume, more LP yield, and even thicker pool liquidity.

Fees Converge uses dynamic congestion fees instead of slippage-heavy AMM pricing. When reserves are healthy, fees stay very low; as liquidity becomes constrained, fees rise to protect LPs and ration scarce liquidity while still preserving fixed-price execution.

See How It Works for more on Chainlink and Arc integrations.

How it's Made

How We Built It We built Converge as a monorepo with Solidity/Foundry for the protocol and Next.js for the frontend. The core of the system is a Uniswap v4 hook, ConvergeHook, which intercepts swaps in beforeSwap and replaces the normal xyk bonding curve with oracle-priced fixed-rate execution. Instead of letting price move with pool depth, the hook uses an external RWA oracle, applies a congestion-based fee, and returns a custom BeforeSwapDelta so the pool behaves like a fixed-price venue inside Uniswap’s routing network. Normal v4 LP positions are blocked and liquidity is instead through direct hook deposits with internal share accounting.

Protocol Architecture The protocol is modular by design. ConvergeHook handles swaps, LP deposits and withdrawals, async swap requests, yield deployment, clearing-house fallback, issuer settlement tracking, and async LP exits. RegistryKYCPolicy handles compliance, including EIP-712 signed swap authorizations for stricter modes. ConvergeQuoter provides read-only NAV, fee, quote, and capacity views. ThresholdRebalanceStrategy computes reserve targets using parameters like rwaBufferBips, redeemBufferBips, minRwaReserve, and minRedeemReserve, so the pool keeps enough liquidity on hand while still deploying excess capital efficiently.

A key implementation detail is the dual-reserve model. The hook tracks both ERC20 balances held directly in the contract and ERC6909 claims sitting inside Uniswap’s PoolManager. Swap inputs accumulate as claims, while outputs are paid from liquid ERC20 reserves. When needed, the hook syncs claims back into reserves, recalls capital from a yield vault, or escalates to a clearing-house sidecar to preserve fixed-price execution. If issuer settlement is still pending, users can fall back to async settlement flows rather than forcing slippage.

Technologies and Partner Integrations Uniswap v4 was the biggest unlock because it gave us routing, aggregator discoverability, multihop composability, and flash-loan-compatible infrastructure without needing to bootstrap a standalone DEX. We also designed around ERC4626-style yield vaults so idle redeem-side reserves can plug into yield venues, and around generic issuer-adapter and clearing-house interfaces so settlement rails can be swapped depending on the asset issuer or liquidity partner. Chainlink CRE Integration Chainlink CRE as Oracle Layer

  • Built a Chainlink Runtime Environment workflow for Apollo Diversified Credit Securitize Fund (ACRED)
  • Replaces a mock oracle with a live issuer-backed NAV feed for Converge swaps
  • Deployed on Base Sepolia and wired directly into the hook’s oracle interface

CRE Workflow

  • Pulls ACRED NAV from RedStone’s API
  • Multiple Chainlink DON nodes independently fetch and medianize the result
  • Signed report is sent through the KeystoneForwarder to an onchain oracle consumer
  • Consumer validates trusted sender, rate bounds, and max deviation per update
  • Exposes rate() and rateWithTimestamp() via the same IRWAOracle interface used by Converge

Why This Matters for Converge

  • Fixed-price RWA swaps need a reliable real-world reference price
  • CRE gives us decentralized, tamper-resistant, serverless oracle updates
  • Deviation thresholds reduce unnecessary writes and save gas
  • Because the consumer matches IRWAOracle, it can be swapped into any Converge pool with a single setOracle() call

Chainlink Tools Used

  • Chainlink Runtime Environment (CRE) — offchain workflow execution
  • Chainlink DON — decentralized fetch + median consensus
  • KeystoneForwarder — trusted delivery of signed reports onchain
  • CRE Oracle Consumer — onchain storage and validation of NAV updates

In future Chainlink CRE can be used to run a keeper that calls rebalance() in accordance to results from agentic simulation below.

Circle & Arc Integration

Arc Testnet as Primary Chain

  • Deployed full Uniswap v4 stack on Arc (first RWA hook on Arc)
  • USDC is Arc's native gas token — users pay fees in USDC, no ETH needed
  • Second pool uses Arc's native USDC precompile (0x3600...) for real settlement

Circle CCTP V2 — Cross-Chain USDC Bridge

  • Integrated TokenMessengerV2.depositForBurn() directly — no wrapper contracts needed
  • Bidirectional bridging: Arc <> Base Sepolia
  • Native USDC burn-and-mint — no wrapped tokens, no bridge risk, no liquidity pools
  • Users bridge USDC to Arc, then use it in Converge pools for RWA swaps

Why This Matters for USDC

  • Converge creates thick atomic liquidity for RWAs settled in USDC
  • Every swap = USDC volume. Every LP deposit = USDC TVL. Every clearing house settlement = USDC flow
  • CCTP enables cross-chain USDC aggregation — liquidity from any chain can flow into Converge pools on Arc
  • The more RWAs onboarded, the more USDC demand (minting, settlement, yield deployment)

Circle Tools Used

  1. Arc Testnet — primary deployment chain, USDC-native gas
  2. CCTP V2 — cross-chain USDC transfers with depositForBurn (7-param V2 API)
  3. Native USDC Pool — pool using Arc's real USDC precompile for authentic settlement
  4. Circle Faucet — directed users to faucet.circle.com for testnet USDC

Appendix: Simulations

Simulation Results

  1. Rebalancing: Target rebalancing parameters based on agentic simulation to maximize LP yield and swap execution:
  • Keep 35% of the pool’s total value immediately liquid
  • Split that liquid inventory roughly 50/50 between Mint Asset and RWA
  • Only rebalance when either side drifts more than about 15% away from its target
  1. LP Yield: Simulator to test how an oracle-priced RWA/USDC pool performs under different liquidity conditions.

Design: The model includes adaptive liquidity buffers, sequential trade execution so swap size matters, a 4% baseline lending yield on deployed USDC, clearing-house usage for large redeem-side shortfalls, and LP withdrawal stress. We tested scenarios across $1.5M-$5.0M pool TVL, 10-35 bps swap fees, roughly 3.5%-17.0% daily turnover, and trade sizes ranging from 0.14% to 5.5% of TVL

  • In normal conditions, LPs earned about 4%-12% annualized with near-perfect service and full withdrawals.
  • Base case: at $2.0M TVL and 10 bps, LP return was 6.87%, driven by both fees and 4% USDC lending yield.
  • Higher fees or stronger buy flow pushed LP returns up to about 11.5%-12% without hurting service much.
  • In larger, lower-turnover pools, lending yield mattered more than fees.
  • When sell pressure increased, the optimal pool mix shifted heavily toward USDC rather than staying 50/50.
  • Extreme stress produced high headline APR, but poor service and heavy clearing-house dependence, so it is not a good target state.
background image mobile

Join the mailing list

Get the latest news and updates

Converge | ETHGlobal