Skip to content

Institutional RWA credit · X Layer

Borrow against your shares. Never sell them.

Equis turns tokenized stocks on X Layer into working collateral. Deposit wrapped NVDA, AAPL or TSLA, draw USD₮0 against them, and hand an agent key a mandate it cannot exceed.

  • You keep the shares and the upside
  • Prices verified onchain, not quoted by us
  • Agent keys are scoped, capped and expiring
  • Reachable from a wallet, from Telegram, or from an AI agent over MCP

Collateral certificate

wNVDAx

NVIDIA · xStocks wrapper

X Layer
Shares per unit
1.001701
Supply on X Layer
3,592
Max loan-to-value
50%

Credit line

collateral × LTV = borrow power

Settles inUSD₮0
USD₮0 / USD$0.9998
Sold to draw itnothing

Agent mandate · EIP-7702

  • May callrepay · top up collateral
  • May not callwithdraw · borrow · approve
  • Spend capper token, per session
  • Expiresat a timestamp you set

USD₮0 / USD

$0.9998

OKB / USD

$120.96

Sequencer

Up

Block

71,614,788

Exhibit AEquis's own surfaces. Every figure above was read from X Layer mainnet when this page was served - nothing here is a sample.

How it works

From share certificate to credit line.

Four steps. You hold the shares and make the decisions; Equis handles the collateral maths and the pricing.

  1. Deposit tokenized shares

    Send wrapped xStocks - wNVDAx, wAAPLx, wTSLAx - into the vault. They stay yours: dividends and splits keep accruing through the wrapper's share multiplier while they sit as collateral. Only stocks with a public price feed are listed, because Equis will not lend against a price it cannot prove.

  2. Draw USD₮0 against them

    Borrow up to each stock's loan-to-value from an open lending pool. No sale, no taxable disposal, no lost upside. Lenders on the other side earn the interest you pay, set by utilisation.

  3. Give an agent a narrow mandate

    Under EIP-7702 your own account gains code. You grant a session key that may only repay or top up collateral, up to a spending cap, until an expiry you choose. It can never withdraw or borrow.

  4. The rails for a night shift

    Put the position on /watch and the Telegram bot messages you the moment its health factor falls below 1.15, and again once it recovers above 1.25. An agent asks equis_build_transaction for the repay and gets it back unsigned, and the delegate caps what any key it holds may spend. If the position still falls through the threshold, anyone may liquidate at the last signed price the oracle verified.

Architecture

Built like a lending desk, not a demo.

The parts that decide whether an RWA credit protocol survives its first volatile week.

Priced by proof, not by us

Every stock price enters the vault as a RedStone data package, signed by three of five known signers and checked onchain in the same transaction that spends it. A wrapper is valued at the share price times its live multiplier, and a price is refused when it is stale or taken while the sequencer was down.

Market hours are part of the risk model

US equities stop trading; crypto collateral does not. Equis tracks how fresh each signed price is: once a feed stops publishing you cannot borrow more or withdraw against that stock, but liquidations still clear at the last verified print. The feeds run 24/5, so the overnight session stays open.

Agent keys that cannot run away

The EIP-7702 delegate allows a session key only an explicit list of contract functions, caps what it may spend per token by measuring balances before and after, forbids sending OKB, and expires on its own. Vault actions have no recipient argument, so a key cannot redirect funds.

Guarded by design, not by promise

Per-stock supply caps are sized to the DEX depth that a liquidation would have to sell into. A guardian can pause borrowing without touching withdrawals, and lenders' funds can never be locked by a paused collateral token.

Surfaces

Three ways in, one set of deployed contracts.

A wallet, a chat and an AI agent. All three drive the same vault, pool and oracle listed further down this page, so none of them can act on a number the others would not.

Wallet

The dashboard

src/app/app

Connect a wallet and deposit collateral, draw USD₮0, repay, or supply into the pool as a lender. Balances, prices and rates are read straight from the deployed contracts on X Layer while you look at them.

  • Approve, deposit and borrow as one atomic batch, on wallets that support EIP-5792
  • Markets, the pool and any position, each read from the chain or plainly said to be unavailable

Chat

@EquisAppBot on Telegram

scripts/telegram-bot.ts

/markets, /pool and /position answer from the same deployed contracts. Put an address on /watch and the bot messages you when its health factor falls below 1.15, and again once it recovers above 1.25.

  • Deliberately dependency-free: the Bot API is plain HTTP and the watch list is one JSON file
  • Runs as a systemd unit with NoNewPrivileges, PrivateTmp and ProtectSystem=strict

Agent

New

The MCP server

scripts/mcp-server.ts

Equis speaks the Model Context Protocol over stdio, so Claude Code, Claude Desktop, Cursor and Codex can drive the protocol themselves. Six tools: the overview, prices, the pool, a position, a borrow quote, and the transaction itself.

  • A .mcp.json in the repo root, so Claude Code registers the server on clone with no setup
  • It reads through the same module as the Telegram bot, so a chat and an agent cannot quote different numbers for one address
npm run mcp

The interesting one

equis_build_transaction

Ask for a borrow and it returns an unsigned { to, data, value } with a freshly signed RedStone price already inside, good for three minutes. The transaction verifies its own price onchain and draws USD₮0 in a single send: no separate oracle update, no second signature.

The server holds no private key and signs nothing. It returns bytes; the authority to move funds stays in your wallet, or in an EIP-7702 session key scoped to repay and top up collateral.

  • equis_overviewread
  • equis_marketsread
  • equis_poolread
  • equis_positionread
  • equis_quote_borrowread
  • equis_build_transactionunsigned tx

What actually happened

Borrowed on mainnet
Block
71,513,642
Carried
1,700 bytes, signed by 3 of 5
Cost
0.0000136 OKB

Collateral deposited, then 4 USD₮0 drawn against it in a single send. The calldata carried a RedStone package signed by three of five signers, and borrow() verified it onchain through _updatePrices(priceReports) before the pool paid out. No separate oracle update, no second signature, and it cost a sixth of a cent.

That borrow was signed in the dashboard. equis_build_transaction emits the same call - same selector, the same 1,700 bytes - and simulates clean against the live vault, so an agent reaches the chain by exactly the route a person does.

Exhibit BA real borrow against tokenized NVIDIA on X Layer mainnet, priced by a signature the chain checked itself. Open it on the explorer and read the calldata.

Verified onchain

Addresses we checked ourselves.

X Layer runs the Prague hardfork, so EIP-7702 delegation is live - we confirmed a type-4 transaction is accepted on mainnet. Stock prices arrive as RedStone data packages, signed by three of five known signers and verified inside the borrow transaction itself.

Deployed by us

EquisMarginVaultHolds collateral, enforces LTV, runs liquidations0x6577BFc8…d4885F
EquisLendingPoolERC-4626 pool of USD₮0 that lenders supply0xC6e2EFc3…F1fF8e
RedStonePriceOracleVerifies 3-of-5 signed prices onchain0x478A62bD…d16b4d
EquisSessionDelegateEIP-7702 delegate for scoped agent keys0x946A509b…c917eD

Depended on

ContractRoleAddress
USD₮0The USDT borrowers draw and lenders supply0x779Ded0c…713736
wNVDAxNVIDIA - listed as collateral0xa8ddb5Cd…2850D5
wAAPLxApple - listed as collateral0x943BF64D…C9De8f
wTSLAxTesla - listed as collateral0xc3FdBe3A…fe1171
wSPYxS&P 500 - not listed, no public price feed0xE7E553Cd…1CB540
wQQQxNasdaq 100 - not listed, no public price feed0x4C1AE29c…9101f7
USD₮0 / USDChainlink push feed pricing the debt0x673b428F…f36b9f
OKB / USDChainlink push feed for gas pricing0x4Ff345b1…C5e7BE
Sequencer uptimeChainlink feed gating every price read0x45c2b8C2…F908A9

Read at X Layer block 71,614,788 · sequencer up · USD₮0 $0.9998

Built with

  • X Layer

    Chain 196 · Prague, so EIP-7702 works

  • xStocks

    Backed's tokenized shares and ERC-4626 wrappers

  • RedStone

    Signed 24/5 stock feeds, verified onchain

  • Chainlink

    Push feeds for USD₮0 and sequencer uptime

  • USD₮0

    The credit asset borrowers receive

  • Any EIP-6963 wallet

    OKX Wallet, MetaMask, Rabby - discovered, never hard-coded

  • Foundry

    Contracts tested against forked mainnet state

Your shares are already onchain. Put them to work.

Open the dashboard to see live collateral prices, the lending pool and your position - read straight from X Layer mainnet.