A deep dive into the protocol architecture: how real-world assets are tokenized, priced by oracles, swapped at a 1:1 peg via Uniswap V4 Custom Accounting, and backed by permissionless liquidity nodes.
Dobdex is the final step in the Dobprotocol pipeline. Three products work together to bring real-world assets on-chain.
Asset owners register their real-world assets. Dobprotocol's AI agents validate them, assess their value, and create oracle price feeds.
Validated assets are tokenized into ERC-20 participation tokens. Each token represents fractional ownership of the underlying real-world asset.
Dobprotocol lists the token on the DEX. Users deposit RWA tokens, mint dobRWA, and swap at a 1:1 oracle peg with zero slippage. LPs provide exit liquidity.
Four smart contracts work together to create a trustless RWA liquidity layer on top of Uniswap V4.
Users holding tokenized real-world assets (DCT, SFT, RET, PWG)
LPs depositing USDC to back assets and earn discounted dobRWA
Accepts RWA deposits, queries oracle, mints dobRWA at oracle price
NoOp custom accounting: executes dobRWA/USDC swaps at exact 1:1 peg
Permissionless LP system with conditional fills and FIFO ordering
AI validator agents submit USD prices for each RWA. Controls liquidation mode, penalty rates, and per-asset & global caps.
Each contract has a single responsibility, composed together for the full protocol.
amount * priceUsd / 1e18 dobRWA tokens. Minted dobRWA represents a unified, fungible claim on the underlying basket of real-world assets.
beforeSwap and executes it off-AMM at an exact 1:1 oracle-pegged rate. Uses the NoOp pattern: settles output tokens and mints ERC6909 claims for input tokens, creating zero-net deltas. In liquidation mode, applies a penalty discount and routes fills through the LP Registry.
queryAndFill which iterates backers in FIFO order, checks conditions, and fills willing LPs. LPs receive discounted dobRWA (buy at penalty price), claimable via the hook's ERC6909 burn mechanism.
Assets don't appear on their own. Dobprotocol's AI validator agents manage the full lifecycle: approval, pricing, and liquidation triggers.
Dobprotocol's AI validator agents evaluate the real-world asset and publish its USD price on-chain. Only Dobprotocol can set and update prices — this is not self-service.
Dobprotocol adds the RWA token to the DobRwaVault's approved list. Only approved tokens can be deposited by users.
With price set and token approved, users can deposit the RWA token. The vault reads the oracle price and mints dobRWA proportional to the asset's valuation. Dobprotocol continuously updates the price as the real-world asset's value changes.
If the underlying RWA becomes distressed, Dobprotocol enables liquidation mode with a penalty rate and cap. This triggers the liquidation engine for that asset, allowing distressed sellers to exit at a discount.
Dobdex is a secondary sale liquidity layer. Asset holders sell their RWA positions for USDC. There is no buy-side — purchasing RWA tokens happens on Token Studio.
Asset is healthy. User sells dobRWA and receives USDC at exact 1:1 rate. USDC comes from the hook's own reserves (seeded by the protocol).
Asset is distressed. User sells dobRWA at a discount (e.g., -20%). USDC comes from Liquidity Node LPs who earn discounted dobRWA in return.
A user holding a tokenized real-world asset (e.g., DCT representing debt certificates) deposits it into DobRwaVault. The vault queries the DobValidatorRegistry for the current USD price and mints dobRWA proportional to the asset's oracle valuation.
The user initiates a standard Uniswap V4 swap on the dobRWA/USDC pool. Because DobPegHook is attached with the beforeSwapReturnDelta flag, the hook intercepts the swap before the AMM executes.
The hook bypasses the AMM entirely. It settles USDC from its own reserves to the PoolManager (creating a +amountOut delta that cancels the hook's -amountOut obligation) and mints ERC6909 claims for the incoming dobRWA (creating a -amountIn delta that cancels the +amountIn obligation). Net deltas = zero. The swap completes at exactly 1:1.
The PoolManager adjusts the swapper's deltas (swapDelta - hookDelta), so the user pays dobRWA and receives exactly the same amount in USDC. The hook retains the dobRWA as ERC6909 claims in the PoolManager. No Liquidity Nodes are involved — the USDC comes entirely from the protocol's seeded reserves.
When Dobprotocol flags an asset as distressed, liquidation mode activates. This is the only scenario where Liquidity Node LPs are involved — they provide the USDC and earn discounted dobRWA.
penaltyBps = 2000. This discount is applied to the exit price, reflecting the real-world risk of holding that asset.minPenaltyBps per asset — the minimum discount they require to participate. This is their risk appetite: a higher minimum means the LP only fills when the assessed risk (and therefore the discount) is large enough to justify the exposure.Full value swap with zero slippage — no liquidation active
Dobprotocol's validators assessed a 20% risk probability — exit price discounted accordingly
LPs who set minPenaltyBps ≤ 2000 are eligible to fill this liquidation
Anyone can become a liquidity provider. Set your own conditions, back specific assets, and earn from liquidation fills.
Deposit USDC to register as an LP. Minimum deposit of 100 USDC required.
Choose which RWA assets to back. Set your conditions: min oracle price, min penalty, max exposure.
When liquidations occur, the hook iterates backers in FIFO order. If your conditions match, your USDC is used.
Claim discounted dobRWA earned from fills. The hook burns ERC6909 claims and transfers the tokens to you.
The reserve ensures liquidity is available when it's needed most. LPs who backed an asset are committed during distress.
The protocol is designed so that the asset owner bootstraps liquidity early on, and external LPs gradually take over as trust in the system grows.
Every correct risk assessment compounds credibility. Every fair liquidation brings more LP capital.
Multiple layers of protection against flash-loan attacks, front-running, and excessive liquidation exposure.
LPs must have been backing an asset for a minimum duration before their position is eligible for fills during liquidation events.
LP USDC withdrawals require a time-delayed request. Prevents LPs from front-running liquidation events by pulling liquidity.
Each RWA asset has a maximum liquidation cap. Prevents excessive liquidation pressure on any single asset type.
A protocol-wide cap limits the total amount of dobRWA that can be liquidated across all assets simultaneously.
Maximum number of LPs per asset prevents unbounded gas costs during on-chain FIFO iteration in liquidation fills.
The vault rejects deposits if the oracle price is stale beyond the configured maximum delay, preventing stale-price exploits.
When an LP exits a distressed asset, 33% of their unused allocation is held as a reserve. This ensures liquidity is always available during crisis. The reserve unlocks when the asset returns to healthy or after 7 days.