How the salon works

CATMENTOR is a room full of cats. Each cat is one of the 47 tokenised stocks that trade on Robinhood Chain, an Arbitrum rollup where Robinhood issues ERC-20 tokens backed one to one by the underlying share. The cat is an AI mentor for its stock: it reads the token contract, the pools and the news, and answers in its own voice. The trade desk next to the chat sends real swaps from your wallet through the Uniswap Universal Router. Nothing is custodial.

The cats

47 cats, 47 tokens. Every cat has a name, a coat, a brand-coloured collar with its ticker, and a temper that shapes how it talks. Five of them are funds rather than companies (SPY, QQQ, USO, SGOV, EWY) and they know it. The names are cat names, never a founder or a product.

Talk

Pick a cat, ask a question. The mentor runs on Claude Opus 5 with a short persona and four tools it can call on your behalf: the live quote and thirty days of closes, the headlines, the on-chain state of its token, and your position when a wallet is connected. It can also search the web when the question needs it. Answers stream in as they are written and the panel shows what the cat is reading while it works.

It is a mentor, not an advisor. It will tell you what moved, what the multiplier means, what to check before buying, and when it does not know. It will not tell you that something is certain. Transcripts stay in your browser; the server keeps a rate limit per address and nothing else.

When a deployment has no model key, the same route still runs the tools and streams a clearly labelled demo answer built from real data, so the salon never pretends.

Trade

The desk quotes every live pool for the stock on Robinhood Chain, both Uniswap V3 pools (through QuoterV2) and Uniswap V4 pools (through the V4 Quoter), and takes the best output. You can pay in ETH or in USDG, and sell back to either. The swap is one transaction to the official Universal Router, signed by your wallet, with a 1% slippage floor and a 20 minute deadline.

Paying with a token (USDG on a buy, the stock on a sell) goes through Permit2: one approval of the token for Permit2, then a signature per trade that the router redeems inside the same transaction. Wallets that cannot sign typed data fall back to an on-chain Permit2 allowance. Paying with ETH needs no approval.

Stock tokens are issued contracts with a pause switch and a restriction list controlled by the issuer. If a swap reverts, the desk reads the reason and says it in plain words. Five tickers currently have no pool with liquidity at all and the desk says so instead of showing a price.

The calldata for every route was proven against mainnet state before shipping: simulated buys in ETH and USDG and a simulated sell returned the quoted amounts to the wei. The proof script lives in the repository under tools/test-swap.mjs.

Chain and data

Everything on-chain is read from the public RPC, never from an explorer API. The multiplier, the pending multiplier and its effective time, the paused flags and the supply come from the shared Stock implementation behind the 47 proxies, in one multicall. Prices and headlines come from the listed underlying, because the token tracks the share and the explorer keeps no price history. SPCX is the SpaceX token; its listing is recent and its price is shown when the source has one.

Pools are discovered by computing the standard V4 pool ids for each stock against ETH and USDG and reading their liquidity from the PoolManager, and by asking the V3 factory for every fee tier. The list is a snapshot refreshed with each deploy; every trade re-quotes on chain so a drained pool can never fill you.

The token

$CATMENTOR launches on Pons Family, the launchpad of Robinhood Chain: token and liquidity are created in one transaction on a bonding curve, then graduate into a permanently locked Uniswap V4 position. No presale, no whitelist. Until launch there is no address to buy. Anything claiming otherwise is not us.

What holders get is kibble: the token's fees, brought back to their salon as the stocks their cats wear. The rules are below and on /rounds, where every round is listed with its transactions.

Kibble

Two bowls, one pot, every day at 12:00 UTC. Holders, 70%: a salon holds at most three cats; connect a wallet, sign one message (free, nothing moves) and it is registered. The vault weighs each salon by the square root of the $CATMENTOR it holds at that moment (a floor of one million tokens to be counted, so a thousand empty wallets weigh nothing and a whale does not take everything) and splits the bowl; each salon's share is divided evenly between its cats. Desk, 30%: every stock swap made through the desk in the last seven days counts, no token needed. The desk reports the transaction hash, the vault verifies it on chain (sent by that wallet, to the Universal Router, a stock moved), weighs each wallet by the square root of its USD volume, capped at 2,000 USD per day so round trips cannot spin the pot, and pays it in the stocks it traded. An empty bowl hands its part to the other; a wallet in both is paid for both. The vault buys each stock once through the Universal Router, then transfers every wallet its slice.

Shares too small to be worth a swap are carried to the next round as a credit. A transfer to an address the issuer has restricted fails on its own, and that salon is owed the amount again next time. The vault is a plain address, shown on the rounds page, that only ever holds fees between two rounds; users' wallets are never touched.

How much kibble there is depends entirely on the token's volume and on how Pons Family pays creator fees: on the bonding curve the creator share is a fraction of a one percent fee, and after graduation it depends on the locked position. The ledger shows real numbers; nothing here promises a yield.

Privacy and risk

Your salon and your transcripts live in localStorage. Connecting a wallet only shares your address with the page and, if you ask a cat about your position, with the mentor route for that answer. The site sets no cookies and runs no analytics.

Tokenised stocks are not shares. They are claims on an issuer, they can be paused or restricted, and their pools on Robinhood Chain are thin compared to the listed market: a large order moves the price and the desk shows the implied price so you see it before you sign. Nothing here is investment advice.

API

GET /api/stocks live ticks for the 47 symbols, cached 60 s.

GET /api/stock/[symbol]?wallet=0x… quote, thirty days of closes, headlines, on-chain state, your balance.

POST /api/chat body { symbol, messages, wallet? }, streams server-sent events: status, delta, done, error.

Addresses

Robinhood Chain, chain id 4663. Enter the salon.