Documentation

Contracts & Addresses

Levant is a single EIP-2535 Diamond on Robinhood Chain mainnet. Every trade, position change, and liquidation goes to one address; the vault, the USDG collateral token, and the individual facets sit behind or beside it. This page is the canonical address reference — verify against it before you approve a token or sign a transaction.

Network

Levant is deployed only on Robinhood Chain mainnet — chainId 4663, with ETH (Sepolia ETH) as the gas token because the parent chain is Ethereum Sepolia. There is no mainnet deployment. Levant's token, $LVNT, launched on Virtuals and is not required to trade. The explorer is a Blockscout instance. Always configure more than one RPC: at least one ISP is known to hijack the primary RPC hostname, so keep the mirror as a fallback.

ParameterValue
ChainRobinhood Chain mainnet
chainId4663
Gas tokenETH (Sepolia ETH; parent chain is Ethereum Sepolia)
Explorerhttps://robinhoodchain.blockscout.com (Blockscout)
RPChttps://rpc.testnet.chain.robinhood.com/rpc
RPC mirrorhttps://4663.rpc.thirdweb.com
Gas faucethttps://faucet.testnet.chain.robinhood.com

One entrypoint: the Diamond

Levant is built as an EIP-2535 Diamond — one proxy address that routes each function call to a facet that implements it. For everything a trader does — submitting an intent, executing a fill, closing, adding or removing margin, and liquidations — the address you interact with is the Diamond. The facets are code, not places you send funds or transactions; they hold the logic, while all state lives in the Diamond's append-only storage.

In practice two contracts take your transactions directly: the Diamond for all trading and position actions, and the LevantVault (a separate ERC-4626 contract) for liquidity — LPs deposit and withdraw against the vault. USDG is the ERC-20 you approve to whichever of the two you are using. You never transact with a facet address.

Warning
These are unaudited testnet contracts. USDG has no monetary value, and the addresses on this page are the only legitimate Levant deployment. Never send real assets, and never approve or transact with an address that is not listed here — check the last four characters against this list every single time. If an address does not match, stop.

Deployed addresses

The full set of live contracts and accounts, all on chainId 4663. The Diamond was deployed at block 88997025. The same Diamond serves all 20 crypto markets — each quoted against USD (BTC, ETH, SOL, and 17 more) — which share one risk config today: 100x max leverage, 0.08% open and close fees, a 0.02% base spread, and 10–500,000 USDG per-position collateral bounds. The keeper and owner are externally owned accounts (EOAs), not contracts, so the explorer shows them as plain addresses with no verified code.

NameAddressRole
Diamond (EIP-2535 proxy)0xE07098bc29Ebe50E6203606bc2eA0e1E189cb7e2The single entrypoint. All trading, intents, fills, closes, margin, funding and liquidation calls go here. Deployed at block 88997025.
LevantVault (ERC-4626)0xC90D98cFeE95F481aDE30d95AD88f01B6C65ad5CThe liquidity vault. LPs deposit USDG here and receive lvUSDG shares; it is the counterparty to every trade and locks reserved liquidity for open positions.
USDG (MockStable ERC-20)0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168Testnet collateral. 6 decimals, open mint (anyone can mint). No monetary value; not a real stablecoin.
DiamondCutFacet0xC330b9C4Ad5Af1329d8b2652A8376780900fc09AUpgrade logic — diamondCut adds, replaces, or removes facets. Owner-only.
DiamondLoupeFacet0xa2D8745fCD86Df2A2e40D24d54c379D9F87e0E8cIntrospection — enumerates facets and the selectors each one serves.
TradingFacet0xf56dad949472A67b222462C6B0Db128DB4Feb06bThe engine: submit/execute intents, close and partial-close, add/remove margin, funding, and liquidations.
SignedPriceOracleFacet0x7BCa681C11ac4dc822095457662dCcD3004349F5Verifies EIP-712 m-of-n signed price reports (max price age 60s). 1-of-1 signer today.
OwnershipFacet0xe50A7E73e73Cc96b976CfBfA8b93770688019Af0ERC-173 two-step ownership (transfer, accept, cancel).
Keeper / price signer0x5040b3387F450Af658f8E7C93ca3F0D44b07E7e4Off-chain service (EOA). Fills intents, closes triggers, liquidates, and signs prices. Non-custodial — it never holds trader funds.
Owner / deployer0x520F136b72Cc7A24FDB1C073189704442e9945F6The Diamond owner (EOA). Can diamondCut facets, add price signers, and rewrite market risk parameters. A hot key today.

Open any of these on the explorer by appending the address to the Blockscout address path. The pattern is the same for every contract and account:

https://robinhoodchain.blockscout.com/address/<addr>

# e.g. the Diamond:
https://robinhoodchain.blockscout.com/address/0xE07098bc29Ebe50E6203606bc2eA0e1E189cb7e2

Facets: code behind the Diamond

Each facet is its own verified contract on the explorer, with source you can read — but a facet holds no state and no funds. Every call to a facet's functions is served through the Diamond, against the Diamond's storage. That is why you never send a transaction to a facet address directly. Facets are swapped with diamondCut, which preserves the vault, LP shares, and every open position because the storage layout is append-only.

  • DiamondCutFacet — the upgrade path. diamondCut adds, replaces, or removes function selectors; owner-only.
  • DiamondLoupeFacet — introspection required by EIP-2535: facets(), facetAddresses(), facetFunctionSelectors(address), and facetAddress(bytes4).
  • TradingFacet — the perp engine: submitOpenIntent / submitLimitIntent, executeOpen, closePosition / closePartial / executeClose, margin changes, funding, and permissionless liquidation.
  • SignedPriceOracleFacet — verifies EIP-712 signed price reports whose domain binds this chainId and the Diamond address; rejects reports older than the 60s max price age or dated in the future. 1-of-1 signer (the keeper) today; m-of-n is the roadmap.
  • OwnershipFacet — ERC-173 two-step ownership: owner(), pendingOwner(), transferOwnership, acceptOwnership, cancelOwnershipTransfer. There is deliberately no renounceOwnership, so the diamond can always be upgraded.

USDG — the testnet collateral

USDG is a MockStable ERC-20 with 6 decimals. Its mint is intentionally unguarded on testnet so anyone can hand themselves collateral to trade with — that is the whole point of the deployment. It is not a real stablecoin, it is not pegged to anything, it holds no value, and it does not exist on any mainnet. To mint yourself test funds, call mint(address to, uint256 amount) (remember the 6 decimals — 1 USDG is 1,000,000 base units):

# Mint 1,000 test USDG to yourself (1,000 x 10^6 = 1,000,000,000 base units):
cast send 0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168 \
  "mint(address,uint256)" <your-address> 1000000000 \
  --rpc-url https://rpc.testnet.chain.robinhood.com/rpc --private-key 0x...
Note
In the app you never touch cast — the faucet button mints USDG for you. But you still need ETH for gas first: nobody can mint ETH, so claim it from the chain's faucet. Per-position limits are 10 USDG minimum and 500,000 USDG maximum collateral, at up to 100x leverage.

The vault and lvUSDG

The LevantVault is an ERC-4626 vault over USDG whose share token is lvUSDG. LPs deposit USDG into the vault address and receive lvUSDG; the vault is the counterparty to every trade, so it collects all fees and trader losses and pays trader profits. For each open position it locks margin x 9 as reserved liquidity to guarantee the capped max-profit payout; LPs can withdraw only the unlocked amount. Note that the vault takes deposits and withdrawals directly, but during a trade it is the Diamond that moves USDG in and out of the vault — a trader never calls the vault to open or close a position.

Reading the contracts on Blockscout

Every contract here is source-verified, so you can inspect and read it directly from the explorer without a wallet.

  1. 1Open the address on the explorer (append it to the /address/ path shown above) and select the Contract tab. Verified source is displayed.
  2. 2Use Read Contract to call view functions — for example the Diamond's owner(), or the loupe's facets() — with no wallet and no gas.
  3. 3Use Write Contract and connect a wallet to send a transaction. In normal use the Levant app builds these for you; the raw tab is for verification and recovery.
  4. 4To inspect a single facet, open that facet's own address page. You will see its source, but it holds no state or funds — every call is served through the Diamond.
Tip
Because the Diamond serves functions that live in its facets, an explorer that does not resolve EIP-2535 may show only the loupe and cut functions on the Diamond's own Contract tab. Use the loupe — facets() and facetAddress(selector) — to see the full routing, or load a facet's ABI against the Diamond address to call its functions.

Verify it yourself

Do not trust this page — confirm it against the chain. These read-only calls prove the deployment is what it claims: the Diamond's owner is the deployer, the loupe lists the five facets, and the vault reports live assets.

RPC=https://rpc.testnet.chain.robinhood.com/rpc

# Diamond owner (ERC-173) — should equal the owner/deployer address:
cast call 0xE07098bc29Ebe50E6203606bc2eA0e1E189cb7e2 "owner()(address)" --rpc-url $RPC

# Every facet address behind the Diamond (EIP-2535 loupe):
cast call 0xE07098bc29Ebe50E6203606bc2eA0e1E189cb7e2 "facetAddresses()(address[])" --rpc-url $RPC

# Vault assets under management, in USDG (6 decimals):
cast call 0xC90D98cFeE95F481aDE30d95AD88f01B6C65ad5C "totalAssets()(uint256)" --rpc-url $RPC

Honesty & caveats

  • Unaudited. The contracts have not been audited. Bugs, economic flaws, or vulnerabilities may exist.
  • Testnet only. Every token here — USDG, lvUSDG, and the ETH used for gas — has no monetary value.
  • USDG is a mock. Its mint is open so anyone can try the exchange; it is not a real or canonical stablecoin and exists nowhere but this testnet.
  • The oracle is 1-of-1 today. The keeper is the sole price signer. Running m-of-n signers on independent machines is the roadmap, not the current state.
  • Ownership is still on the deployer key. That hot key can diamondCut any facet, add price signers, and rewrite market risk parameters. Moving it to a hardware wallet or multisig is pending.
  • Not investment advice. Leverage can lose your entire margin, and access to leveraged derivatives is restricted in some jurisdictions.