Getting Started
This guide takes you from an empty wallet to your first filled position on Levant, an oracle-priced, vault-backed perpetual-futures DEX for crypto. You will connect a wallet to Robinhood Chain mainnet, claim gas, mint test USDG, approve it, place a trade with a slippage tolerance, and watch an off-chain keeper fill it against the shared Levant Vault.
Before you start
Two things get you trading: a wallet connected to Robinhood Chain mainnet, and some USDG to post as collateral. USDG is the 6-decimal, USD-denominated stablecoin behind every position, fee, and payout on Levant. There is no order book and no sign-up — you trade directly from your wallet against the shared Levant Vault, which is the counterparty to every trade.
- An EVM browser wallet (MetaMask or any injected wallet) pointed at Robinhood Chain mainnet — chain ID 4663.
- A little ETH for gas. On this testnet the gas token is Sepolia ETH, claimed free from the chain faucet; nobody can mint it.
- USDG collateral — minimum 10 USDG per position, maximum 500,000 USDG. On testnet the mint is open, so you can claim it in-app.
- That's it. Every user action goes to a single contract, the Levant Diamond at
0xE07098bc29Ebe50E6203606bc2eA0e1E189cb7e2.
1 · Connect a wallet
Click Connect Wallet and approve the connection. Make sure your wallet's active network is Robinhood Chain mainnet (chain ID 4663); if it isn't listed, add it and switch. You can inspect any transaction, address, or block on the explorer at https://robinhoodchain.blockscout.com. Nothing is stored server-side — the app reads state straight from the chain using your connected address.
2 · Get testnet ETH for gas
Every on-chain action — minting, approving, submitting a trade — costs gas, and nobody can mint ETH. Open the Faucet menu in the header: step 1 · Gas shows your current status as ok or none. If it reads none, follow the Claim testnet ETH link, which sends you to the chain's own faucet at https://faucet.testnet.chain.robinhood.com. Claim there, then return to Levant.
3 · Mint test USDG
In the same Faucet panel, step 2 · Collateral shows your USDG balance and a Mint 10,000 USDG button. USDG is a mock stablecoin with an open mint on this testnet, so the app hands it straight to your wallet — one click, one signature, and 10,000 USDG lands in your balance. The button is disabled until you have gas (it needs a signature). Claim again anytime you want more.
4 · Approve USDG
Before your first trade, the Diamond needs an ERC-20 allowance to pull your collateral. Whenever your allowance is below the collateral amount you entered, the panel's action button reads Approve USDG — click it once and confirm the transaction. The approval is set to the maximum amount, so this is a one-time step: once it confirms, the button switches to the trade action (Open Long / Open Short, or Limit / Stop) and you should not need to approve again.
5 · Place your first trade
Open the Trade page and pick one of the 20 markets — BTC, ETH, SOL, BNB, XRP, DOGE, ADA, TRX, AVAX, LINK, DOT, SUI, LTC, BCH, NEAR, APT, UNI, ATOM, ARB, OP — each priced against USD. Then build the order in the panel on the right:
- 1Choose Long (profit when price rises) or Short (profit when it falls).
- 2Pick an order type: Market, Limit, or Stop (see the table below).
- 3Enter Collateral in USDG — type it, use the 25/50/75/100% chips, or MAX. Minimum 10, maximum 500,000.
- 4Set Leverage with the slider or a preset (2×, 5×, 10×, 25×, 50×, or 100×). Leverage is a whole number, up to 100×.
- 5For Limit or Stop, set a Trigger Price; a Market order uses the live oracle price shown in the panel.
- 6Set your Max slippage (0.10% / 0.30% / 0.50% / 1.00%); the panel starts at 0.30%.
- 7Read the summary — Entry (est.), Spread, Position Size, Est. Liq. Price, and Open Fee — then click the action button.
- 8On submit, your collateral is escrowed on-chain by the Diamond and you'll see the toast "confirmed — keeper is executing".
How your size and cost are computed
The 0.08% (8 bps) open fee is charged on the gross notional (deposit × leverage) and deducted from your collateral; the position then opens on what remains, so your position is slightly smaller than deposit × leverage. A worked example at 10×:
Deposit = 1,000 USDG
Leverage = 10×
Open fee = 1,000 × 10 × 0.08% = 8 USDG (8 bps of gross notional)
Margin = 1,000 − 8 = 992 USDG
Position size = 992 × 10 = 9,920 USDG notional
Long liq. ≈ entry × (1 − 0.9 / 10) = entry × 0.91 (10% maintenance margin)Margin is isolated per position — the most you can lose is that margin. When a position opens, the vault locks reserved = margin × 9, which funds the capped payout: profit is limited to 900% of margin. A long's PnL is notional × (exit − entry) / entry; a short is the mirror image.
Order types
| Type | Fills when | Use it to |
|---|---|---|
| Market | At the next verified oracle price | Enter or exit right now |
| Limit | The mark crosses your trigger in your favor | Buy lower / sell higher — never worse than the trigger |
| Stop | The mark crosses your trigger | Enter on a breakout or arm a protective exit |
Setting a max-slippage tolerance
Every market and limit intent carries a mandatory max-slippage, in the range 1 to 500 bps (0.01%–5%). There is no implicit default — the panel simply starts at 0.30%. Your tolerance caps how far the spread may push your fill from the oracle mid. At fill time, if the spread would move your entry past that tolerance, the keeper's executeOpen reverts with SlippageExceeded: your intent stays pending (not consumed) and the full escrow is reclaimable with Cancel. Before you even submit a market order, the panel greys the button ("Spread exceeds slippage") if the current spread already exceeds your tolerance.
| Preset | In bps | Behaviour |
|---|---|---|
| 0.10% | 10 bps | Tightest — the fill is rejected on almost any price impact |
| 0.30% | 30 bps | Default — comfortable for ordinary size |
| 0.50% | 50 bps | Looser — for larger orders or a one-sided book |
| 1.00% | 100 bps | Widest preset — high tolerance for size or volatility |
Your entry is the oracle mid moved worse-for-you by a fully deterministic spread — buys fill above mid, sells below. The spread has three parts: a constant base, a price-impact term that grows with size, and a skew term that grows when you push the crowded side of the book:
spread(bps) = 2 (base) + priceImpact + skew
priceImpact = notional × 100 / depth1pct ; depth1pct = 10,000,000 USDG
skew = 100 × signedImbalance / oiCap ; oiCap = 2,000,000 USDG
• floored at 0 → a fill is never better than mid
• capped at 500 bps (5%)
• applied worse-for-trade: buys fill ABOVE mid, sells BELOW mid6 · Watch the keeper fill
Submitting does not fill instantly — Levant is two-step and keeper-driven. Step 1: you submit an intent (submitOpenIntent for a market order, submitLimitIntent for limit/stop) and the Diamond escrows your collateral; the keeper never holds your funds. Step 2: an off-chain keeper fills it with executeOpen at the next verified price, carrying an EIP-712 signed price report. A market order fills at that next price; a limit or stop waits until the mark actually crosses your trigger, enforced on-chain so it can never fill worse than the trigger. Your order flips from pending to filled in seconds. The keeper is non-custodial and bounded by the on-chain guards — it can only ever fill at a verified price within your slippage and the liquidatable-at-open check.
7 · Find your position
Once you're filled, everything lives in the tabs beneath the chart:
- Positions — open trades with live PnL, entry price, leverage, and liquidation price. From here you can add margin (pushes the liquidation price further away), remove margin, partial-close (25/50/75%), or set a take-profit and stop-loss that a keeper settles automatically.
- Orders — your unfilled limit and stop intents. Cancel any of them to reclaim the full escrowed collateral.
- History — closed positions and past fills, including realized PnL and fees.
Closing is symmetric to opening: closePosition / closePartial escrows the request, then the keeper runs executeClose. The 0.08% (8 bps) close fee is charged on the adjusted size (size ± realized PnL). Liquidation is permissionless — if a position falls to its 10% maintenance margin, anyone can close it with a signed price report and is paid 5% of its collateral; no adverse spread is applied on the liquidation mark, and only that isolated position is affected.
Key numbers at a glance
| Parameter | Value |
|---|---|
| Min / max collateral | 10 / 500,000 USDG per position |
| Max leverage | 100× |
| Open fee | 0.08% (8 bps) of gross notional |
| Close fee | 0.08% (8 bps) of adjusted size |
| Base spread | 0.02% (2 bps), total spread capped at 5% |
| Max slippage | mandatory, 0.01%–5% (1–500 bps) |
| Maintenance margin | 10% (liquidated at ~90% loss) |
| Liquidation fee | 5% of collateral, to the liquidator |
| Max profit | 900% of margin (reserved = margin × 9) |
| Funding rate | ~0.01%/hr base, capped ~0.1%/hr |
| Faucet mint | 10,000 USDG per claim (testnet) |
