The complete protocol architecture: from real-world asset tokenization to LP-priced secondary sales, permissionless Liquidity Nodes, shared Pooled LNs, and AI-driven risk management. The oracle prices the asset; Liquidity Nodes price the exit. Seven smart contracts, one unified pipeline.
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 dUSDC at oracle price, and sell through Liquidity Nodes who provide exit capital. Sellers pay LP discount + swap fee + protocol fee; LPs earn discounted RWA tokens.
Five 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 RWA tokens
Accepts RWA deposits, queries oracle, mints dobRWA at oracle price
NoOp custom accounting: routes sells to Liquidity Nodes who price the exit. Bootstrap reserves as fallback.
Permissionless LP system with conditional fills and FIFO ordering
Shared USDC vault — co-invest as a single LP position in the registry
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 using the NoOp pattern: settles output tokens and mints ERC6909 claims for input tokens, creating zero-net deltas. In production, LP-Only mode is the default — all sells are routed to Liquidity Nodes who provide USDC at a discount they set. LPs earn discounted RWA tokens; sellers pay the discount for instant USDC exit. Hook reserves at 1:1 serve as bootstrap/fallback only. In liquidation mode, Dobprotocol sets a penalty rate and LPs fill at that mandated discount.
queryAndFill) when an asset is distressed at the protocol-mandated penalty rate, and Sell fallback (queryAndFillAtMarket) when the hook lacks USDC for a normal sell — LPs fill at their own discount, no distress required. LPs receive the underlying RWA tokens at a discount, claimable via the vault. Tokens in LP-Only mode skip protocol reserves entirely — sells only succeed if LPs fill them. LPs can also resell claimed RWA tokens at oracle price via the on-chain Resale Market.
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 from Liquidity Nodes who charge a discount (minPenaltyBps) for providing exit capital. Sellers pay this discount for instant USDC; LPs earn discounted RWA tokens. In production, LP-Only mode is the default — all sells go through LPs. Hook reserves at 1:1 serve as bootstrap/fallback only.
Asset is distressed. User sells dobRWA at a discount (e.g., -20%). USDC comes from Liquidity Node LPs who earn the underlying RWA tokens at a discount — yield-bearing assets they can hold for dividends.
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 using the NoOp pattern. In LP-Only mode (the production default), the hook routes the sell to Liquidity Nodes via queryAndFillAtMarket. LPs provide USDC at a discount they set (minPenaltyBps), and receive the seller's RWA tokens at that discounted price. The hook mints ERC6909 claims for the incoming dobRWA and settles the LP-provided USDC to the PoolManager. Net deltas = zero. If LP-Only mode is off, hook reserves can fill at 1:1 as a fallback.
The PoolManager adjusts the swapper's deltas (swapDelta - hookDelta), so the seller pays dobRWA and receives USDC minus the LP discount. Liquidity Nodes receive the RWA tokens at the discounted price — yield-bearing assets they can hold for dividends or resell on the RWA Resale Market. The hook retains the dobRWA as ERC6909 claims in the PoolManager.
When Dobprotocol flags an asset as distressed, liquidation mode activates. Liquidity Node LPs provide the USDC and receive the underlying RWA tokens at a discount — yield-bearing assets that pay dividends from the real-world collateral.
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.Seller pays the LP discount for instant USDC — 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 the underlying RWA tokens at a discount. The hook converts your dobRWA allocation to actual yield-bearing RWA tokens via the vault.
The reserve ensures liquidity is available when it's needed most. LPs who backed an asset are committed during distress.
A shared vault where anyone deposits USDC to co-invest as a single LP position. Managed by Dobprotocol, powered by the crowd.
The Pooled LN is a DobPooledLN contract that holds USDC from multiple depositors. It registers as a single LP in DobLPRegistry. The operator (Dobprotocol) decides which RWA assets to back and sets the discount rates — depositors simply provide capital and earn proportional returns.
When depositors add USDC they receive shares proportional to their contribution. When LP fills occur and RWA tokens are received, they are distributed proportionally to all shareholders. RWA tokens generate APR via the Token Studio's DistributionPool.
Deposit USDC, receive shares. Withdraw anytime based on your share of the pool.
Operator updates discount rates based on on-chain or off-chain data. No depositor action needed.
Multiple DobPooledLN instances can exist with different risk profiles, asset preferences, and discount strategies.
LPs and token holders can list their RWA tokens for sale at oracle price. Buyers pay USDC directly to sellers — no intermediary.
Deposit RWA tokens into the hook. Listed at current oracle price. Max 50 sellers per token.
Pay USDC at oracle price + swap fee. Sellers are filled FIFO. USDC goes directly to sellers.
Per-token toggle. When enabled, sells skip protocol reserves — only LPs can fill. Protects dUSDC backing from riskier assets.
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.
All core contracts (Hook, Vault, LPRegistry, ValidatorRegistry) implement pause/unpause. Admin can halt all operations instantly in case of a security incident.
The maxPriceChangeBps parameter limits how much the oracle price can change in a single update, preventing drastic manipulation or erroneous price feeds.
Sellers can encode a minAmountOut in the swap hookData. The hook reverts the transaction if the output falls below the seller's specified minimum.
The hook admin role is transferable. Enables secure handoff of protocol governance without redeployment.