The manual.
Every function, every number.

The Desk is a memecoin trading terminal on Robinhood Chain. This page documents all of it — the board, the token page, the four order types, the six bots, Predict, the fees and the safety model — with the exact steps to use each one and what every figure on screen actually means. Nothing here is marketing. If a feature has a sharp edge, it is written down.

Robinhood Chain · chain id 4663 Non-custodial 1 % per swap 0 % performance fee Gas ≈ $0.007 Minimum order $2
Contents
    Section 1

    1 · Getting started

    There is no sign-up, no account and no deposit. You connect a wallet and you trade. Everything below takes about three minutes.

    What The Desk is

    A trading terminal for Robinhood Chain, built around one uncomfortable fact: around 92 % of the tokens ever launched on this chain are dead. So every screen puts the deployer's record, the contract's powers and the holder concentration in front of you before the buy button, and the trading tools — limit orders, ladders, martingale, bots — exist so you do not have to sit and watch a chart to act on any of it.

    It is non-custodial in the literal sense. Market orders and limit orders never move your money anywhere except through the swap itself. The strategies that do hold funds hold them in a contract that only your wallet can empty — see §14.

    Step 1 · A wallet

    1. Use an injected wallet

      MetaMask, Rabby, or the built-in browser of any wallet app. There is no WalletConnect and no e-mail login. If none is found you get: No wallet detected. Open nlyra.xyz inside your wallet app, or install MetaMask / Rabby.

      On a phone, open nlyra.xyz inside your wallet app's own browser. Safari and Chrome on iOS cannot reach a wallet app's signing keys, so the connect button will find nothing there. Every wallet app has a browser tab — use that one.
    2. Press CONNECT, top right

      Approve the connection. Nothing is sent anywhere; the page just learns your address. Once connected the chip shows your ETH balance and your @name (or a shortened address).

    Step 2 · Robinhood Chain

    Everything happens on Robinhood Chain, chain id 4663. If your wallet is on another network, The Desk offers to switch — and if the network is not in your wallet at all, it offers to add it with these exact settings:

    Network nameRobinhood Chain
    Chain ID4663
    CurrencyETH
    RPC URLhttps://rpc.mainnet.chain.robinhood.com
    Explorerhttps://robinhoodchain.blockscout.com

    If the switch does not take, you get Switch your wallet to Robinhood Chain and the wallet chip turns amber. Every transaction re-checks the network before it is built, and anything carrying the wrong chain id is refused before your wallet ever opens.

    Step 3 · ETH on Robinhood Chain

    ETH on Ethereum, Arbitrum or Base is not ETH on Robinhood Chain. It has to be on this chain before you can do anything. This is the single most common reason a new user gets stuck.

    Three ways in:

    Bridge

    From Arbitrum or Ethereum via portal.arbitrum.io/bridge or robinhood.com/chain.

    From the Robinhood app

    Buy ETH there and withdraw it to Robinhood Chain.

    Ask

    The group will walk you through it.

    While your balance is under 0.001 ETH with no USDG, a card appears on the board and in the trade panel telling you so and offering those three routes. It is a card, never a gate — every control stays live behind it — and you can dismiss it for 24 hours.

    How much you needGas on this chain is about $0.007 per transaction, so a very small amount goes a very long way. The minimum order for limit orders, ladder rungs and bot fills is 0.00085 ETH — roughly $2. Market swaps have no minimum beyond what the pool will accept.
    Keep a little backThe MAX button in the trade panel always leaves 0.0002 ETH behind for gas — about seventy transactions' worth — and tells you so.

    Step 4 · Your first trade

    1. Find a token

      Browse the MARKET board, watch new launches on FIREHOSE, or paste a contract address into the search box and press Enter.

    2. Read the verdict before the chart

      The chip in the header and the one line under it tell you what the contract can do to you. §3 explains every check.

    3. Type an amount and press BUY

      The first press connects your wallet; the second buys. Full walkthrough in §4.

    After your first fill you will see, once: You're on. Pick a token and tap BUY — nothing else to set up.

    Step 5 · Claim a @name

    Optional, and not required to trade — but it is your identity on the tape, the leaderboards and copy trading, and your referral link does not exist without one.

    1. Open the claim sheet

      From your account, or from the prompt that appears once after a fill.

    2. Type a name

      3 to 20 characters, letters, numbers and underscore only, and it may not start or end with an underscore. Availability is checked against the chain as you type: checking…available or taken.

    3. Claim it

      One transaction. The name itself is free — you pay only chain gas, about a cent. It is registered on-chain, one per wallet, first come first served. You are @yourname on Robinhood Chain.

    Case does not create a second name. The registry stores your capitalisation for display but matches names lowercased, so Architect and architect are the same identity. There is a rename function on the contract with a 7-day cooldown, but The Desk does not expose it — treat the name you pick as permanent.

    Step 6 · Referrals

    Your link is nlyra.xyz/desk/?r=yourname, and any token page you share is automatically tagged with it once you have a name.

    What they getEveryone who arrives on your link pays 0.9 % instead of 1 % on every trade, permanently.
    What you get30 % of every fee they ever pay, credited to you on-chain by the fee router. Not a database entry of ours — a balance in a contract you can read yourself.
    How the link sticksFirst touch wins and it lasts 30 days in the visitor's browser. An existing referral is never overwritten by a newer link. Once they trade, the referrer is written into the router permanently and can never be changed by anyone, including us.
    ClaimingFrom the referral card in your account. It shows Referred, Earned and Claimable read straight off the chain, and CLAIM sends up to three transactions to sweep what is owed in each asset. Claimed 0.0214 — it is in your wallet.
    Self-referral does not workDropped at both ends. A referrer who has not claimed a @name is also refused — you get That referral link is not registered — trading at the standard fee and the trade proceeds at 1 %.
    One honest limitation. On this chain's V4 pools, fills executed by the keeper — limit orders, ladder rungs, martingale buys — pass no referrer, because the router would otherwise credit the contract instead of the person. The fee is charged as normal, but the 30 % share is not paid on those particular fills. Market swaps and fills on V2/V3 pools do credit the referrer normally.
    WhereURLWhat it is
    MARKET/desk/The main board. §2
    FIREHOSE/desk/freshNew launches, newest first.
    PREDICT/desk/predictBTC 5-minute up/down. §9
    BOTS/desk/botsThe six strategies. §8
    RAP SHEET/desk/creatorsDeployers ranked by what they have done.
    ACCOUNT/desk/mePositions, PnL, orders, watchlist, alerts, referrals.
    LEADERS/desk/leadersFive rankings. §11
    A token/desk/t/<address>Everything about one token. §3

    Press / anywhere to jump into search. Paste a contract address, press Enter, and you land on that token from any screen.

    One signature, no gas

    Some things are private reads — your open orders, your ladders, your martingale cycles, your bot list, your alert feed. Anyone could otherwise enumerate a wallet's open orders just by knowing its address, so those reads are signed.

    What it isA plain message signature. No transaction, no gas, no approval, nothing on-chain.
    How oftenOnce. It is cached and reused for about a day across tabs, and several screens asking at the same moment share one prompt instead of three.
    If you declineIt is never asked again in that session. Everything public keeps working; your private lists just say Sign once to see your orders. with a link.

    Section 2

    2 · The market board

    Six boards live behind one screen. Three list tokens, three list people. Everything you set — filter, sort, direction — is remembered per board.

    The six boards

    BoardWhereWhat it lists
    MARKET/desk/ · bottom navEvery token the scanner has seen, with a pool. The default screen.
    FIREHOSE/desk/fresh · bottom navNew launches, newest first. This is the raw feed — most of what appears here dies.
    ★ WATCHLIST/desk/watch · the ★ pillOnly the tokens you starred. Not in the bottom nav.
    RAP SHEET/desk/creators · bottom navDeployers, ranked by what happened to the tokens they launched.
    TRADERS/desk/traders · pillRealised-PnL board. The pill only appears once there are at least 10 ranked wallets — a leaderboard with four names on it is not a leaderboard.
    REFERRERS/desk/referrers · pillWho has brought traders, and what they have earned.

    Switching between them never rebuilds the page — rows stay alive, so a board switch is instant and your scroll position comes back when you press Back.

    Reading a row

    The board has two completely different layouts. The switch is at 960 px: below it you get a two-line list row, above it a 15-column table.

    Mobile row (below 960 px) — anatomy
    P
    PEPE SAFE HELD 3.5h
    V $45.6K · L $12.3K · 24×/38%
    $1.2M
    +18.4%
    Left railA 2 px colour strip running the full height of the row — the scan verdict at a glance. Neutral grey when the token has never been scanned.
    Line 1Symbol · verdict word · HELD if you own it · age. The verdict word is SAFE, CAUTION, DANGER, BLUE CHIP, NO SCAN, or blank when it is simply unknown. Long symbols shrink rather than truncate.
    Line 2V $… is 24-hour USD volume, L $… is pool liquidity in USD, and the last field is the deployer's record (below).
    Right columnMarket cap on top, 24-hour change under it. A change between −0.049 % and +0.049 % prints grey, not green — a flat print should look flat.
    ★ and ⚡Star toggles the watchlist. The bolt is quick buy — see below. Neither opens the token.

    The desktop columns

    ColumnWhat the number is
    TOKENIcon, symbol, and the name when it differs from the symbol. A HELD chip appears if the token is in your wallet.
    VERDICTThe scan result — SAFE / CAUTION / DANGER / BLUE CHIP / UNSCANNED / UNKNOWN. Explained in full in §3.
    PRICELast USD price. Sub-cent prices use subscript-zero notation: $0.0₅1234 means $0.000001234 — the subscript counts every zero after the point.
    5M · 1H · 6H · 24HPercentage change over that window. means the window has no data, which is not the same as 0 %.
    MCMarket cap. Falls back to fully-diluted value when circulating supply is unknown.
    LIQUSD liquidity in the pool. This is the number that decides whether you can actually get out.
    VOL24-hour USD volume.
    BUY PRESSUREA bar plus a percentage — the share of recent trade flow that was buys. See below.
    AGETime since the token was created: now, 42m, 3.5h, 7d.
    CREATOR RECORDThe deployer's kill rate. See below.
    ★ · ⚡Watchlist star and quick buy.

    Narrow desktop windows drop columns in this order: 5M / 6H / PRICE below 1200 px, BUY PRESSURE below 1060 px, the token name below 1340 px.

    Buy pressure, exactly

    Buy pressure is a whole number from 0 to 100: the percentage of recent flow in that token that was buying. It is drawn as a fill bar whose width is the number, with the figure next to it.

    72 % — greenat or above 55, buyers are in front
    50 % — grey46 to 54, no side is winning
    31 % — redat or below 45, sellers are in front
    — (dash)no flow data. It is never faked as 0.
    Buy pressure is a count of flow, not a prediction. A token with 100 % buy pressure and $600 of liquidity means a handful of small buys and nothing else. Read it next to LIQ and VOL or it will mislead you.

    The creator record

    Every row carries the launch history of the wallet that deployed the token. Three states:

    • — no record on file.
    • first launch — this deployer has launched once. Not a good sign or a bad one; simply no history.
    • 9/24 with a bar (mobile prints it as 24×/38%) — 9 of this deployer's 24 launches are dead. The bar's width is the dead percentage.

    The number and bar turn hot (gold, with a skull on mobile) when the deployer meets the bad-record rule: at least 3 launches, at least 60 % of them dead, and not an official/verified deployer. That same rule is what the FLAGGED filter uses.

    Filters

    The pill rail under the header filters the board. One pill is active at a time; the highlight slides to the one you press.

    BoardPills, in orderExact rule
    MARKET · WATCHALL SAFE FLAGGED ALIVE BLUE CHIP MY BAGSAFE = verdict is safe · FLAGGED = verdict is danger or a bad deployer record · ALIVE = not dead and liquidity ≥ $1,000 · BLUE CHIP = verdict is bluechip · MY BAG = you hold it
    FIREHOSELIQ > $1K (default) ALL ALIVE FLAGGED DEADThe firehose defaults to the $1K liquidity filter, not to ALL — the unfiltered feed is mostly noise
    RAP SHEETALL 100% DEAD SERIAL HAS LIVESERIAL = 5 or more launches per day · HAS LIVE = at least one launch still alive
    TRADERSALL IN PROFITRealised PnL above zero
    REFERRERSALL TRADING EARNINGTRADING = at least one referred wallet has traded · EARNING = fees above zero

    Sorting

    On a phone: press the ⇅ SORT button at the left of the caption rail. A sheet opens with every sort. On desktop: click any column header. Either way, tapping the sort you are already on flips the direction — the sheet says so at the bottom.

    The caption rail on mobile also makes the two right-hand captions tappable (MC and 24H normally, VALUE and PNL in MY BAG), so the two sorts people use most are one tap away.

    SortRanks byWhere
    VOL24-hour USD volume — the default on MARKET and WATCHrail + header
    MCAPMarket cap (FDV as fallback)rail + header
    24H24-hour percentage changerail + header
    AGEAge, ascending — newest first. The default on FIREHOSE. Tokens with no known age sort last.rail + header
    LIQPool liquidityrail + header
    PRICE · 5M · 1H · 6HPrice, and each of the shorter change windowsdesktop headers only
    BUYBuy pressure. Rows with no data sort last.desktop header only
    RECORDThe deployer's launch countdesktop header only
    VERDICTRanked SAFEBLUE CHIPCAUTIONUNSCANNEDUNKNOWNDANGERdesktop header only
    VALUE · PNL $ · PNL % · AVG COSTYour position. Only exist inside MY BAG.see §10

    Every sort breaks ties on 24-hour volume, descending. Featured tokens are pinned above the sort on the MARKET board whenever the search box is empty.

    The watchlist

    1. Star a token

      Tap the ★ at the right of any row, on any board, in the table or in the compact column. It never opens the token. On a phone you can also press and hold the row for about half a second — you get a short haptic and a toast reading added to your watchlist. Moving your finger more than 10 px cancels it, so scrolling is unaffected.

    2. Open the ★ WATCHLIST pill

      It sits at the head of the filter rail with a count badge. Press it again to go back to the market.

    3. Starred tokens never go missing

      If a token falls off both the market and firehose boards, the watchlist fetches it on its own so you still get a real row instead of a bare address.

    ⚡ Quick buy

    The bolt at the right edge of a row buys immediately at market, without opening the token page. The chip labels itself with the size of the trade — BUY $25 — so you always know what you are about to spend before you press it.

    How much it spendsAlways 0.01 ETH (the first amount preset in the trade panel). On the WETH row it spends 10 USDG instead.
    The dollar label0.01 ETH converted at the live ETH price, then rounded to a figure a person would say out loud — nearest $5 below $100, nearest $10 above. If no ETH price is known the chip falls back to a bare bolt.
    What you seeA toast: Buying 0.01 ETH of PEPE…
    When it refusesTrading opens when the router is live — the router is down. No pool for PEPE yet — the token has no pool to trade against.
    Quick buy uses the default slippage and does not show you a quote first. On a thin pool, 0.01 ETH can still move the price against you. If the size or the pool matters, open the token and use the panel.

    The strip above the board

    Up to five cards can appear above the rows. All of them are dismissible or self-retiring; none of them block anything underneath.

    Fund your wallet

    Appears when your wallet is connected and holds under 0.001 ETH on this chain, with no USDG either. Dismissing it hides it for 24 hours. Steps in §1.

    First-visit hero

    Connect → pick a token → trade. Retires itself six seconds after you have seen it, and closes the moment a wallet connects by any route.

    Invited-by note

    Shown when you arrived on someone's referral link: @alice invited you. You pay 0.9 % instead of 1 % — permanently.

    SUGGESTED strip

    Featured tokens, each with its pool and DEX, price, 24 h change, liquidity and volume, plus a TRADE button. Featured rows are also pinned to the top of the market board.

    Referral banner

    Only shown to someone who has already made a trade — nobody shares a terminal they have not used. Dismissing it hides it for 3 days.

    MY BAG totals

    Only on the market board with MY BAG on. Full breakdown in §10.

    The stats line

    The row of figures across the top of the board describes the whole chain, not the visible rows. It counts up rather than snapping, and any figure the scanner does not have hides itself instead of printing a zero.

    29.3k tokens · 92% dead · 52 safe · 2.5k new today · 41m median life · 1.2k serial creators · 480k txs today
    tokensContracts the scanner has read on this chain, ever.
    deadThe share of them with no liquidity and no trading left. This is the number the whole product is built around.
    safeHow many currently carry the SAFE verdict. Out of tens of thousands.
    new todayLaunched in the last 24 hours.
    median lifeThe median time from launch to death across everything scanned.
    serial creatorsDeployers launching at a serial cadence.
    txs todayTransactions on the chain in the last 24 hours.

    To the right sits the live block pill — a dot and the current block height. It anchors on a real block every 30 seconds and counts between anchors at the chain's own block time (about 101 ms), with the dot pulsing every sixth block. If it cannot anchor, it does not render at all rather than count made-up blocks. Next to it, the refresh button shows how stale the board is (now, 43s, 12m) and reloads it when pressed.

    The ticker

    The scrolling strip is the chain's latest fills — not only Desk fills. Each chip reads who · side · size · token · age: @alice bought $420 PEPE 12s. Buys and sells are coloured differently, chips link to the token, and the newest three glow briefly.

    • Put a finger on it and it stops. Someone touching a chip is someone reading it.
    • It holds 40 chips and moves at a constant speed regardless of how many there are.
    • A chip is patched in place when the server later works out whose fill it was — it never jumps.
    • On a fresh visit the last snapshot is restored only if it is under 5 minutes old. A fill from an hour ago is not "just traded", so the strip stays empty instead.
    • It appears on MARKET, FIREHOSE and WATCH only.
    • With reduced motion switched on it does not scroll — it becomes an ordinary swipeable strip.

    How the board stays live

    PollingMarket every 15 s, firehose every 30 s, stats every 2 min, rap sheet every 5 min — and four times slower than that while the live socket is healthy, because the socket is already pushing. Everything pauses while the tab is hidden and refreshes the moment you come back.
    Price flashA cell whose price changed flashes green or red and fades back. Capped at 24 flashes per repaint: a whole board repricing at once would be a strobe.
    Just tradedOn mobile, a row whose volume moved gets a brief tint. Capped at 12 per repaint, and switched off entirely once you have scrolled.
    ↑ N new tokensOnce you have scrolled past the top, the board stops reordering under you. Prices keep updating in place, and a pill appears telling you how many new tokens are waiting (or list reordered). Tap it, or scroll back to the top, to let them in.
    Row capEvery board shows at most 150 rows after filtering. There is no pagination — narrow the filter or use search.
    1. Type in the box at the top

      Placeholder: search symbol or address. Press / anywhere on the page to jump into it. The board filters live on every keystroke — it matches symbol, name or address on token boards, and @name or address on the people boards.

    2. Paste a full contract address and press Enter

      You go straight to that token's page, from any screen, whether or not the token is on any board.

    3. Press Enter on anything else

      You are taken to the top hit. On the rap sheet, Enter does nothing — there is no single "top" deployer to open.

    4. If the address is on no board

      The list is replaced by a single row: Open 0x1234…abcd ›. Tap it to open the token page anyway.

    Your query survives a board switch — the search box is read back when each board mounts.

    RAP SHEET — the deployer board

    The rap sheet ranks deployers, not tokens. A row reads: the deployer's address, a chip, the percentage of their launches that are dead, then 24 launches · 3.4/day · 2 alive, and finally their last token with its age — marked live or struck through if it is gone. A kill-rate bar rides on the row divider.

    ALL DEAD100 % of their launches are dead, and there are at least 3 of them.
    SERIAL10 or more launches per day.
    Kill-rate colourRed at 80 % and above, amber from 50 %, otherwise neutral. Grey when unknown.
    Tapping a creatorIf their last token is still alive you go straight to it. Otherwise a sheet opens with their full line — 24 launches · 22 dead (92%) · 3.4 a day — and up to 14 of their tickers, each with its verdict and either alive or the cause of death. With no trail on file it says so plainly.

    Desktop columns: CREATOR · LAUNCHES · DEAD · KILL RATE · PER DAY · LAST TOKEN · LAST SEEN.

    When a board is empty

    What you seeWhat it means
    the feed did not answer.The API failed. Press retry; the board also keeps polling on its own.
    nothing matches these filters.Your filter and sort exclude everything. reset filters restores that board's defaults.
    nothing here matches that search.No symbol, name or address contains your query.
    Star a token to keep it here.Empty watchlist. Tap ★ on any row, or press and hold it.
    no leaderboard yet.The traders index has not produced rows yet.

    Section 3

    3 · The token page

    Everything known about one token on one screen: who made it, what the contract can do to you, who is holding it, who is trading it, and the chart to trade it on.

    /desk/t/<address> — reached by tapping any row, pasting an address into search and pressing Enter, or opening a shared link.

    The header

    Token header
    PE
    PEPE
    Pepe on Robinhood · Uniswap V3 · PEPE/WETH
    ★ 🔔 ⌁ ↗
    $0.042417
    +18.4%
    ● SAFE
    ✓ we read this contract and found nothing that lets the creator take your money
    Creator 0xabcd…1234 · 24 launched · 22 dead (92%)  SERIAL LAUNCHER
    The priceSub-cent prices use subscript zeros: $0.0₄2417 is $0.00002417. The correct number is always painted first — the roll animation is decoration on top of an already-correct figure.
    The verdict chipThe safety read. Explained in full below.
    The line under itOne sentence saying why the verdict is what it is. Only appears for DANGER, CAUTION and BLUE CHIP — a SAFE token gets its own sentence.
    The gold creator lineOnly when the deployer has a history. Tap it for their full record: how many they launched, how many are dead, the death rate as a bar, when they were first seen, and their address.
    ★ WatchAdds it to your watchlist. Up to 200 tokens.
    🔔 AlertOpens the alert sheet — see §12.
    BotStarts a bot creation flow with this token pre-selected.
    ShareProduces nlyra.xyz/desk/t/<address> — and if you have claimed a @name, it automatically appends ?r=yourname, so every link you share is a referral link. Uses your device's share sheet where there is one, otherwise copies with the toast link copied.

    Under the header sits the socials row: website, X, Telegram, Discord and the block explorer, plus the contract address as a dashed chip (tap to copy the full address) and a link to The Constellation — a holder map of the token. Only http and https links survive; anything else is discarded before it can be rendered.

    The five numbers

    MCAP
    $1.2M
    LIQ
    $84K
    VOL 24H
    $412K
    HOLDERS
    2.7K
    AGE
    3d
    MCAPMarket cap. Falls back to fully-diluted value when circulating supply is unknown.
    LIQPool depth in USD. The most important number on the row — it decides whether you can get out and at what price.
    VOL 24HStarts from the aggregator, then is replaced by our own swap index as soon as it has read a full day.
    HOLDERSA count. 0 means "we do not know" and is rendered as , never as zero.
    AGETime since the token was created.

    The verdict — what it actually checks

    The verdict is the output of a contract scan. It is a risk score where higher is worse, banded into labels:

    LabelScoreWhat it means
    SAFEunder 20We read the contract and found nothing that lets the creator take your money.
    CAUTION20 – 44Something is off. The sentence under the header names it.
    DANGER45 and upOne or more findings that can cost you the position.
    BLUE CHIPno scoreA canonical asset — see below. No number is shown, deliberately.
    UNSCANNEDNever scanned. It predates the watch or has never been called.
    UNKNOWNA stored verdict we could not interpret.

    The findings that carry the most weight

    FindingPenaltyWhy it matters
    HONEYPOT — you will NOT be able to sell+60The single worst result. You can buy and you cannot sell.
    owner can EDIT your balance+30Your tokens can be taken directly.
    no security source returned data — impossible to audit+30Nothing could be checked at all.
    UNVERIFIED contract (hidden code)+25Nobody can read what it does. Checked twice before it is said.
    contract can SELFDESTRUCT+25The token can be deleted.
    MINTABLE — they can print tokens and dilute you+22Your share can be diluted to nothing.
    HIDDEN OWNER (disguised control)+22The "renounced" ownership is fake.
    UPGRADEABLE PROXY on a young token+22Today's harmless code can become tomorrow's mint switch.
    LP UNSECURED — liquidity rug risk+20Under half the liquidity is locked or burned; whoever supplied it can pull it.
    owner can RECLAIM ownership (fake renounce)+20Renouncing was theatre.
    one wallet holds N% of supply (≥50 %)+20One seller ends the token.
    very low liquidity — easy to drain (under $5K)+18You may not be able to exit at any sane price.
    sell tax N% (eats half your exit or more)+40At 50 % or more of the sale. At 15 % it is +15, at 10 % +6.
    transfers can be PAUSED (freeze)+15Your sell can be switched off.
    has a BLACKLIST function+14Your address specifically can be blocked.
    dev can RAISE the tax whenever they want+12A 0 % tax today is not a 0 % tax at your exit.
    pair created <24h ago+10Nothing has been tested by time.
    only N holders (under 50)+8There is barely anyone to sell to.
    creator holds N% (≥5 %)+6The deployer can exit into you.

    A serial launcher also affects the verdict directly: a deployer with 5 or more launches and 80 % or more of them dead forces the verdict to at least CAUTION, whatever the contract says.

    There is no sell simulation on this chain. The service that actually tries to sell a token on your behalf has no coverage for Robinhood Chain, so honeypot detection rests on a source-code read alone. Every scan carries that warning. SAFE means "we found nothing that lets the creator take your money in the code we could read" — it does not mean the token will hold its value, and it is not a promise that a sell will go through.

    BLUE CHIP, and why it exists

    Robinhood Chain is itself younger than the age threshold the scanner uses for "established assets", so nothing on this chain can clear that gate — the canonical WETH scores CAUTION on a plain reading, because it is technically an upgradeable proxy with unlocked liquidity.

    BLUE CHIP is triggered by the deployer, not by a ticker list: the issuer that deployed every tokenised equity on the chain, the canonical bridged-asset deployer, and the USDG issuer. WETH and USDG themselves are canonical outright. On a blue chip the score is discarded entirely — "42 out of what?" has no honest answer for an asset like that — and every flag is restated as a note: the proxy becomes upgradeable proxy — standard for canonical and bridged assets, and the admin is the issuer.

    When a DANGER is downgraded

    A DANGER verdict with no measured hard finding (no honeypot, no tax, no pulled liquidity, no balance editing, no mint, no self-destruct), a clean creator, over $1M of liquidity and more than 30 days of age is downgraded to CAUTION, and it says so: downgraded from danger — $Nk of liquidity, N days old, and no honeypot, tax or pulled LP measured. The flags below are heuristics.

    The chart

    Timeframes

    1s15s1m 5m15m1h 4h1d

    Eight, defaulting to 5m. Your choice is remembered per token, so 1h on one and 15m on another both survive moving between them. On a phone the strip scrolls with the active button centred.

    1s and 15s are built differently. No data provider has sub-minute candles for this chain, so those two are built from the swap logs directly and updated from the live tape. A new flat bar is rolled every second whether or not anything traded — a quiet second should look quiet, not frozen. They pause when the tab is hidden and re-fetch when you come back rather than inventing the missed seconds.

    PRICE / MCAP

    One button that shows the mode it is currently displaying. In MCAP mode every price on the chart is multiplied by the supply, so you are reading valuation rather than unit price.

    If the supply is unknown, the toggle refuses with we do not know this token's supply yet rather than drawing a chart that is quietly wrong.

    ƒx — the chart sheet

    The ƒx button (or the I key) opens every chart setting. It wears a dot in its corner whenever any indicator is on. Everything here persists.

    SettingOptionsNotes
    TYPECANDLES / LINEAlso the C key. Switching preserves your zoom.
    PRICE SCALELINEAR / LOGAlso the L key.
    TRADE MARKERSALL / MINE / OFFWhat arrows appear on the candles.
    MARKER SIZES / M / LBig trades are drawn 45 % larger again.
    INDICATORSEMA 9 · EMA 21 · SMA 50 · VWAP · Bollinger 20·2Each with its own colour, read out live in the legend.
    No fake early lineA moving average is blank until it has enough bars. It is never seeded with a shortcut that would draw a line that does not mean anything.
    VWAP is anchoredTo the first candle in the window you loaded, and weighted by token amount rather than by dollars — weighting by dollars would count price twice.
    On 1s, read them as noise filtersThe sheet says so itself: on a 1-second chart a period is one second, so "EMA 21" is twenty-one seconds. It is not a trend.
    Times are yoursThe axis uses your own clock, and the offset (UTC+2) is printed in the legend so there is never any doubt.

    Trade markers, and the 30-day rule

    Arrows on the candles are real trades: green up-arrows below the bar for buys, red down-arrows above it for sells, and your own trades always drawn, in accent, labelled you.

    • Per bar the chart draws the biggest buy, the biggest sell, and always your own trade — otherwise a busy bar would be a wall of arrows.
    • The history goes back 30 days. On opening the page and on every pool switch, the last 720 hours of swaps are loaded and merged underneath the live tape, so the arrows cover the whole chart rather than only the newest page. On a token whose history is being built for the first time, it retries for about a minute.
    • A trade in the top quarter by size is drawn larger, and the three biggest visible trades get a dollar label — on desktop only.
    • Hover or tap a bar for a tooltip listing the three newest trades in it: side, dollars, who, and age. The tooltip is always built from every trade — switching markers to MINE or OFF never empties it.

    When one of your own trades fills, a dashed line is drawn at your fill price labelled you bought or you sold for twelve seconds, with a colour flash and a sound. Open limit orders show as dotted LIMIT BUY / LIMIT SELL lines, up to eight at a time.

    Zoom, fullscreen, and setting a limit from the chart

    • Mouse wheel, pinch and drag all zoom and pan. Vertical touch drag is deliberately off so scrolling the page never fights the chart.
    • or the F key goes fullscreen; or Esc leaves. On a phone held upright you get a hint: rotate your phone for the full chart.
    • Press and hold the chart (or right-click) for about half a second and a popover opens at that exact price, showing the distance from the current price, with BUY LIMIT and SELL LIMIT buttons. Either one opens the trade panel's LIMIT tab with that price already filled in. It works in MCAP mode too — the price is converted back to a unit price first.

    TRADES tab

    The live tape for this pool.

    Tape row
    SideUSD AmountWalletAge
    BUY $1.2K 48.2M @alice DEPLOYER 12s
    SELL $340 13.6M 0x1234…abcd 1m
    USDUnder a cent it prints <$0.01, never $0.00.
    AmountToken quantity, in readable units — 48.2M, or 0.0₉168 for dust. Never scientific notation.
    WalletA @name where one exists, otherwise a short address. Your own rows say you and are tinted. A trade can arrive before we know whose it was — the placeholder is dimmed and fills in a moment later without the row moving.
    The live dotIn the SIDE header. Green and pulsing = fills are being pushed from the server in real time. Amber = the live socket is down and the page is polling instead. The tape still works; it is just slower.
    The left railConsecutive trades from the same block share a rail down the left, so you can see a burst as a burst.

    The identity chips

    ChipMeans
    LIMITFilled from a resting limit order, not a market buy.
    DEPLOYERThis wallet deployed the token. If it is selling, that is information.
    SCAMMERLaunched N tokens, N are dead.
    SERIALA serial launcher.
    CREATORHas deployed tokens before.

    Show more, and pinning

    • 120 trades show at first. show more · N older trades adds 200 at a time, drawing on the 30-day store as well as the live tape.
    • While you are scrolled into the list, new trades are buffered rather than injected and a pill appears: N new trades. Tap it to flush them and return to the top. Nothing jumps under your finger.
    • From the wallet sheet you can pin the tape to one wallet. A chip appears above the header — only 0x1234…abcd ✕ — and only that wallet's prints are accepted until you clear it.

    HOLDERS tab

    Concentration

    CONCENTRATIONtop 5 84.2% · top 10 87.9%

    The colour is the warning: over 50 % red, over 25 % gold, below that green. If a handful of wallets hold most of the supply, the price is theirs to decide.

    The list

    Up to 20 holders, each with rank, address, percentage and a bar. Every one links to the block explorer. Contract addresses are labelled so you are not reading a pool as if it were a person:

    LabelWhat it is
    DEPLOYERThe wallet that created the token.
    LPThe liquidity pool itself. Not a holder in any meaningful sense.
    ROUTERA router or protocol contract.
    BURNEDA burn address. Those tokens are gone forever.
    STAKING VAULT TREASURYKnown protocol contracts.
    CONTRACTThere is code at this address but we do not know its role. Not a trader.
    FRESHA wallet with fewer than 10 transactions ever. Often a fresh wallet made for this launch.
    WHALEA personal wallet holding 2 % or more of supply.
    The "first seen" column is not populated. The chain's explorer has no cheap way to tell us when a given holder first appeared, so rather than showing an empty column the page removes it. The FRESH label carries a similar signal for free.

    THE SCAN card

    Seven rows summarising the contract read: HOLDERS, TOP 5 HOLD, LIQUIDITY, BUY TAX, SELL TAX, CONTRACT (verified or not) and PROXY (upgradeable or immutable). Non-zero taxes render red. Under it, the scan's findings with a warning triangle, then its neutral notes.

    When the measured top-5 figure arrives from the holder book, the scan's own TOP 5 HOLD row hides itself — the screen never prints two different numbers for the same thing.

    TOP TRADERS tab

    Who has actually made money on this token, over the window the index has read — 24 hours by default, up to 7 days, with the real span shown in the header and on the tab badge.

    The metricAverage cost. Every buy moves the average, every sell realises against it, and what is still held is marked at the current price. The same method the account page uses, so the two can never disagree.
    Columns# · wallet · PNL · PNL % · BOUGHT / SOLD · HOLDING (or the word out if they have exited) · TRADES · LAST.
    Wallets that only soldA wallet that only sold inside the window bought before it, so we cannot see what it paid. Those wallets are counted and excluded, not ranked — booking the whole sale as profit once put a wallet with two sells and no entry at the top of the table. The footnote says how many were excluded.
    Still readingreading further back… means the index is still walking backwards through this pool's history. The numbers fill in on their own.

    ORDERS tab

    Your own limit orders on this token, plus any ladders and martingale cycles running on it. Reading them needs one cached signature — it is a private read, and it reuses the signature already in your session, so there is no second prompt.

    Each order shows the side, what you are paying and what you will get, the status (OPEN / FILLED / CANCELLED / EXPIRED / FAILED), the trigger (below $0.0₄1401) and the time left. Open orders carry a to cancel; completed ones link to the transaction. Full mechanics in §5.

    Empty, it says: No orders on PEPE yet. Pick LIMIT above to set a price and walk away.

    INFO tab

    ACTIVITY · ON CHAIN

    Four windows — 5M · 1H · 6H · 24H — each button showing the price change over that window. Your choice is remembered.

    TXNS412   248 buys / 164 sells
    VOLUME$84K   $51K bought / $33K sold
    MAKERS138

    MAKERS is the number of unique wallets that traded in the window — the figure that separates a token forty people are trading from a token two bots are trading. If the index has not covered a full day yet, the heading says so: ACTIVITY · ON CHAIN · 6H READ SO FAR.

    SECURITY card

    RowWhat it meansColour thresholds
    TOP 10 HOLDERSThe top ten people — burn addresses, pools, routers, vaults and every other contract are removed first.green ≤ 15 % · gold ≤ 30 % · red above
    DEV / CREATORWhat the deployer still holds.green ≤ 5 % · gold ≤ 15 % · red above
    CONTRACTSSupply sitting in contracts, with a caption naming them.
    BURNEDSupply permanently destroyed.shown only when above zero
    LP BURNEDHow much of the liquidity is burned. Coloured on the remainder — what could still be pulled.green if ≤ 10 % loose · gold ≤ 50 % · red above
    LIQUIDITYThe pool type for non-V2 pools — V4 singleton pool or V3 concentrated with its fee.
    CONTRACTVerified or not.green / red
    ATHThe all-time high, how long ago, and how far below it you are now.
    AGEAge plus the exact creation date and time.
    POOLThe pool address. Tap to copy.

    OUR RECORD

    Present only when The Desk has actually called this token: our score, when we first saw it, how it has moved since, the price when it was called, the peak multiple, how it died if it did, 24-hour buys and sells, supply and decimals — and a READ OUR CALL button linking to the write-up.

    Opening a token by deep link before the market board has loaded shows a thinner INFO tab for a moment. Those fields arrive with the board data, not with the token itself.

    PAIRS and ON CHAIN

    PAIRS lists every pool for this token with its DEX and liquidity. Tapping one switches everything — the chart, the tape, the markers, the holder book and the top traders — to that pool. If a token has two pools and one is nearly empty, this is where you notice.

    ON CHAIN is the plain link list: the token contract, the pool, the creator, and every website and social the token declares. All on the block explorer, all verifiable without us.

    Keyboard shortcuts (desktop)

    KeyDoes
    BJump to the buy amount
    SSwitch to sell
    14Fill a preset amount
    FFullscreen chart
    CCandles / line
    LLog / linear price scale
    IIndicators and chart settings
    /Search
    EscLeave fullscreen, close a sheet, or go back
    ?This list

    The same sheet carries the trade sounds switch. Sounds are short synthesised tones — two rising notes on a buy, one falling note on a sell, a distinct two-note chime on a fill, a low thud for a transaction left with the chain, and a short low tone on an error. The speaker icon in the socials row mutes them.


    Section 4

    4 · Trading — market orders

    Buy or sell right now, at whatever the pool pays. The trade panel sits on the right on desktop and docks at the bottom of the token page on a phone.

    The panel has two rows of controls: BUY / SELL, and MARKET · LIMIT · LADDER · MARTINGALE. This section covers MARKET.

    Buying

    1. Type an amount, or tap a preset

      Presets are 0.01 · 0.05 · 0.1 · 0.5 ETH — or 10 · 50 · 100 · 500 USDG in a USDG-quoted pool. A preset only fills the field. Nothing trades when you tap a chip. Under the field a live ≈ $X shows the dollar size.

    2. Or press MAX

      Fills the field with your whole balance minus 0.0002 ETH kept for gas, and says so: MAX keeps 0.0002 ETH for gas. That reserve is roughly seventy transactions at this chain's prices. If your balance is under it you get Balance is below the 0.0002 ETH kept for gas and nothing is filled.

    3. Check the slippage

      The slip 3% chip opens four options — 1% · 3% · 10% · 15%. Default 3 %, maximum 15 %. Your choice is remembered. Slippage is how far the price is allowed to move against you between pressing the button and the transaction landing; wider gets you filled more often and at worse prices.

    4. Read the quote line

      It re-prices about a quarter of a second after you stop typing. Every figure is explained below.

    5. Press BUY

      If your wallet is not connected, the first press connects it and does not trade — the button says BUY 0.01 ETH · CONNECT. Then press it again.

    6. Confirm in your wallet

      You get Buy sent · waiting for the block… and the panel waits up to 90 seconds for the receipt.

    Selling

    The same panel with three differences:

    • The presets are percentages of your position25 · 50 · 75 · 100 — and MAX means all of it. There is no gas reserve on the token side; you are not spending ETH.
    • A sell always needs an approval first, one time, for the exact amount: Approve selling first — one time, exact amount. The Desk never asks for an unlimited approval.
    • If you hold nothing you get You do not hold PEPE or Nothing to sell.

    The quote line, number by number

    The quote line
    12.4K CASHCAT · $118 · @ $0.00951 · fee 1% · impact 4.2% · est.
    ≈ 12.4K CASHCATHow many tokens you expect to receive.
    $118What that is worth in dollars right now.
    @ $0.00951The effective unit price at this size — not the headline price. On a thin pool this is meaningfully worse than the price at the top of the page, and that difference is the impact figure next to it.
    fee 1%The Desk's fee. Shows 0.9% when you arrived on a referral link.
    impact 4.2%How far your own order moves the pool against you. Only shown once it reaches 1 %. Amber from 1 %, red from 3 %.
    exactThe server actually simulated this exact trade from your address through the router. The number accounts for everything the pool really does — multiple price ticks, hooks, transfer taxes.
    est.A formula, not a simulation. Used when the impact is large, when a pool's internals could not be read, or when a hook fee could not be measured. Treat it as a good approximation, not a promise.
    The minimum you will receive is not printed on this line. It is computed as your quoted output minus your slippage setting, enforced by the contract, and independently re-checked by the page before your wallet opens. The slippage chip is the control for it. Limit orders do print a you receive ≥ figure, because there the number is the whole point.
    Gas is not quoted anywhere in the panel. It is about $0.007 per transaction on this chain and your wallet shows you the exact figure before you confirm.

    The three warnings

    Price impact, 3 % and up⚠ You lose about 4.2 % to price impact at this size. A plain statement of what the trade costs you beyond the fee.
    Price impact, 10 % and up⚠ This size moves the pool 12.4 % against you. Tap again to go ahead, or trade less. The button turns red and reads BUY ANYWAY, and you must press it twice. The arming lapses after six seconds, and any change to the amount cancels it.
    A dangerous deployer☠ This deployer launched 14 tokens · 12 dead · serial launcher. Shown on any DANGER token with a deployer record. The button also turns red and reads BUY ANYWAY.

    Approvals

    What you are doingApproval needed
    Buying with ETHNone. ETH is sent with the transaction.
    Buying with USDGOne exact-amount approval to the fee router.
    Selling a tokenOne exact-amount approval to the fee router.
    Never an unlimited approval. Every approval The Desk asks for is for the exact amount of that one trade. An unlimited allowance left sitting on a router is a standing risk, and this product does not create them. Permit2 is used only for limit orders (§5).

    What happens when it fills

    +12.4K CASHCAT · $118 VIEW ↗

    A toast with the amount, the dollar value and a link to the transaction on the block explorer. The button holds ✓ FILLED for a moment, a buy fires a small confetti burst and a haptic tap, and your fill is drawn on the chart as a dashed you bought line for twelve seconds. Selling gets the same toast in reverse — +0.0431 ETH for 12.4K CASHCAT — without the confetti.

    Your position strip, your bag and your PnL all refresh a few seconds later.

    When it does not fill

    MessageWhat happenedWhat to do
    Reverted — the price moved past your slippage. Nothing was taken.The pool moved between your press and the block. The transaction failed, which means it did nothing.Try again, or widen slippage. You paid gas, nothing more.
    The price moved. Check the new number and tap again.The fresh quote differs from the one you were shown by more than 3 %. This never reaches your wallet — the panel just repaints with the new number.Read the new figure and decide again.
    Still pending. Check the explorer.No receipt after 90 seconds. The transaction is probably still queued.Follow the link. Do not re-send blindly.
    Cancelled in walletYou rejected the prompt.Nothing happened.
    Not enough ETH for gasNo ETH left to pay the network.Top up. See §1.
    no route for this pool yetNo usable path between these two tokens.Check the PAIRS list on the INFO tab — another pool may work.
    Trading opens when the router is liveThe router is down. The rest of the desk still works.Wait.
    refused: …A safety check caught something before your wallet opened. See below.Nothing was signed. Re-quote and try again.
    Nothing is retried automatically. A failed swap stays failed until you press the button again — deliberately, because an automatic retry at a moved price is a trade you did not choose.

    "refused:" — the checks that run before your wallet opens

    Every transaction The Desk builds is decoded and verified against what is on your screen before it is handed to your wallet. Not the server's description of the transaction — the raw calldata itself. If anything disagrees, the flow stops with a refused: message and your wallet is never opened.

    Among the things checked on a market swap: that the destination really is the NLYRA router and not some other address; that the chain id is 4663; that the token being bought is the token on screen; that the amount in the calldata matches the amount you typed; that there is a minimum output at all and it is not below what your slippage setting allows; that the fee is not above the published 1 %; that no unexpected referrer is being credited; and that the quote has not expired or been given an unreasonably distant deadline.

    Why this exists. It means a compromised or buggy server cannot make your wallet sign something different from what you were shown. The checks are in the page, running against the bytes, with a hard-coded list of the only contract addresses it will ever talk to.

    ⚡ Quick buy from a list row

    The bolt at the right of any board row buys 0.01 ETH of that token immediately, at the default slippage, without opening the token page. The chip is labelled with the dollar size so you know what you are spending. It is a convenience for small sizes — for anything you care about, open the token and read the quote first.


    Section 5

    5 · Limit orders

    Set a price and walk away. Your money never leaves your wallet, placing costs nothing, and the order can only ever execute on the terms you signed.

    The key property. A limit order is not an escrow. Nothing is deposited anywhere. You sign a message authorising exactly one transfer, on exactly one route, for exactly one minimum output — and until that fires, your tokens sit in your wallet and you can spend them on anything else. If The Desk disappeared tomorrow, an unfilled order would simply never fill.

    Placing one

    1. Open the LIMIT tab

      In the trade panel, or by pressing and holding the chart at the price you want — the panel opens with that price already filled in.

    2. Choose a side

      BUY / below market or SELL / above market. Switching resets the default distance: −20 % for a buy, +50 % for a sell.

    3. Set the trigger price

      Type a dollar price, or tap a percentage chip — −10 · −20 · −30 · −50 buying, +25 · +50 · +100 · +200 selling. The two are the same control seen two ways: typing a price updates the percentage and vice versa. The current price is shown next to the label.

    4. Set the amount

      Buying, the presets and MAX work exactly as in §4, with the same 0.0002 ETH gas reserve. Selling, the presets are 25 / 50 / 75 / 100 % of your position, defaulting to 50 %.

    5. Choose an expiry

      1h · 1d · 7d · 30d, defaulting to 7 days. The exact date and time it lapses is printed next to the label. 30 days is the maximum.

    6. Check you receive ≥

      This is the real commitment — the minimum output you are signing for. Buying, its dollar value is computed at your trigger price, not at today's price, because that is the price the order will fill at.

    7. Place it

      The button walks through what it needs. See below — there may be one or two preparation transactions the first time, then one signature and no transaction at all.

    You get: Order placed · buy below −20% · our keeper watches it.

    What actually gets signed, and what gets sent

    Buying with ETHLimit buys are funded in WETH, so if you do not already hold enough, the shortfall is wrapped in one transaction. Your ETH is wrapped when you sign and stays in your wallet until it fills.
    The Permit2 approvalOne approval, for the exact amount, to Permit2 — the standard allowance contract. This is the only place The Desk uses Permit2.
    The signatureAn EIP-712 typed message, not a transaction. It authorises a single transfer of a specific token, a specific amount, to a specific contract, with a specific deadline — and it carries the whole order inside it as a witness: your address, both tokens, the amount in, the minimum amount out, the expiry, the fee, the referrer, a random one-time nonce, and a hash of the exact swap route.
    Placing costs no gasAfter the one-off wrap and approval, placing an order is just the signature. Placing ten more costs nothing at all.
    Why the route is inside the signature. Without it, whoever executes your order could send it through a pool of their own and keep everything above your minimum. Because the route hash is part of what you signed, the contract rejects any execution that does not use exactly that route. The page recomputes that hash itself, from the route bytes, and refuses to sign if it does not match.

    How a fill happens

    An off-chain keeper watches the pool. When it will pay your minimum plus a small margin, the keeper simulates the execution and, if it passes, submits it. The contract then pulls your funds through Permit2 — validating your signature, your deadline and burning the one-time nonce — swaps along the route you signed, takes the fee you signed, and delivers the output to you.

    Only the keeper can executeThe execute function is restricted to allow-listed addresses, and even then it cannot deviate from what you signed.
    What you receiveOn this chain's V4 pools, a buy delivers the token and a sell delivers native ETH. On older V2/V3 pools a sell delivers WETH, which you unwrap yourself.
    The minimum, not the priceWhat is enforced is the minimum output you signed. The trigger price you typed is how the panel computes that minimum — it is not itself a term of the order. If pool depth changes dramatically, the price at which your minimum becomes achievable can differ from the price you typed.
    If it can never fillAfter enough consecutive failed simulations the order is marked FAILED rather than being retried forever. An order placed without the balance or the approval to back it is rejected outright at placement — an order that can never fill is not worth keeping.

    The orders list

    An open order
    BUY 0.05 ETH → 2.4K CASHCAT OPEN
    below $0.0502 · 7d left
    StatusesOPEN · FILLED · CANCELLED · EXPIRED · FAILED, plus CANCELLING… while a cancel is in flight.
    The sub-lineYour trigger and how long is left. A filled order shows what it actually filled at. If something went wrong, the reason replaces the sub-line and the row turns amber.
    On the chartOpen orders are drawn as dotted LIMIT BUY / LIMIT SELL lines, up to eight at once.
    Reading the listNeeds the one gasless signature — it is a private read. Up to 30 rows, open orders first, then filled, then the rest.
    Cap50 open orders per wallet.

    Cancelling

    Cancelling is on-chain and mandatory — a book entry alone would not stop a signature that already exists.

    1. Press ✕ on the order

      You sign a short message identifying the order, and the server hands back the cancel transaction. Nothing in the book has changed yet.

    2. Confirm in your wallet

      Cancelling on-chain — confirm in your wallet. The transaction costs about 30,000 gas — roughly $0.001. When the panel says "cancel free" it means there is no protocol fee; you still pay the network.

    3. Wait for the receipt

      Only a confirmed transaction closes the order. If you reject the prompt: Cancelled in wallet — your order is still open. It is only cancelled once the chain says so. That sentence is the whole design: the book never lies to you about what the chain believes.

    The nuclear option. Not exposed in the interface, but always available to you: revoking your Permit2 allowance for that token kills every pending order on it instantly, and Permit2's own nonce-invalidation function permanently voids a specific signature. Neither needs The Desk.

    Limits and refusals

    RuleValue
    Minimum order0.00085 ETH (≈ $2), or 1 USDG
    Maximum expiry30 days
    Open orders per wallet50
    Fee1 % on fill (0.9 % referred). Nothing on placement or cancellation.
    One side must be ETH/WETH or USDGToken-to-token limit orders are not supported.

    Messages you may see: order too small — minimum 0.00085 ETH · expiry too far (max 30d) · too many open orders · duplicate order · Not enough ETH to fund this order · You do not hold PEPE yet.

    As with market orders, the typed message is verified field by field against what is on your screen before your wallet is asked to sign it — the spender, the amount, both tokens, the trigger, the expiry, the nonce, the fee, the referrer and the route hash. Anything that disagrees produces a refused: message and no prompt.


    Section 6

    6 · Ladder

    One deposit, many limit orders spread across a price range. Buy the whole way down, or sell the whole way up, without placing twenty orders by hand.

    A ladder is escrowed; a limit order is not. Your funds move into the ladder contract in one transaction, and what has not filled comes back when you cancel. That is a different custody shape from §5 — read §14 for what that means.

    Placing one

    1. Open the LADDER tab and pick a side

      BUY (below market) or SELL (above market).

    2. Enter the amount

      The total for the whole ladder. Presets and MAX behave exactly as elsewhere, with the same 0.0002 ETH gas reserve on an ETH-funded buy.

    3. Set the range

      Two fields, from and to, each a sign and a percentage. Quick ranges are offered: buying, −2% → −30% (the default), −5% → −50%, −10% → −90%; selling, +2% → +30%, +10% → +100%, +50% → +500%.

    4. Choose how many rungs

      A slider from 2 to 40, defaulting to 10. The header updates live: 10 orders · 0.005 ETH each.

    5. Choose an expiry

      1d · 7d · 30d, default 7 days.

    6. Read the preview, then place it

      One transaction moves the funds into escrow and creates every rung at once. Buying with ETH needs no approval; selling a token, or buying from WETH you already hold, needs one exact-amount approval to the ladder contract first.

    You get: Ladder placed · 10 buys −2% → −30% · our keeper fills the rungs.

    The preview

    Ladder preview
    10 rungs · 0.05 ETH · ≈ $121 · fee 1%
    NOW$0.1240
    −2.0%$0.1215  0.005
    −5.1%$0.1178  0.005
    −8.3%$0.1137  0.005
    The headerHow many rungs, the total, its dollar value, and the fee.
    NOWA marker row at the live price, so you can see where the ladder sits relative to it.
    Each rowThe distance from the market, a bar showing that distance proportionally, the effective price that rung trades at with the fee already included, and how much that rung spends.
    The order of the rowsNearest the market first. That is also the order they fill in.
    How the amount is splitEqually across the rungs, with any rounding remainder added to the last one.

    How rungs fill

    • The keeper works on one rung at a time per ladder — always the nearest unfilled one.
    • Each fill pays you directly. The tokens (or ETH) from a filled rung go straight to your wallet; only the unspent deposit stays in escrow.
    • Rungs are independent. A ladder that is three-tenths filled has delivered three rungs' worth to you and still holds the other seven.
    • Fills appear in the tape attributed to you, not to the contract.

    The ladders list

    A running ladder
    BUY LADDER · CASHCAT · 3/10 filled OPEN
    ●●●○○○○○○○
    −2.0% → −30.0% · 0.035 ETH left · 6d left

    One dot per rung, lit when filled. Tap a dot for that rung's detail: its number, its distance, its price, its size, and either what it filled into (with a link to the transaction) or the word open. The sub-line gives the range, what is left in escrow and the time remaining. A rung filling flashes the card.

    Each open ladder also draws its outer envelope — the nearest and farthest open rung — on the chart.

    Cancelling

    You cancel the whole ladder, never a single rung. There is no per-rung cancel. One transaction returns the entire unfilled remainder to your wallet — as native ETH if that is what you funded it with.

    The flow mirrors a limit cancel: sign a short message, get the transaction, confirm it, and only a confirmed receipt closes the ladder. Ladder cancelled — the remainder is back in your wallet. Reject the prompt and you get Cancelled in wallet — your ladder is still open. It is only cancelled once the chain says so.

    After expiry the same button serves as the refund — and, as with every escrow on The Desk, the expiry refund can also be triggered by anyone and still pays only you.

    Limits, and one thing to know

    RuleValue
    Rungs2 to 40
    Minimum per rung0.00085 ETH (≈ $2)
    Expiry1, 7 or 30 days
    Fee1 % per fill (0.9 % referred). One transaction to place, one to cancel.
    RangeA buy ladder must reach below the market and cannot go past −100 %; a sell ladder must reach above it.
    A known rough edge. The panel's own check allows rungs as small as 0.0002 ETH, but the server enforces 0.00085 ETH per rung. A ladder whose rungs land between those two numbers passes the form and is then rejected with rung too small — minimum 0.00085 ETH per rung. If you see that, use fewer rungs or a larger amount. 0.00085 ETH per rung is the real floor.

    Other validation messages: Give the range a from and a to. · A buy ladder must reach below the market. · You hold 1.2M CASHCAT — less than this ladder sells. · You need 0.05 ETH to fund this ladder.

    The risk. Rungs fill on the way down and nothing forces a recovery — a ladder that filled every rung is a ladder that bought a token all the way to the bottom. Rungs placed too close together can all fill inside one candle. Set the range where you would actually want to be buying.

    Section 7

    7 · Martingale

    Buy a first amount, then buy bigger every time the price drops a step, then sell the whole position once it is up by your target over the average cost.

    Understand the shape of this before you use it. Every level is larger than the last, so a sustained fall spends most of your budget near the top of the decline. It converts a series of small losses into one large one. The product's own risk line is: Each step buys more. If price never recovers +TP from average cost, the position stays open. It works on tokens that dip and bounce. It is ruinous on tokens that just go down.

    Martingale is listed in the bots hub but it runs from the trade panel: open a token and pick the MARTINGALE tab. It is long-only in this version — the SELL side is present but disabled, marked v1: long only.

    Setting one up

    ControlDefaultRangeWhat it does
    base · first buy0.01 ETH≥ 0.00085 ETHLevel 0, bought at market as soon as the cycle starts.
    multiplier×1.5×1.25 · ×1.5 · ×2 (contract allows ×1 – ×3)How much bigger each level is than the one before.
    step · drop per level−5 %0.1 % – 50 %How far the price must fall before the next level buys.
    levels51 – 12How many buys in total, including the first.
    take-profit · over avg cost+3 %0.1 % – 100 %Sells the entire position when it is worth this much more than was spent.
    stop-lossoffany price below spotSells everything and closes the cycle. Optional.
    auto-restartoffon / offAfter a take-profit, starts again with the unused budget.
    expires7 daysup to 30 daysAfter this the cycle stops buying and the funds are refundable.

    The percentage chips and the free-text fields are two views of one value — tap a chip and the field updates, type in the field and the chips un-press.

    The budget is the number that mattersNot the base. With the defaults — 0.01 ETH base, ×1.5, five levels — the budget is 0.01 + 0.015 + 0.0225 + 0.03375 + 0.0506 = 0.1319 ETH. The button says so: START MARTINGALE · BUDGET 0.1319 ETH. The whole budget is deposited up front.
    MAX means something different hereIt sets the largest base whose whole budget still fits your balance, keeping 0.0002 ETH for gas: MAX fits the whole budget and keeps 0.0002 ETH for gas.

    The simulation

    The panel paints its own estimate immediately (badged estimate) and replaces it with the server's simulation a moment later.

    Cycle simulation
    budget 0.0403 ETH · ≈ $98  estimate
    L0  now$0.12439 · 0.00085 ETH  avg $0.12439 · TP $0.12812
    L1  −4.8%$0.11847 · 0.001275 ETH  avg $0.12077 · TP $0.12439
    L2  −9.3%$0.11282 · 0.0019125 ETH  avg $0.11687 · TP $0.12038
    max drawdown covered −9.3% · TP at +3% over avg
    The level prices compound−5 % five times is not −25 %. Level k triggers at price ÷ (1 + step)^k, so with a 5 % step and five levels the sequence is 0, −4.76 %, −9.30 %, −13.62 %, −17.73 %.
    avgYour average cost after that level fills. Each level pulls it down — that is the whole idea.
    TPThe price at which the take-profit fires from that average. Notice it falls as levels fill: after two dips you no longer need the price back at the start to be in profit.
    max drawdown coveredHow far the price can fall before you run out of levels. Past this point the cycle has spent its budget and simply holds. It is the single most important number on this screen.

    The header line above the slider says the same thing in words: 5 buys · entry + 4 dips · to −17.7 %.

    Starting it, and how it runs

    1. Press START MARTINGALE

      One transaction moves the entire budget into the martingale escrow. No approval is needed — it is plain ETH sent with the transaction. As with everything else, the calldata is verified against your settings first: the base, the multiplier, the step, the take-profit, the level count, the auto-restart flag and the stop loss all have to match, or it is refused.

    2. Level 0 buys at market

      On the keeper's first pass, with 3 % slippage allowed.

    3. Each further level waits for its price

      And this is enforced by the contract, not by the keeper: level k can only execute at or below the previous fill's price divided by (1 + step). The keeper cannot trigger a level early.

    4. Take-profit sells the lot

      The keeper quotes the whole position each pass. When it fetches at least what was spent plus your target, it sells everything and pays you in native ETH. The target is fixed in the contract at creation.

    5. With auto-restart, it goes again

      The level counter resets and the cycle continues on the unused budget, provided at least one more base-sized buy fits. Without it, the cycle closes and the remainder comes back.

    Reading the cycle card

    A running cycle
    BUY MARTINGALE · level 2/5 OPEN
    ●●○○○
    spent0.00213 ETH
    escrowed43.2K CASHCAT
    avg cost$0.1208
    tp price$0.1244
    now$0.1215  −0.6%
    stop loss$0.0995  −18.2%
    CASHCAT · round 1 · auto-restart · 0.019 ETH unspent · next buy at $0.1128 · 6d left
    spentHow much of the budget has actually been deployed.
    escrowedThe tokens sitting in the contract. They are not in your wallet and do not appear in MY BAG — the card carries its own cost basis instead.
    avg cost / tp priceYour average entry, and the price the take-profit fires at.
    nowThe live price and how far it is from your average — your unrealised position.
    next buy atThe price the next level triggers at.
    The dotsOne per level, lit when bought. Tap one for its detail: the price it bought at, what it spent, what it bought, and a link to the transaction — or what it is waiting for.

    Ending a cycle

    Five things can end it, and you control three of them.

    Take-profit

    Automatic. Sells everything, pays you in ETH. With auto-restart it begins a new round instead of closing.

    Stop-loss

    If set. Sells everything, closes the cycle. Contract-enforced with a 3 % slippage allowance.

    CLOSE — sell now

    You decide. Sells the whole position at market and returns the proceeds plus the unspent budget in one transaction. Cycle closed — sold, the ETH is in your wallet.

    WITHDRAW — tokens + ETH

    You decide. Nothing is sold. The tokens come back to your wallet as they are, with the unspent ETH. Works while paused and after expiry.

    Expiry

    Buying stops. Nothing is forfeited — WITHDRAW still works, and after expiry anyone can trigger the refund, which still pays only you.

    Setting a stop loss laterThe SET SL field on the card: type a USD price and confirm, or leave it empty to remove it. Stop loss set at $0.0995 · the keeper watches it. Cycles created on the older contract have no stop loss at all and say so.
    Everything is a real transactionClose, withdraw and stop-loss changes are all signed and mined. A rejected wallet prompt changes nothing: Cancelled in wallet — your cycle is still open. It is only closed once the chain says so.

    Limits

    RuleValue
    Minimum base0.00085 ETH (≈ $2)
    Multiplier×1 to ×3
    Step0.1 % to 50 %
    Levels1 to 12
    Take-profit0.1 % to 100 %
    Expiry10 minutes to 30 days
    Fee1 % per fill (0.9 % referred). No performance fee.
    DirectionLong only in this version.
    Getting your money out without us: withdraw(id) on the martingale contract returns the escrowed tokens in kind plus the unspent ETH, with nothing sold and no route data needed. Details at /desk/help/bots.

    Section 8

    8 · Bots

    Strategies that keep trading while you are not looking. Your money sits in an escrow contract that only your wallet can empty — never with us.

    /desk/bots · three tabs: My bots · Create · Leaderboard.

    The one thing to know before you start. Every bot's funds live in a smart contract, booked to your address. There is a withdrawal function on every one of them that needs nothing but your bot id and your wallet — no keeper, no server of ours, and it works while the contract is paused. The complete step-by-step, with contract addresses and a bot-id finder that reads the chain directly, is at /desk/help/bots. Read it once before you put real money in.

    Creating a bot

    1. Open Create and pick a strategy

      Six cards, each with what it does and what it is best for. A card marked Soon is not live yet.

    2. Pick a token

      Search by symbol or name, or paste an address. The list is sorted by liquidity and dead tokens are filtered out. Arriving from a token page pre-selects it.

    3. Set the amount

      Chips give you 0.1 / 0.25 / 0.5 / 1 ETH, and MAX leaves 0.002 ETH behind for gas. The hint under the field tells you the dollar size and, for grids, that half is kept in ETH and half is bought at the start.

    4. Leave AUTO on, or set the parameters yourself

      ⚡ Auto · 7d vol reads the token's 7-day volatility and picks the range and spacing for you. Typing in any strategy field switches it to Manual. See below.

    5. Read the preview — and the rejection if there is one

      The preview backtests the configuration and shows the net profit per grid, the estimated return and the price impact. If the configuration cannot be profitable, the CREATE button stays disabled and a red box tells you why.

    6. Decide whether it is public

      Make public · leaderboard — listed right away · copiers make you their referrer (30 % of fees). A private bot never appears anywhere.

    7. Create it

      One transaction. Before your wallet opens, the transaction is pinned to the right contract on the right chain with readable calldata and a quote that has not expired. The button walks through PREPARING…SIGN IN WALLET…WAITING FOR THE BLOCK…, and you land on the bot's detail page.

    Every bot expires after 30 days. Expiry only stops it from trading — it never forfeits anything, and the withdrawal still works exactly the same afterwards.

    The six strategies

    Infinity Grid

    livebest for uptrends

    Sells a fixed ETH value on every step up and buys it back on every step down, with no ceiling. Each round trip banks the step. Designed for a token you are happy to hold while it moves.

    FieldDefaultRangeWhat it does
    You deposit0.5 ETHHalf is bought at market immediately; half becomes the reserve that funds the buys below.
    Profit per step · net4 %2.5 – 50 %The net profit per completed step, after the 1 % fee on each leg and the pool fee. The step is what you keep.
    Floor priceautobelow spotThe bot stops buying below this. Set it where you would stop buying by hand. Up to 60 rungs fit below it.
    Take profitoff+25 / +50 / +100 %Sells everything and closes the bot at that price.
    Stop lossoff−10 / −20 / −30 %, or any priceSells everything and closes the bot. You are guaranteed at least the stop price minus 3 %.

    Withdraw yourself with stop(id, 0x, 0, false). Add funds: yes, on v3 bots.

    The risk, in the product's own words: In a downtrend the bot keeps buying until the floor. Set the floor where you'd stop buying; an optional stop loss sells everything below it.

    Spot Grid

    livebest for sideways chop

    N levels between two prices you choose. Each level buys at its own price and sells at the next one up. More predictable than Infinity Grid when you have a view on the range.

    FieldDefaultRangeWhat it does
    You deposit0.25 ETHSplit across the levels. Levels above the current price are bought at market inside the creation transaction.
    Lower / Upperautolower < upperThe range. Each field shows its distance from spot as a percentage.
    Grids122 – 60How many levels the range is cut into. More levels means smaller profit per level.
    ModeGeoGeo / ArithGeometric spacing (equal percentages) or arithmetic (equal dollar gaps).
    Stop lossoffbelow the rangeSells everything and closes the bot.
    Take profitoffabove the rangeSells everything and closes the bot.

    The profit per level is enforced by the contract, not by us: it refuses a configuration whose worst level nets under 2.5 %, and it refuses a keeper sale below the level's own floor. The keeper cannot sell a level at a loss.

    Withdraw yourself with stop(id, 0x, 0, false). Add funds: yes, on v3 bots. The stop loss cannot be changed later — the contract has no setter for it.

    The risk: If price leaves the range the bot stops trading. Below the range you hold the token at a loss; above it you hold ETH and miss the upside.

    DCA

    livebest for accumulating

    Fixed ETH buys on a schedule, so your entry is an average instead of one bet on one moment.

    FieldDefaultRangeWhat it does
    Total budget0.2 ETHThe whole plan.
    Per buy0.02 ETH≥ 0.00085 ETHEach instalment.
    Every6 hours≥ 5 minutesThe interval. It re-arms from the block it actually fires in, so a keeper outage never causes a burst of catch-up buys.
    Buyscomputed1 – 1000Budget ÷ per buy. Read-only.
    Take profitoff+25 / +50 %, ≤ 100 %Sells everything once the escrowed tokens fetch that much more than was spent.
    Stop lossoffbelow spotSells everything and closes the bot.

    By default each purchase is delivered straight to your wallet. Setting a take-profit or a stop loss changes that — the tokens have to stay in escrow for the bot to be able to sell them.

    There is a deviation band of 10 %: if the price runs more than that above the last buy, the plan pauses rather than chasing. The bot's status line says so, and you can re-anchor it to buy anyway.

    Withdraw yourself with stop(id, 0x, 0, false).

    The risk: DCA buys on schedule regardless of price. If the price runs more than your deviation band above the last buy, the plan pauses until you re-anchor it. And averaging into something in structural decline just buys more of a losing position, more slowly.

    Martingale

    runs from the trade panelbest for dip reversals

    Scales into a falling price with progressively bigger buys, then exits the whole position at a target above the average cost. It is listed in the bots hub but it is not created there — pressing the card tells you: Martingale runs from the trade panel: open a token → MARTINGALE tab.

    Full documentation, including every parameter and the cycle mechanics, is in §7.

    Withdraw yourself with withdraw(id) — you get the tokens bought so far plus the ETH still reserved for the levels that never triggered, without anything being sold.

    The most dangerous strategy on the platform. Each step buys more. If price never recovers +TP from average cost, the position stays open. A sustained fall spends your whole budget near the top of the decline.

    Smart Rebalance

    Coming soonbest for baskets

    2–4 tokens at target weights, rebalance on drift.

    This is not built yet. There is no contract and no engine behind it. The card is greyed out, pressing it says Smart Rebalance is coming soon, and going to its URL directly gives you the same message. It cannot be copied from the leaderboard either. It is documented here because it is visible in the product, not because you can use it.

    Its risk line is already written for the day it ships: Rebalancing sells winners to buy losers. A token going to zero drags the basket.

    TWAP

    livebest for big orders

    One large order chopped into slices executed at intervals, so you do not move the price against yourself. Unlike DCA this is a single order you want completed, not an ongoing plan.

    FieldDefaultRangeWhat it does
    SideBuyBuy / SellBuying spends ETH; selling spends the token (and needs an approval).
    You buy with / You sell0.5 ETHThe full order size.
    Over60 mininterval ≥ 60 sHow long the whole order takes.
    Slices121 – 200How many pieces. The last slice carries the remainder and closes the order.
    Limit · max above spot3 %0 – 50 %Caps what any single slice can pay. Enforced by the contract on every slice.

    Each slice is delivered straight to your wallet as it executes.

    Withdraw yourself with stop(id) — you get back everything not yet executed.

    The risk: Slices are public on-chain. A sniper can see the pattern; the limit price caps what any slice can pay, and you can stop at any time.

    AUTO mode

    The ⚡ Auto · 7d vol toggle is on by default for both grids. With it on, the range and spacing fields are left blank and the server derives them from the token's own history. It writes the numbers it chose back into the form, so you always see what it decided.

    What AUTO computes
    vol   = standard deviation of hourly returns over 7 days
    spacing = vol ÷ 8, clamped to 3 % … 12 %

    Spot Grid — lower = min(7-day low × 0.95, price × 0.97)
               upper = max(7-day high × 1.05, price × 1.03)
               grids fitted to the spacing, clamped 2…60

    Infinity Grid — step = the spacing
                  floor = min(7-day low, price × 0.95)
    With no usable history it assumes 30 % volatility and widens to ±20 % / −25 %.

    Typing in any strategy field — or switching geo/arith — flips the toggle to Manual and your numbers are used from then on. AUTO is not offered for DCA or TWAP, where the fields are the strategy, and it is never used on a copied bot.

    The preview, number by number

    The preview redraws about half a second after any change. It plots your levels over real candles and shows six tiles.

    Gross / gridThe raw distance between a buy level and its sell level, before any fee.
    Net / gridThe number that matters. What is left after the 1 % Desk fee on each leg and the pool's own fee on each leg. For Spot Grid this is the worst level in the range, and it is what the contract enforces.
    Grids filled 7dHow many times the backtest crossed a level in the last 7 days.
    Est. 7d returnThose fills multiplied by the net per grid, as a percentage of your deposit.
    Est. APRThe 7-day return × 52. It is an extrapolation of one week of a memecoin. Treat it as a shape, not a forecast.
    Impact / fillHow far your own order moves the price in this pool. Above 150 basis points (1.5 %) the configuration is rejected outright.

    Under the tiles you get the per-level size in ETH and dollars, and how many sell levels will be seeded at the start. Under the parameter fields there is a live line: Profit per grid 7.28 % gross · net ≈ +3.05 % after 1 % fee each leg.

    The backtest

    Window7 days for the grids, 30 days for DCA. In practice most memecoins have only a few hours of history, and the preview says so: backtest covers only 29.2h of swap history.
    DataThe raw swap history of the pool — every actual trade — not candles. Trades with impossible prices are discarded.
    What it doesReplays your levels against those trades. A level flips to bought when a trade prints at or below it, and to sold when one prints at or above the level above. It reports the buys, the sells, the drawdown in rungs, and the volatility, high and low it measured.
    Extrapolation capA short history is scaled up to a week, but never by more than 28×.
    DCA's versionSimulates the whole schedule at historical prices and reports it in a sentence: if it had run: avg cost $0.122199 vs spot $0.122114, 0.07 % worse (2/10 buys inside the 29.35 h of history).
    TWAP's versionCompares slicing against one market order of the full size: one market order of the full size: impact 312 bps · sliced: 41 bps per slice → ≈ 2.9 % more tokens (≈ $18.4) — and subtracts the keeper gas it costs.
    Past 7d ≠ next 7d. That sentence is printed under every preview and it is the honest summary. A backtest over a few hours of a token that is two days old is close to meaningless.

    The profitability guard

    A bot that cannot be profitable cannot be created. This is not a warning you can click through — the preview returns a rejection, the CREATE button stays disabled, and the server refuses to build the transaction at all.

    The rule
    net profit per grid must be ≥ 2.5 %
    after the 1 % Desk fee on each leg and the pool fee on each leg
    The contract enforces the same floor independently — even if the API were wrong, the chain would refuse.

    The rejection tells you how to fix it, with the exact maximum for your range:

    RejectionWhat to change
    net profit per grid 1.14 % < 2.5 % minimum — widen the range or use fewer grids (max 16 for this range)The levels are too close together to clear the fees. Use fewer grids or a wider range.
    per-level amount 0.0006 ETH < minimum 0.00085 ETH — fewer grids or more budgetEach level has to be able to place a real order.
    current price 0.122 is outside the range 0.11–0.13The bot would sit idle from the start.
    pool too thin for this size: impact 180 bps > 150Your own order would move the price too much. Smaller size, or a deeper pool.
    floor 0.09 is above the current price 0.122 / floor too close to the price: not even one rung fits belowInfinity Grid needs room below the price.
    interval 120s < minimum 300s (5 min)DCA cannot buy more often than every five minutes.
    schedule (45 d) runs past the 30 d expiry — fewer buys or a longer expiryBots live 30 days maximum.
    take-profit needs the tokens in escrow (deliver=0)DCA cannot both deliver each buy to your wallet and sell them later.
    stop loss 0.14 must be below the current price 0.122A stop on a long sits below the price.

    Where the preview can suggest a fix it offers an inline Fix it → button that switches to Manual and applies it.

    Hook pools cost extra, and the preview knows. Some pools have a "hook" that takes its own cut of every swap on top of the 1 % fee. The Desk measures that cut rather than trusting what the hook claims — one pool was measured taking 2 % while declaring 1 %. When one is present you get the warning this pool's hook takes 2.00 % on every swap (on top of the 1 % fee) — already subtracted from the net per grid, and every number in the preview already accounts for it.

    Stop loss and take profit

    Both sell the entire position and close the bot. Neither is a partial exit.

    Setting themAt creation, as percentage chips with the resulting price shown underneath, or as a price you type. Spot Grid takes plain prices and requires the stop below the range and the take-profit above it.
    The guaranteeThe keeper sells the whole position once the pool pays that price or less — you always receive at least the stop price minus 3 %. The contract enforces both halves: the sale must clear that floor, and it must prove the price really is at or below the stop. No oracle is involved.
    Fee-aware triggersThe prices are stored net of fees, so the 1 % and the pool fee are already inside the trigger — a stop at $0.10 means you receive as if the price were $0.10, not before costs.
    SpeedMeasured end to end at roughly 4–6 seconds from the price touching the stop to the sale being mined.
    Changing it laterPossible on Infinity Grid and DCA only, from the bot's detail page: one signature plus one transaction. Spot Grid's stop is immutable — the contract has no setter, so choose it carefully at creation.
    A stop loss depends on the keeper being alive. It is not a contract-side trigger that fires by itself. If the keeper is down, the stop does not fire. Your funds are still safe and still withdrawable — but the protection you were counting on is not there. This is the single most important limitation of every bot on the platform.

    Add funds

    An open v3 Spot Grid or Infinity Grid can take more ETH without being restarted. Older bots cannot — the button is disabled with the note this bot was created before top-up existed — open a new bot with the extra amount.

    1. Press Add funds

      On the bot's detail page, next to Stop.

    2. Choose an amount

      Chips are 0.01 / 0.05 / 0.1 ETH, or type your own. The minimum is 0.0017 ETH; below it the sheet says Too small — add at least 0.0017 ETH — half of it is bought at market.

    3. Read the split estimate

      It updates as you type: 0.05 ETH → 0.025 ETH market buy ≈ 210 CASHCAT · 0.025 ETH for 3 buy rungs below (was 2).

    4. Sign and send

      One signature plus one transaction. Before sending, the client checks the transaction goes to this bot's contract and that the value matches what you typed to nine decimal places.

    Infinity Grid splitHalf buys at market and joins the position; half goes into the reserve that funds the buys below. Because the held value grows, every future step buys and sells more. Each new lot is recorded at its real cost, so the next sell is still profitable against what was actually paid.
    Spot Grid splitSpread per level, like the original open — not 50/50. Levels currently holding the token get more bought at market; levels waiting to buy get more ETH behind them. Same profit floor per level, same lines. With one sell level and three buy levels only 25 % goes to market.
    It is investment, not profitThe added money increases the bot's invested figure and appears in the fills list as an ADD row. It never inflates the grid profit or the fill count, and it lands in the same bot record — so the same withdrawal returns it too.

    The bot detail page

    The five tiles

    Total profitRealised plus unrealised, in dollars, with the percentage on your investment. The APR is hidden until the bot is 24 hours old — before that it would be an annualised number from a few hours of luck.
    Grid profitMoney actually banked: for every sell, what it fetched minus the cost of the buy it closed, converted at the ETH price of that fill. This is the number that cannot be taken away by the market.
    Floating PnLMark-to-market on the tokens the bot is currently holding. This one moves with the price and can go to zero.
    ArbitragesHow many fills, how many were completed pairs, and the rate per day.
    InvestmentWhat you put in, including top-ups, and whether the price is currently inside the working range.

    The two charts

    The PnL curve plots total PnL as an area with grid profit and floating PnL as lines, from a snapshot taken every five minutes. Until there are two points it says the PnL curve starts with the first fill.

    The grid chart draws candles since the bot was created with every level on it: solid and labelled when a level is armed, dotted grey when it has already filled. Your floor, stop, take-profit and the current price are all marked. Fills appear as arrows on the candles — green up-arrows for buys, red down-arrows for sells, with the amount, collapsing to ×3 when several land on the same bar. Scroll or pinch to zoom, drag to pan, double-click to reset, and the button expands the chart to full width — a choice remembered on your device. Your zoom survives a refresh.

    The fills list

    Nine columns: Side · Level · Price · Amount · Value · Fee · Pair profit · Tx · Age. Eight rows show at first with a Show 20 more button under them.

    LevelWhich grid level or rung filled, signed for Infinity Grid (+3, −2).
    FeeThe 1 % taken on that fill, in dollars.
    Pair profitOn a sell: what that completed round trip earned, in dollars and percent. On a buy: closed if its sell has happened, open if it has not. On a top-up: investment.
    TxLinks to the transaction on the block explorer. Every fill is verifiable.

    The header explains the accounting in one line: profit booked when a buy closes against its sell.

    Stopping a bot

    Before you choose, the panel shows exactly what is in the escrow, what the token is worth now, the grid profit already locked, what the floating PnL would become if sold, and the fee and slippage a sale would cost.

    Sell all → ETH

    The keeper market-sells the token at up to 3 % slippage and sends all the ETH to your wallet. You pay the usual 1 % fee plus the pool fee on that one sale. Everything becomes realised.

    Keep tokens

    No swap, no slippage, no swap fee. The token comes back to your wallet exactly as the bot holds it, together with all unused ETH. You sell where and when you like. Cheaper in gas too.

    Either way it is one signature plus one transaction from your wallet, and the contract refuses if the keeper is mid-fill. Both modes work while the contract is paused and after expiry. Your bot shows as stopped within a few seconds.

    Stopping is irreversible. A closed bot can never be restarted; open a new one if you want to keep trading.

    The leaderboard and copying

    The Leaderboard tab lists public bots that are in profit, ranked by return, over 7 or 30 days. A losing bot never appears. A private bot never appears. Each row shows the creator, the strategy and token, how many copies it has, and its APR.

    What copying does

    1. Press Copy

      You land on a create screen in copy mode. Every strategy field is hidden and there are no level lines on the chart — the preview header just says 24 levels · strategy hidden.

    2. Choose your own amount and duration

      Those are the only inputs: the amount, and Runs for — 7, 14 or 30 days. The card shows the source bot's PnL, runtime and fill count so you can judge it.

    3. Create it

      The strategy is cloned server-side, scaled to your amount and re-based to today's price — every level, floor, stop and target is shifted by how far the price has moved since the original was created. It runs in your own escrow, from your own wallet.

    What stays hiddenThe leaderboard never exposes the parameters — no range, no grid count, no step, no floor. Even the rejection messages are neutralised in copy mode so they cannot leak the strategy: you get this amount is too small for the copied strategy rather than a message naming the level count.
    What the creator getsThey become your referrer. You pay 0.9 % instead of 1 %, and they are credited 30 % of that fee on-chain, forever. Their bot page then reads · 3 copies · earning 30 % of their fees.
    What you getThe same strategy at your size, in an escrow only your wallet can empty. Copying gives the creator no control over your money whatsoever.
    Honesty noteThe parameters are necessarily inside the transaction you sign — the interface simply does not display them. Someone determined enough to read their own calldata can see them. "Hidden" means hidden in the product, not cryptographically secret.

    What bots cost

    Performance feeZero. We take nothing from your profit.
    Per swap1 % — or 0.9 % if you were referred. Note that a completed grid round trip is two swaps, so it pays 2 % (or 1.8 %) to The Desk plus the pool's fee twice. That is exactly why the net-per-grid guard exists.
    Deposit and withdrawalNothing beyond gas.
    Minimum per fill0.00085 ETH. Every level, step, instalment and slice must clear it — this is what causes most "too small" rejections.
    Minimum top-up0.0017 ETH.
    GasAbout $0.007 per transaction. Creating a grid is the most expensive operation; a withdrawal costs a fraction of a cent.

    A practical floor: an Infinity Grid with a 4 % step needs roughly 0.025 ETH before the per-step size clears the minimum fill.

    Reading the hub

    Status chips on each bot: Running Out of range Stop loss Take profit Expired Paused Pending Closed. Filters let you see Active, Closed or All — stopped bots stay with their final PnL so the history counts.

    A small tag at the top says whether the keeper is alive (keeper ok · 1.4s) or not (keeper offline). If it is offline, no bot is filling anything.

    Reading your own bots takes one signature. No gas, no transaction — it just proves the wallet is yours so private bots can be shown. The count badge on the BOTS nav item only refreshes when that signature is already cached; it will never pop your wallet on its own.

    Section 9

    9 · Predict

    One question — is Bitcoin higher at the end of this five-minute window than at the start — offered through two completely different pools. /desk/predict

    Read this before you read anything else. Predict is zero-sum against the other side of the pool, and the fee means the average participant loses money over time. It is not a trading strategy and it is not investing. Bet what you would shrug at.

    Two pools, one bet

    NLYRA poolPolymarket pool
    WhereOur own contract, Robinhood Chain 4663Polymarket's order book, on Polygon
    You stakeETHpUSD
    MechanismParimutuel — you split the losing side's stake. The payout moves until lock.Order book — you buy UP or DOWN shares at a price in cents; a winning share pays $1.
    Settled byPredictOracle, bounded on-chain by ChainlinkChainlink BTC/USD 60-second TWAP named in the market rules
    DepthThin. With little in the pool the odds are lopsided and one bet moves them.Deep. Six figures can be resting in a single window.
    Minimum0.0004 ETH5 pUSD
    The Desk takes3 % of the poolA builder fee, currently 0 %
    Exit earlyNo — a bet is committed until the round resolvesNot from The Desk. Only on Polymarket's own site.

    The pool switcher sits at the top of the page. The Polymarket tab labels itself with the live depth of the current window — that number is the entire reason the pool exists.

    The NLYRA pool, step by step

    1. Find the NEXT card

      The carousel holds up to seven cards: the last four settled rounds, the one running now, the one open for bets, and the one after that. Badges are EXPIRED, LIVE, NEXT, LATER. Only the NEXT card takes bets. The page centres it for you when it loads.

    2. Press UP or DOWN

      The card flips to a ticket. If you press with under 5 seconds to lock you get told to take the next window instead.

    3. Type an amount

      Chips give you 0.001 · 0.005 · 0.01 · 0.05 · MAX, and the ticket opens pre-filled at 0.005 ETH. MAX leaves 0.0006 ETH behind for gas.

    4. Read the payout preview

      It reads If UP wins you collect 0.0121 ETH — 2.42× at this pool size. That figure already includes your own money in the pool, which is more honest than showing you the multiplier from before you bet. It is still not the number you will be paid — see the warning below.

    5. Confirm and sign

      The button walks through PREPARING…SIGN IN WALLET…. Before your wallet ever opens, the transaction is checked: the right contract, chain 4663, readable calldata, and a wei value that matches the string you typed to the last digit. Anything off and it is refused with no prompt.

    6. Wait for the round

      Your entry shows immediately as confirming… and the other side is greyed out — one side per wallet per round. At lock the round takes its price and stops accepting entries; five minutes later it closes.

    7. Claim

      Nothing is paid automatically. When the round settles the card grows a CLAIM 0.0031 ETH button, and the "Your record" panel gets a claim-all. One transaction can settle up to 128 rounds at once.

    Round timing, exactly

    Interval300 seconds. In practice a round is about five minutes, not exactly — the close time is stamped from the block in which the keeper actually locks it, so 305 seconds is normal. Every countdown on the page is driven off the real lock and close times, never off an assumption.
    Betting windowThe whole gap between the previous lock and this one — roughly the full five minutes.
    Buffer30 seconds. The keeper's lock call is only valid inside that window; miss it and the round is cancelled rather than settled late.
    Oracle allowance120 seconds. A settlement price older than that is not fresh, and the round is cancelled instead of being settled on a stale number.
    The countdown ringDepletes over the round and turns red in the last ~36 seconds. Click it to open the in-app explainer.

    The three prices — and why that matters

    Predict deliberately keeps three separate BTC numbers apart, and confusing them is the fastest way to misread the screen.

    NumberWhere it comes fromWhat it does
    The line and the big priceA direct exchange socket in your own browser — Binance first, Coinbase as a fallback. If both fail, our own 1-second composite (the median of Binance, Coinbase and Kraken).Display only. It settles nothing.
    The settlement pricePredictOracle, published once per round.This, and only this, decides who wins.
    The anchorChainlink BTC/USD on this chain.Bounds what the oracle is allowed to publish.

    The chip in the header says which is which — live: Binance · settles: PredictOracle (Chainlink-bounded) — and turns amber when the exchange socket drops, with the note that settlement is unaffected.

    Why there is an oracle at all, and what stops it lying

    Chainlink's BTC/USD feed on Robinhood Chain republishes on a 0.5 % move or a 24-hour heartbeat. Measured on-chain, the median gap between updates is about 2.6 hours. Settling a five-minute round straight off it would print the same price at lock and at close nearly every time — every round a draw. So a keeper-fed oracle supplies the granularity.

    Chainlink is not bypassed; it is the fence. Publishing to the oracle runs this check on-chain, and reverts if it fails:

    PredictOracle.push — the bound
    deviation = |pushed − chainlink| ÷ chainlink
    if deviation > 10 % → revert OffAnchor
    The owner can tighten this but can never loosen it past 20 %.
    • The pushed price must be within 10 % of the live Chainlink answer or the transaction fails. The keeper cannot print a number; it can only fill in detail inside a band Chainlink vouches for.
    • If Chainlink itself is down, the push reverts too — there is no "anchor unavailable, publish anyway" path.
    • The oracle round id must strictly advance. Re-serving the same reading does not count as fresh, and the round is cancelled rather than settled twice on one number.
    • The keeper refuses to post at all unless at least two of its three exchange feeds are fresh. It will not settle a round on a single source.

    The fee and the payout, exactly

    Settlement math
    total  = UP pool + DOWN pool
    fee    = total × 3 %
    reward = total − fee

    your payout = your bet × reward ÷ (winning side's pool)
    The 3 % is taken on the whole pool — both sides — not on the winning side. The in-app explainer words this loosely ("a 3% fee on the winning pool"); the contract charges total × 3 %. This manual describes what the contract does.

    A worked example

    StepValue
    UP pool0.0240 ETH
    DOWN pool0.0110 ETH
    Total pool0.0350 ETH
    Multiplier shown on UP0.0350 × 0.97 ÷ 0.0240 = 1.41×
    Multiplier shown on DOWN0.0350 × 0.97 ÷ 0.0110 = 3.09×
    BTC closes below the lock priceDOWN wins
    Fee0.0350 × 3 % = 0.00105 ETH
    Reward pot0.03395 ETH
    You bet 0.0010 ETH on DOWN → you collect0.0010 × 0.03395 ÷ 0.0110 = 0.003086 ETH
    Everyone on UPLoses their entire stake
    The multiplier you see is not the multiplier you get. It moves every time anybody bets, and it is only final at lock. A card showing 8× is showing you that almost nobody is on your side yet.

    Minimums and maximums

    Minimum0.0004 ETH — around $1. Enforced by the contract, by the API and by the button, which reads MIN 0.0004 ETH and refuses.
    MaximumNone. The practical cap is your balance: the button reads NOT ENOUGH ETH once the amount exceeds your balance minus the 0.0006 ETH gas reserve.
    One position per roundYou cannot bet both sides, and you cannot add to a position. The contract rejects a second bet in the same round.

    Draws, refunds and cancelled rounds

    Two things can happen that are neither a win nor a loss, and the page never renders either of them as a loss.

    DRAW · REFUNDThe close price is exactly equal to the lock price, or the winning side had no money on it. Every stake is returned in full and the house takes nothing — no fee is charged on a refunded round.
    CANCELLEDThe round could not be settled honestly. Every stake becomes fully refundable through the same CLAIM button.

    A round is cancelled when: the oracle was stale at lock or at close; the oracle's round id did not advance; the keeper missed its 30-second lock or close window; a round was never locked; or the contract was paused with a round open. Each cancel is recorded on-chain with its reason.

    You do not need us to get a stuck stake back. Past the close time plus the buffer, the contract's own refundable() starts returning true by itself. No keeper, no operator and no human at The Desk is needed for a player to reclaim their money from a round that never settled.

    What every number on the screen means

    NEXT card
    ▲ UP
    1.41×
    PAYOUT
    PRIZE POOL
    0.0350 ETH
    ≈ $86.35
    ▼ DOWN
    3.09×
    PAYOUT
    1.41× / 3.09×What one unit on that side would be paid if the pools stopped moving right now. A side with nothing on it shows and the label changes to be first.
    Prize poolBoth sides combined, in ETH, with a dollar equivalent.
    The big price and ▲ +$65.28The live exchange price and how far it has moved from the lock price of the running round. Before a lock it reads waiting for lock.
    LOCK $77,839The dashed line on the chart — the price the running round was locked at. Everything is measured against it.
    SETTLE 143S / ANCHOR 52BPSWarning chips. The first means the settlement oracle has not published recently — the chart is unaffected, but a round that would settle on a stale oracle is cancelled and refunded. The second means the oracle and Chainlink have drifted apart.
    Your recordPnL in ETH, win rate over your bets, and your current streak. Reading your own bets needs one gasless signature — no transaction, no fee.
    Stats stripRounds in 24 h · volume in 24 h · the share of rounds UP won · the biggest single win · players in 24 h.

    The chart shows a 30-minute window (20 on a narrow phone) with each round drawn as a band, coloured green or red by its outcome and grey when void. The leaderboard tab ranks by PnL or by streak over 24 hours or 7 days, with a flame on anyone running three or more wins.

    The Polymarket pool

    This surface trades Polymarket's own book. Your counterparty, the price and the settlement are theirs. The Desk stamps its builder code on the order so the routing is attributed to it, and that is the whole of our involvement.

    1. Fund a Polygon wallet with pUSD

      This pool settles in pUSD on Polygon — not USDC.e, and not the ETH the NLYRA pool uses. You deposit it on Polymarket or bridge to Polygon; The Desk has no deposit flow and never takes custody. The page checks your balance and your two approvals (pUSD for the exchange, and your outcome tokens) and shows you exactly which step is missing.

    2. Pick a window

      Up to four five-minute windows are shown, the first badged NOW. Each card shows the price of each side in cents — 61¢ / 40¢ — with the implied multiplier under it, the depth in the book, and the 24-hour volume.

    3. Press UP or DOWN and enter an amount

      Chips are $5 · $10 · $25 · $100. The minimum is 5 pUSD and prices move in 1¢ ticks. The preview tells you how many shares you get and reminds you they are worth $0 if you are wrong.

    4. Sign twice

      Your wallet is switched to Polygon. You sign the order itself, and once per session you sign to mint your own Polymarket API key. Those credentials live in your browser only and never touch a Desk server. The order goes straight from your browser to Polymarket.

      Three checks run before any signature: the order must be for chain 137, must be signed by your address, and must carry the builder code we advertised.

    5. Collect on Polymarket

      A winning share is worth $1 once the market resolves, but the payout is claimed from the contract on Polygon. There is no redeem button here — Polymarket's own site does it for you and is the easiest place to collect.

    Builder feeRead live from Polymarket and printed as-is. Right now it is 0 % — attribution only, costing you nothing extra. If it were ever non-zero the ticket would show the exact amount in dollars before you signed.
    SettlementChainlink's BTC/USD 60-second TWAP for the window named in the title — not spot, and not our feed.
    A tie resolves UPPolymarket's rule is "greater than or equal to", so an exact tie pays the UP side. This is the opposite of the NLYRA pool, where an exact tie is a draw and everybody is refunded.
    Buy onlyThe Desk exposes buying a side and nothing else. There is no sell, no limit order and no early exit here — to close a position before resolution you go to Polymarket.
    No open-orders listDeliberately absent: that read needs your own Polymarket credentials, which this server never holds.
    Region. Polymarket geoblocks some countries by IP, and because the order goes direct from your browser, it is your location that decides. If you are in a blocked region the order is refused by them and the page says so plainly: Polymarket does not accept orders from your region. That is their restriction, not ours — the NLYRA pool above still works.

    Messages you may see

    MessageWhat happened
    That round just locked — the next one is openYou were a moment late. Nothing was sent.
    Too late — this round is lockingUnder two seconds to lock; the bet is refused rather than risked.
    You already have a position in this roundOne side per wallet per round.
    PREDICT is paused — no new entriesThe contract is paused. Existing rounds still resolve or refund; claims still work.
    The transaction reverted — nothing was takenThe bet did not land. Your optimistic entry is removed and your money never left.
    Not enough ETH for this bet plus gasLeave at least 0.0006 ETH for the transaction.
    refused: …A safety check failed before your wallet was ever opened — wrong chain, wrong contract, a claim carrying ETH, or an amount that does not match what you typed. Nothing was signed.
    PREDICT is warming upThe round feed is not answering. The page retries every second on its own.
    Polymarket is not answeringThe 5-minute markets are fetched from Polymarket every second and a half; this is their side.
    Sound is off by default. The speaker icon in the header turns on short tones for lock, close, bets and wins, and the setting is remembered. All motion — the chart easing, the card flip, the confetti on a win — is disabled if your device asks for reduced motion.

    Section 10

    10 · MY BAG & how PnL is calculated

    The board of things you own answers a different question from the board of things that exist, so it shows different numbers.

    Opening it

    1. Connect your wallet

      Without one there is nothing to show, and the filter is not remembered across sessions when no wallet is connected — a saved preference must not open an empty board.

    2. Press MY BAG on the market board's filter rail

      The board switches to your holdings and the sort jumps automatically to VALUE, largest first. Leaving MY BAG puts the sort back to VOL.

    What appears: every token your wallet holds. That includes tokens on no board at all — they are fetched individually so you get a real row rather than a bare address.

    What the row shows

    MY BAG row
    P
    PEPE
    412.5K PEPE · avg $0.00000291
    $1.42
    +$0.22 · +18.2%
    HoldingHow many tokens you hold right now, read from the chain.
    avg $…Your average cost per token. Omitted entirely when it cannot be established.
    ValueHolding × current price. This one always shows.
    +$0.22 · +18.2%Unrealised profit in dollars and in percent, against your average cost. Both print together when there is no cost basis.

    On desktop the same four figures replace MC / LIQ / VOL / BUY PRESSURE in the table, as VALUE · AVG COST · UNREALIZED $ · UNREALIZED % — on the board of things you own, the four numbers that matter are yours. Each of them is also a sort.

    How PnL is actually computed

    This matters more than it looks, because it is the difference between a number you can trust and a number that flatters you.

    MethodAverage cost. Every buy of a token rolls into one average entry price; a sell realises against that average. Not FIFO, not last-in.
    Where the trades come fromYour wallet's ERC-20 transfers, read from the block explorer. A transfer only counts as a trade if its transaction also emitted a Swap event — a transfer in from a friend is not a buy.
    Where the dollars come fromThe quote leg of that specific swap at the moment it happened — the ETH or USDG that actually moved, converted at the ETH price of that time. It is never a "price as of now" applied backwards to an old fill.
    Cost basisholding × avgCost, and only when both the average cost and the current price are known and positive.
    Unrealised %unrealised ÷ cost × 100.
    RealisedBooked at the moment of the sell, against the average cost at that moment.
    Fees and gasThe 1 % swap fee is taken out of the trade itself, so it is already inside the USD figures. Network gas is not tracked as a cost.
    No cost basis, no number. If a token arrived by airdrop, by transfer, or through a fill the index never saw, the cost cannot be established — so every PnL surface prints . It is never quietly treated as a zero-cost buy, because that would print an infinite gain.
    It is recent PnL, not lifetime PnL. The wallet reader walks roughly the last 150 token transfers. A wallet with a longer history gets its most recent activity, so the totals are "what has been happening", not a career record.

    The totals strip

    Above the rows, only on the market board with MY BAG on and something in the bag:

    OPEN POSITIONS
    $412.90
    UNREALIZED
    +$63.45 (+18.2%)
    ORDERS
    3
    show dust · 4 under $0.5
    OPEN POSITIONSThe total current USD value of everything you hold — including positions with no cost basis, because their value is still real.
    UNREALIZEDSummed only over the positions that have a cost basis, and the percentage is money-weighted: total unrealised ÷ total cost. A 400 % win on $3 does not make a $900 bag green. Prints if no position has a basis at all.
    ORDERSHow many limit orders you have open. This cell disappears entirely when the count is unknown, rather than showing a misleading zero — it is a by-product of an order book you already opened, never a fresh signed read.

    The dust filter

    A position worth less than $0.50 is dust. Dust is hidden by default — otherwise a wallet that has touched fifty tokens shows fifty rows of nothing.

    • The button reads show dust · 4 under $0.5 when hidden, and hide dust when shown. It only appears when you actually have dust.
    • The setting is remembered.
    • The toggle governs rows, not totals. OPEN POSITIONS and UNREALIZED always count every position, dust included, so the totals do not jump when you press it.

    Empty states

    SituationWhat it says
    Wallet connected, nothing heldNothing in the bag yet — the tokens you hold show up here a few seconds after a fill.
    No walletConnect your wallet to see the tokens you hold.

    Both offer a link to open my account.

    Refresh timing. Positions come from a single wallet read cached for 30 seconds, and are force-refreshed when you connect a wallet and about 4 seconds after any confirmed trade or order change. A brand-new fill takes a few seconds to appear — that is the index catching up, not a lost trade.

    Section 11

    11 · Leaders

    Five rankings, three windows, and one rule that makes the whole thing honest: only what happened through The Desk counts.

    /desk/leaders · no wallet needed to look, no signature required. Connect one and your own row appears at the bottom.

    The five boards

    TabRanks bySecond figure on the row
    TRADES (default)Number of tradesSigned PnL
    VOLUMEUSD volume, buys and sellsSigned PnL
    PNLRealised PnLWin rate
    REFERRERSFees earnedReferral count
    BOTSTotal bot PnLAPR

    Windows: 24H · 7D (default) · 30D. The board calls them today, this week, this month in prose. Both the tab and the window are written into the URL, so any view you are looking at is a link you can send.

    Reading a row

    Rank · avatar · handle (or a shortened address) · the address with a copy button · a sub-line · the ranking value · a second figure · a trend arrow. With three or more entries the top three are lifted into a podium, laid out 2 · 1 · 3 with the winner raised in the middle.

    The avatarGenerated from the address — the two-circle mark tinted by a hash of it. Nothing is uploaded and there is no profile picture to set.
    ▲3 / ▼2How many places the wallet moved against the previous period of the same length. A neutral dot means no change or no previous data.
    The handleA claimed @name. Wallets without one show as 0x1234…abcd and link to the block explorer instead of a Desk profile.

    Your row

    With a wallet connected, a highlighted row is pinned for you. If you are ranked it shows your place with a #. If you are not, it says exactly why rather than leaving you guessing:

    BoardWhat it says
    PNLnot ranked: no closed trade with a known entry in this window
    REFERRERSnot ranked: nobody traded on your link in this window
    BOTSnot ranked: no public bot in profit
    TRADES · VOLUMEnot ranked: no trades through The Desk this window

    The counting rules

    These are printed under each board, and they are the whole reason the numbers mean anything:

    • Only trades made through The Desk count — market, limit, ladder and bots. Trades you made elsewhere on the chain are invisible here. This board is not a chain-wide ranking and does not pretend to be.
    • A sell without a known entry is not booked as profit. That is the anti-inflation rule: buy somewhere else, sell through us, and the sale does not become a 100 % win. Only wallets with a closed trade rank on PNL at all.
    • Escrow fills count for the maker, never for the contract. A ladder or bot contract can never appear on the board with everybody's fills credited to it.
    • Referrer fees are the referrer's 30 % share of every fee a referred trader paid through the router inside the window.
    • Bots: public and in profit only. A private bot never appears, and a public bot with negative PnL does not appear either. Copying a public bot clones the strategy into your own escrow and pays its creator 30 % of your swap fees.
    • Everything is counted from Aug 21, 2026, the day the index started.
    Two banners you may see. Building the board — the index is folding for the first time since a restart; the page reloads every 5 seconds until it is done. Catching up. — the index is still syncing with the chain and recent trades may be missing for a minute.

    Sharing

    The SHARE button uses your device's share sheet where there is one, and copies to the clipboard otherwise. Ranked, it produces I'm #7 on The Desk leaderboard (most trades, this week) → nlyra.xyz/desk/leaders.

    Not the same board as TRADERS. The TRADERS pill on the market screen (/desk/traders) is a separate, older ranking with its own window and its own win-rate column. /desk/leaders is the one with the five tabs, the podium and your own row.

    Section 12

    12 · Alerts, the wallet sheet, and rap sheets

    Three ways to keep watching something without having the tab open.

    Alerts

    Open the 🔔 on any token page, or the alerts section of your account. Three kinds:

    PRICE

    Fires when a token crosses a price you set.

    LAUNCHES

    Fires on every new pool on the chain that passes your filter.

    WALLET

    Fires on every buy and sell a wallet makes.

    Price alert

    1. Open the bell on the token

      The token and its current price are filled in for you.

    2. Set Above, Below, or both

      Both are USD prices. Quick buttons give you +100% and +50% for the upper bound, −25% and −50% for the lower. You must set at least one, or it refuses with Give it a price to watch for.

    3. Save

      Alert saved. Without a wallet connected it saves on the device only: Alert saved on this device — connect to get it delivered.

    Checked every 20 seconds against the market snapshot. Tokens that are not on the board are checked against an external price source instead.

    Launch alert

    Pick which verdicts you care about — SAFE, CAUTION, DANGER, with safe and caution pre-selected — and a minimum liquidity, with quick buttons at $1K, $5K and $25K. Selecting all three verdicts means "no verdict filter".

    A token is new to you exactly once, ever. The first check after a restart records the current board silently and announces nothing, so a restart can never spam you with a hundred tokens that were already there.

    Wallet alert

    Pick one of the wallets you already follow, or paste an address. Adding a wallet alert follows that wallet too.

    Trades through The DeskCaught in real time, straight off the chain event.
    Trades made anywhere elseCaught by a sweep that checks one followed wallet per tick. With ten wallets followed, an outside trade can take a couple of minutes to reach you. This is a deliberate trade-off against the explorer's rate limit, not an oversight.

    Where alerts arrive

    In the pageA toast, and a browser notification if you have granted permission — clicking it focuses the tab and opens the token. The page polls for new events every 20 seconds, or every minute while the live socket is healthy, and pauses when the tab is hidden.
    On TelegramFrom the alert sheet or your account, request a link code. Send /link <code> as a direct message to the bot and you get 🔔 Alerts linked. back. The code is 8 characters, valid 15 minutes, single use — and asking again while one is still alive gives you the same code, so reloading the sheet never invalidates the one already sitting in your Telegram draft. /unlink in the same chat removes it from every wallet paired to it.
    Limits60 alerts, 200 watched tokens, 200 followed wallets. Over the limit, the oldest go.
    Events expireAfter 7 days.
    Saving needs a signatureYour preferences are signed so nobody else can write to them. It costs no gas. The signature is minute-stamped, which means two saves inside the same minute are rejected — wait for the next minute if you are editing quickly.
    If the feed fails twiceThe page stops polling for events rather than hammering a dead endpoint. Reload to restart it.

    The wallet sheet

    Tap the wallet on any row of the tape. This is the rap sheet for one wallet on one token.

    Wallet sheet
    0x1234…abcd DEPLOYER
    on PEPE
    BOUGHT
    $4.2K
    SOLD
    $9.8K
    NET
    +$5.6K
    PNL
    +$5.6K +133%
    #7 in TOP TRADERS · last 72 h
    BOUGHT / SOLDTheir total buying and selling in this token, in dollars. Before the index answers, these are labelled (TAPE) — they cover only what the page has loaded so far.
    NETSold minus bought. A large positive number on a deployer's wallet is exactly what it looks like.
    PNLAverage-cost profit — realised plus what they still hold at the current price. when there is no cost basis.
    The rank pillWhere they sit on this token's top-traders board, and over what window.
    The trade listUp to 60 of their trades on this token, back as far as the index reaches — not just what your browser happens to have loaded. Each row's age is a link to the transaction on the block explorer. LIM marks a fill that came from a resting limit order.

    Three buttons: ONLY THIS WALLET ON THE TAPE (pins the tape to them — costs no request, since it is a view of what you already have), FOLLOW, and EXPLORER ↗. The full address is a copy button.

    Rap sheets

    Two different things wear that name, and they answer different questions.

    The creator sheet

    Tap the gold creator line on a token page. It shows how many tokens that wallet launched, how many are dead, how many are still alive, the death rate as a bar, when they were first seen and how they deploy. If they are a serial launcher it says so bluntly: This wallet launches tokens on a schedule and buries most of them. Treat anything it deploys as a countdown, not a position.

    The RAP SHEET board

    /desk/creators — every deployer on the chain ranked by what they have done. Tapping one opens their ticker trail: up to 14 of their tokens with each one's verdict and either alive or the cause of death. Covered in §2.

    This is the point of the product. Around 92 % of the tokens ever launched on this chain are dead, and a large share of them came from wallets that have done it before. The creator record on every row, the ticker trail, and the deployer chips on the tape exist so that the question "who made this and what happened last time" is answered before you buy, not after.

    Section 13

    13 · Fees & economics

    One fee, taken at one moment, at one rate. Everything else is the chain's price, not ours.

    What The Desk charges

    ActionThe Desk takesWhen
    Market buy or sell1 % · 0.9 % referredAt the moment of the swap, by the router.
    Limit order fill1 % · 0.9 % referredOn the fill. Placing costs nothing.
    Ladder rung fill1 % · 0.9 % referredOn each fill.
    Martingale buy and take-profit sell1 % · 0.9 % referredOn each fill.
    Any bot fill1 % · 0.9 % referredOn each fill.
    Performance fee on any profit0 %Never. We take nothing from what you make.
    Placing a limit order0It is a signature, not a transaction.
    Cancelling a limit order or ladder0No protocol fee — but it is an on-chain transaction, so you pay gas (~$0.001).
    Depositing into a bot, ladder or martingale0Gas only.
    Withdrawing from any of them0Gas only.
    Adding funds to a grid1 % on the market-buy halfBecause half of it is a swap.
    Claiming a @name0Gas only, about a cent.
    Predict — NLYRA pool3 % of the poolOnly on a round that settles with a winner. A draw or refund charges nothing.
    Predict — Polymarket pool0 % builder feeAttribution only. Read live from Polymarket; if it ever changes the ticket shows the exact amount first.

    What the chain and the pool charge

    CostAmountNotes
    Network gas$0.007 per transactionBlocks are about 100 ms. A bot withdrawal costs a fraction of a cent.
    Pool feeSet by the poolCharged by the DEX, not by us. Already inside every quote you see.
    Hook fee (some V4 pools)typically 1–2 % extra per swapSee below.
    Price impactDepends on your size vs the poolShown in the quote line from 1 %; warned at 3 %; requires a second tap at 10 %.

    Minimums

    WhereMinimum
    Market swapNone beyond what the pool accepts.
    Limit order0.00085 ETH (≈ $2), or 1 USDG
    Ladder, per rung0.00085 ETH (≈ $2)
    Martingale base0.00085 ETH (≈ $2)
    Any bot fill — grid level, DCA instalment, TWAP slice0.00085 ETH (≈ $2)
    Adding funds to a grid0.0017 ETH
    Predict — NLYRA pool0.0004 ETH (≈ $1)
    Predict — Polymarket pool5 pUSD

    The referral share

    30 % of every fee a referred trader pays goes to their referrer, and the other 70 % to the treasury. It is credited by the fee router itself, in the asset the fee was taken in, and claimable by the referrer at any time.

    It is on-chain, not a promiseThe balance sits in the router contract and you can read it yourself. Nothing to farm and nothing to trust: it is a share of fees actually paid.
    First touch, and permanentThe referrer is written into the router the first time a referred wallet trades and can never be changed afterwards — not by them, not by us.
    The referrer needs a @nameAn unregistered referrer is refused and the trade goes through at the standard 1 %.
    Copying a bot creates a referralCopy someone's public bot and they become your referrer: you pay 0.9 %, they earn 30 % of it.
    The exceptionKeeper-executed fills on this chain's V4 pools pass no referrer, so the 30 % is not paid on those. See §1.

    Hook-fee pools

    Some V4 pools attach a "hook" — extra code that runs inside the swap and can keep part of the output. Measured on this chain, one such hook takes 2 % of every swap while its own published figure says 1 %.

    The Desk measures it rather than trusting itA tiny simulated swap is run against the pool to find the hook's real cut, cached for ten minutes, and folded into the pool fee. The hook's own declaration is only a fallback.
    In the trade panelThe cut is already subtracted from the quoted output before it reaches you, so a hook pool simply quotes worse. There is no separate line for it. If the hook could not be measured, the quote is marked est. rather than exact.
    In the botsIt is stated outright: this pool's hook takes 2.00 % on every swap (on top of the 1 % fee) — already subtracted from the net per grid, and it counts against the profitability guard.
    Why this matters for grids. A grid pays the fee on both legs. With a 1 % Desk fee, a pool fee and a 2 % hook, a round trip can be giving away 6 % before it makes anything — which is exactly why a grid on such a pool needs much wider levels, and why the guard will refuse the tight ones.

    The fee cannot move under you

    • The 1 % ceiling is hard-coded in the page. Any transaction carrying a higher fee is refused before your wallet opens, whatever the server says.
    • The router refuses anything below 0.9 % too, so nobody can use it for free at everyone else's expense.
    • A bot's fee rate is written into its record when it is created. A later change to the default does not reach a bot that is already running.
    • Limit orders carry their fee inside the signature. The rate you signed is the rate that gets charged.

    Section 14

    14 · Security & self-custody

    Three different custody shapes live on The Desk. Knowing which one you are in tells you exactly what could go wrong and exactly how you get your money back.

    Where your money actually is

    What you didWhere the money sitsHow you get it back
    Market buy / sellYour wallet. The swap is one atomic transaction: tokens in, tokens out, same block.Nothing to get back — it either happened or it reverted.
    Limit orderYour wallet. Nothing is escrowed; you signed a Permit2 witness that authorises exactly one transfer on exactly the terms you signed.Let it expire, cancel it, or revoke the Permit2 allowance. There is no balance to rescue.
    Ladder, Martingale, and the six botsAn escrow contract on Robinhood Chain, booked to your wallet address as the maker.A maker-only withdrawal function that needs only your bot id. No keeper, no server, no route data, no expiry wait.
    Predict stakeThe Predict contract, until the round resolves.claim([epoch,…]) — winnings, or a full refund if the round was cancelled.

    The withdrawal guarantee

    Every escrow contract on The Desk exposes a function that does one thing: send everything in this record back to the wallet that owns it, right now, without selling anything. Four properties of that function are what the guarantee rests on, and all four were verified by direct on-chain calls on mainnet with no Desk API in the path:

    • It needs only the bot id. No route bytes, no quote, no signature from us. Grids and DCA take route = 0x and minOut = 0 because the route is only read inside the sellAll branch — and you pass sellAll = false.
    • It is maker-only. The contract compares msg.sender against the maker address recorded when the bot was created. Nobody can change that address, including us. Anyone else calling it reverts with NotMaker.
    • Pause does not block it. None of the withdrawal functions carry whenNotPaused. The pause switch stops the keeper's trading entries, nothing else.
    • Expiry does not block it, and expiry never forfeits anything. The withdrawal functions do not look at the date at all. After expiry a second path opens: refundExpired(id), callable by anybody — and it still pays the maker, never the caller. Someone else can push your funds home for you and cannot divert them.
    The deep dive is a separate page. Contract addresses, the exact function and field values for each bot type, a wallet-address bot-id finder that reads the chain directly, and a table of every revert message — The Desk · Bots: how to get your money out. It is a single self-contained file: save it with Ctrl+S / Cmd+S and it still works offline, and there is an off-site mirror on GitHub in case this domain goes away.

    What the operator can and cannot do

    Cannot move your escrowThe only owner-callable money function is rescue(token, to), and it is arithmetically capped at balanceOf(this) − escrowed[token] — the surplus above what users deposited. If that surplus is zero it reverts with NothingToRefund. There is no path that dips into user balances.
    Cannot redirect a withdrawalPayouts go to the maker address stored at creation. There is no setter for it.
    Cannot upgrade the contractsNo proxy, no upgrade mechanism. What is deployed is what runs, permanently. So none of the above can be changed later.
    Cannot raise the fee on a running botThe fee rate is written into your bot's record when you create it. A later change to the router's default does not reach it.
    Can pausePausing stops the keeper's swap entries. Withdrawals keep working. A paused bot is a frozen strategy, not frozen money.
    Ownership is two-steptransferOwnershipacceptOwnership, with a zero-address check, so a fat-fingered transfer cannot orphan the contract.

    What the keeper can and cannot do

    The keeper is the off-chain process that executes your bots. It runs on its own key (0x96D0B800…59246c) and it is not the owner of anything. Its entire power is "call the execute function on a record that already exists". Everything about what that execution is allowed to do is enforced by the contract:

    • It cannot sell a grid level at a loss. The profitable spacing is checked on-chain per level; a keeper transaction that would breach it reverts.
    • It cannot pick its own route on a limit order. The route is committed inside the order you signed as bytes32 routeHash, and execute() reverts with BadRouteHash if the submitted route does not hash to it. Before this was added, a keeper could route your fill through a pool of its own and keep whatever landed above your minAmountOut. It can't now.
    • It cannot beat your minimum. Every output is measured as the balance delta of the destination and compared to minAmountOut — not taken from what the pool claims to have returned. Fee-on-transfer tokens, rebasing tokens and hooks that skim part of the output are all caught by that check.
    • It cannot route you through an arbitrary V4 hook. A hook is attacker code running inside the router's unlock with the deltas open, so key.hooks must be address(0) or explicitly allowlisted.
    • It cannot make the router free for itself. The router enforces minFeeBps = 90 and reverts FeeTooLow() below it, and the referrer comes from the on-chain first-touch record, not from a parameter the caller chooses.
    • It cannot take custody. It never holds your funds at any point.
    The keeper's failure mode is inaction, not theft. If it goes down, your bot freezes mid-strategy: no buys, no sells, no take-profit and no stop-loss. Money is safe; the stop you were relying on is not. If the keeper stays down, withdraw and manage the position by hand — withdrawing does not need the keeper.

    Bounced ETH

    Every contract forwards ETH with a 30,000-gas stipend. If your wallet is a smart-contract wallet with an expensive receive(), the payment does not fail and the money is not lost — it is credited to pendingEth[you]. Read it with pendingEth(<your address>) and collect it with withdrawEth() (no arguments) on the same contract.

    Honest limits

    • The contracts have not been audited by a third party. They are verified and readable on Blockscout, and every withdrawal path in the rescue guide has been tested with real money on mainnet, but "no bug found" is never "no bug".
    • None of this protects the value of your position. A grid that bought all the way down hands you back exactly that: a losing position. Self-custody is a guarantee about access, not about price.
    • A hostile token can still hurt you. Transfer taxes, blacklists and mint switches live in the token contract, which The Desk does not control. The SAFE verdict on the token page flags what is detectable; it is a filter, not a promise.
    • Your keys are final. The maker address is permanent. Lose the wallet, lose the bot — there is no recovery path and we cannot build one.

    Section 15

    15 · FAQ & troubleshooting

    The things that actually go wrong, and what each one means.

    Wallet and network

    The connect button does nothing on my phone.

    You are almost certainly in Safari or Chrome. A wallet app's keys are not reachable from the phone's normal browser, so there is nothing for the page to connect to. Open nlyra.xyz inside your wallet app's own browser — every major wallet has one — and connect from there.

    The same applies to the block explorer's write forms if you ever use the self-withdrawal path: open the link inside the wallet app.

    "No wallet detected."

    The Desk uses injected wallets only — MetaMask, Rabby, or a wallet app's built-in browser. There is no WalletConnect and no e-mail login. Install one, or open the site inside your wallet app.

    "Switch your wallet to Robinhood Chain."

    Your wallet is on another network. The Desk offers to switch, and to add the network if you do not have it. If your wallet refuses the automatic switch, add it manually with the settings in §1 — chain id 4663.

    Everything re-checks the chain before building a transaction, so a wrong-network transaction can never be signed by accident.

    I have ETH but The Desk says I have none.

    Your ETH is on a different chain. ETH on Ethereum, Arbitrum or Base is not ETH on Robinhood Chain — it has to be bridged. See §1. This is the single most common thing that stops a new user.

    What is the "refused:" message?

    A safety check caught a mismatch between the transaction the server built and what is on your screen, before your wallet was opened. Nothing was signed and nothing was spent. It checks the destination contract, the chain, the tokens, the amounts, the minimum output, the fee and the referrer — against the raw calldata, not against the server's description of it.

    Re-quote and try again. If it persists, something is genuinely wrong and you should not push through it.

    Trading

    My transaction reverted. Did I lose the money?

    No. A reverted transaction does nothing at all — it is as if it never happened, except that you paid the gas. The usual cause is the price moving past your slippage between pressing the button and the block landing: Reverted — the price moved past your slippage. Nothing was taken.

    Try again, or raise slippage a step. On a fast-moving token 3 % is often not enough.

    "The price moved. Check the new number and tap again."

    The fresh quote differs from the one you were shown by more than 3 %, so the trade was stopped before it reached your wallet and the panel repainted with the real number. This is a feature: you are never asked to sign a trade whose terms changed after you decided.

    The button turned red and says BUY ANYWAY.

    One of two things. Either your order moves the pool by 10 % or more — in which case the trade needs a second press, and the arming lapses after six seconds — or the token carries a DANGER verdict with a deployer who has buried tokens before.

    Both are worth stopping for. The impact one is fixable by trading less; the other is not.

    Why did I get so much less than the price suggested?

    Three possible reasons, in order of likelihood:

    • Price impact. Your own order moved the pool. The quote line shows this from 1 % upward, and the @ price figure is the effective price at your size, not the headline one.
    • A hook pool. Some V4 pools take an extra 1–2 % on every swap. It is measured and already subtracted from the quote, so the quote was right — the pool is just expensive. See §13.
    • A transfer tax in the token itself. The SECURITY card on the INFO tab shows buy and sell tax when they are detectable.
    The price on a token that is not on the board looks wrong.

    Prices for tokens that are not on the market board come from a different path and can be thinner or slower. On this chain most V4 pools quote in native ether, and the ETH price itself has to be sourced separately — when that lookup fails, an off-board token can briefly price at zero rather than at a wrong number.

    If a figure looks impossible, check the pool on the INFO tab, look at the actual fills in the TRADES tab, and trust those over any derived figure.

    Is "cancel free" really free?

    There is no protocol fee, but cancelling a limit order or a ladder is a real on-chain transaction and you pay gas for it — around $0.001. It has to be on-chain: your signature already exists, and only the chain can void it.

    My limit order never filled even though the price hit it.

    What is enforced is the minimum output you signed, not the price you typed. If liquidity thinned out, the pool can print your price without being able to actually pay your minimum for your size.

    Other possibilities: the order expired; your balance or your Permit2 approval changed after placing it; or the keeper was down. Check the status on the order row — a FAILED row carries the reason.

    Bots

    "Not profitable — not created." Why won't it let me?

    Because the configuration cannot make money. A grid pays the 1 % fee on both legs plus the pool fee twice, so levels closer together than about 2.5 % net are guaranteed to lose. The rejection names your exact number and the maximum grid count for your range.

    Widen the range, use fewer grids, or pick a pool with a lower fee. The contract enforces the same floor independently, so this is not a setting we can waive.

    My grid is "Out of range" and has stopped trading.

    The price has left the range you set. Above it, everything was sold and the bot is sitting in ETH, missing the move. Below it, everything was bought and you are holding the token at a loss.

    Neither state loses your money by itself — you can stop the bot at any moment and take back either the ETH or the tokens. What you have lost is the opportunity. If you expect the price to come back, waiting is reasonable; if you do not, stop it.

    Infinity Grid has no upper bound and only stops at your floor, which is why it is the better choice when you have no view on the top of the range.

    My stop loss did not fire.

    Stop losses are executed by the keeper, not triggered by the contract on its own. If the keeper was down, nothing fired. The hub shows a keeper offline tag when that is the case.

    Your funds are safe and withdrawable regardless — but the protection was not there. This is the honest limitation of every automated exit on the platform. If the keeper is down and you were relying on a stop, withdraw and manage it by hand.

    Can I change a bot's parameters after starting it?

    Mostly no. You can add funds to a v3 grid, and you can change the stop loss on an Infinity Grid or a DCA. Everything else — the range, the grid count, the step, the take-profit — is fixed at creation, and Spot Grid's stop loss cannot be changed at all because the contract has no setter for it.

    To run different parameters, stop the bot and open a new one.

    Smart Rebalance says "Soon". When?

    No date. It is a placeholder — there is no contract and no engine behind it yet. It is visible in the product, which is why it is documented, but it does nothing.

    If I copy someone's bot, can they touch my money?

    No. A copy runs in your own escrow, from your own wallet, and only your wallet can withdraw it. What the creator gets is the referral: you pay 0.9 % instead of 1 %, and they earn 30 % of that fee.

    The strategy's parameters are hidden in the interface. They are, necessarily, inside the transaction you sign — so "hidden" means hidden in the product, not cryptographically secret.

    Predict

    My round says CANCELLED. Did I lose the bet?

    No — a cancelled round refunds every stake in full and the house takes nothing. Use the same CLAIM button. Rounds are cancelled when they cannot be settled honestly: a stale oracle, an oracle that did not advance, or a missed lock or close window.

    Past the close time plus the buffer, the contract makes your stake refundable by itself — no keeper and no human at The Desk is needed for you to get it back.

    The multiplier changed between betting and settling.

    That is how a parimutuel pool works: you split the losing side's stake, so the payout moves every time anyone bets, and it is only final at lock. A card showing 8× is telling you that almost nobody is on your side yet.

    The big price on screen is not the price it settled at.

    Correct, and deliberate. The line and the ticker come from an exchange socket in your own browser — fast, for reading. Settlement uses the on-chain oracle, which publishes once per round and is bounded by Chainlink: a price more than 10 % from Chainlink's own answer cannot be published at all. The header chip names both sources and turns amber if they drift.

    Polymarket refused my order.

    If it mentions your region, Polymarket geoblocks it — that is their restriction applied to your IP, and the order goes direct from your browser, so it is your location that counts. The NLYRA pool still works.

    Otherwise, check that you hold pUSD on Polygon (not USDC.e, not ETH), that both approvals are set, and that the order is at least 5 pUSD. The page tells you which step is missing.

    The screen

    The trade panel keeps folding itself on my iPhone.

    On a phone the panel docks at the bottom of the token page and collapses to a summary bar when it is scrolled away, so the chart keeps the fold. On a short screen — a small phone, or landscape — it stops pinning entirely rather than covering the whole page.

    Tap the bar to bring it back up. Turning the phone to landscape gives the chart the full screen; the banner and socials row hide themselves to make room.

    Numbers show "—" instead of a value.

    An em dash always means "we do not know", never zero. It is used deliberately: a holder count of 0, a PnL with no cost basis, a change window with no data, a buy-pressure figure with no flow. Printing a zero would be a claim we cannot support.

    PnL specifically shows when the token arrived by airdrop or transfer, or from a fill the index never saw — there is no honest average cost to compare against.

    The live dot on the tape is amber.

    The push socket is down and the page has fallen back to polling. Everything still works, just a little behind. It reconnects on its own, and every screen keeps a polling fallback underneath precisely so the socket is never the only way something updates.

    The board stopped updating while I was scrolling.

    On purpose. Once you have scrolled past the top, rows stop reordering under your finger — prices keep updating in place, and a pill appears saying N new tokens. Tap it, or scroll back to the top, to let the new ordering in.

    My trade does not show in MY BAG.

    Give it a few seconds — the wallet read is cached for 30 seconds and refreshed shortly after a confirmed trade.

    If it still does not appear, check the dust filter: positions under $0.50 are hidden by default, with a show dust button in the totals strip.

    Martingale positions never appear in MY BAG — those tokens are in the escrow contract, not your wallet. The cycle card carries their cost basis instead.

    Money and safety

    Can The Desk take my money?

    Market and limit orders never place your money anywhere we could reach. For the escrowed strategies, the only administrative money function on the contracts is arithmetically capped at the surplus above what users deposited and reverts if it would touch a user balance. Withdrawals pay the address recorded at creation, which has no setter. The contracts have no upgrade mechanism, so none of that can be changed later.

    You do not have to take our word for it: the contracts are verified and readable on the block explorer. See §14 and /desk/help/bots.

    What if The Desk disappears?

    Unfilled limit orders simply never fill — nothing to recover. Escrowed strategies are withdrawn directly from the contract with your wallet, your bot id and a block explorer, needing no server of ours. Predict stakes on unsettled rounds become refundable by the contract on their own.

    The full procedure lives at /desk/help/bots. It is one self-contained file — save it to your device now, while everything is fine.

    Is SAFE a guarantee?

    No. SAFE means the contract was read and nothing was found that lets the creator take your money. It says nothing about whether the token holds its value, and on this chain there is no sell simulation available — honeypot detection rests on a source-code read alone.

    Most tokens on any chain go to zero on their own, without anyone doing anything wrong.

    Why is a token I know is fine marked CAUTION?

    Robinhood Chain is younger than the age threshold the scanner uses for "established assets", so nothing here can clear that gate — the canonical WETH reads as an upgradeable proxy with unlocked liquidity. That is what the BLUE CHIP tier exists to fix, and it is triggered by the deployer rather than a list of tickers. See §3.

    Do you have my keys, my e-mail, or my identity?

    None of the three. There is no sign-up. Your identity here is either a @name you claimed on-chain or a truncated address, avatars are generated from the address, and the only thing stored against your wallet is your own preference list — watchlist, follows and alerts — which is written with your signature so nobody else can change it.


    That is the whole product

    Nothing above is aspirational. Every number, threshold and message on this page was taken from the code that is running.

    If something here does not match what you see on screen, the screen is right and this page is out of date — tell us. If something here is a limitation you did not know about, that is exactly why it is written down.

    The one page to keep. The Desk · Bots: how to get your money out — contract addresses, the exact withdrawal call for each strategy, a bot-id finder that reads the chain directly, and every error message explained. Save it to your device while everything is fine.