Hydrex
Mint a cbETH/WETH liquidity position on Hydrex (Base) from any chain, in one signature.
A user on any chain opens a concentrated-liquidity position in Hydrex's cbETH/WETH pool on Base. The position NFT lands in their own wallet. They don't need ETH on Base or a bridge.
At a glance
Destination
Base
Protocol
Hydrex: cbETH/WETH pool 0xB1383DC4…6e97, position manager (NPM) 0xC63E9672…Ab86
Bridged asset
Native ETH on Base (nep141:base.omft.near)
Output
A position NFT minted to the user's wallet. The position holds WETH only
Flow / fee
bridge-in · placeholder (EVM default) · fee paid in ETH
Source
What the user does
Connects an EVM wallet.
Picks a source token and amount on any supported chain.
Chooses how to pay: send from connected wallet, or deposit to an address or QR code.
Clicks Deposit into cbETH/WETH and signs the Intents Connect message.
Approves the transfer in the wallet (or sends to the QR address).
Sees the status move to success, and the new position appear in the positions list.
There are no range inputs: the dApp picks the price range automatically.
How it works
Pick the range. The dApp reads the pool's current tick and sets
tickUpper = tick − 2andtickLower = tickUpper − 100. The range sits below the price, so the position needs WETH only, and WETH is all the bridge delivers.Preflight. The SDK resolves the user's Base intermediary and checks that no other execution is in flight.
Plan.
buildStepsruns withamount = '{MIN_AMOUNT_OUT}'(placeholder strategy), so one create call is enough.Create. The execution is created with three steps. The destination is native ETH, so the destination-token rule doesn't apply.
Sign. The user signs the payload with their EVM wallet (
erc191).Deposit. After the signature, the deposit address appears. The wallet transfer (or the user's own transfer) sends the source token there.
Bridge. NEAR Intents / 1Click delivers native ETH to the intermediary on Base.
Execute. The intermediary runs
WETH.deposit()(wraps the ETH),WETH.approve(NPM)andNPM.mint(...), withrecipient = userAddress. The service then appends its fee transfer in ETH.Settle. The SDK polls until
SUCCESS. The NFT is already in the user's wallet, and nothing stays in the intermediary.
The demo sets slippage minimums to
0inmint. Set real minimums in production.
Core code
Recipe: the three on-chain steps.
Plan and run:
Related
Recipes & fees: placeholders and the placeholder strategy
Polymarket: the same flow with a token destination
Last updated
