Tapebot

Docs

Tapebot is a Telegram bot for the Stock Tokens on Robinhood Chain. It answers price questions, lists the day's movers, watches price levels for you, shows what any wallet holds, and hands you buy or sell links that you sign in your own wallet. The bot itself never holds keys or funds.

Overview

The bot runs on a Cloudflare worker. Telegram sends it each message through a webhook; it reads Chainlink on Robinhood Chain and answers in the chat. A scheduled job checks every alert every five minutes. Trades happen on a separate page of this site, in your browser, with your wallet.

Prices

Every price is the Chainlink feed for that Stock Token on Robinhood Chain, read through the chain's price adapter, the same source lending and trading contracts there use. The 24h change comes from the deepest pool of each token on DexScreener. Prices are cached for one minute. Stock feeds pause when the market is closed; the bot then shows the last price.

Commands

/price NVDA TSLAprice and 24h change of one or more stocks, with buy buttons
/topthe five biggest gainers and losers today
/allall 27 Stock Tokens and ETFs in one table
/alert NVDA < 200a ping when NVDA falls to $200; > for a rise; "below" and "above" work too
/alerts, /del 2list your alerts, remove one
/buy NVDA 100a button to buy $100 of NVDA in your wallet
/sell NVDA 0.5a button to sell 0.5 NVDA for USDG
/wallet 0x…what any address holds in Stock Tokens and USDG, valued at Chainlink
/watch 0x…, /mesave your address, then check it with one word

Tickers: AAPL NVDA TSLA MSFT AMZN META GOOGL COIN AMD TSM MU INTC PLTR DELL SNDK MSTR CRCL BABA GME SPCX USAR SPY QQQ GLD SLV USO SGOV. A leading $ is fine.

Alerts

Each chat can hold up to 10 alerts. Every five minutes the worker reads Chainlink and sends a message for every alert whose level was reached, with a button to buy (after a fall) or sell (after a rise). A fired alert is removed. Levels the price has already passed are refused when you set them. Because the check runs every five minutes, a spike that comes and goes in between can be missed.

Wallets

/wallet reads the balance of USDG and of each of the 27 Stock Tokens for an address in one multicall and values them at Chainlink. It works for any address; it does not need to be yours. /watch saves one address per chat so /me works without pasting it again.

Trading

The buy and sell buttons open /trade with the stock, side and amount filled in. You connect your own wallet there and sign one transaction on Robinhood Chain. If the router does not have an allowance yet, the page first asks for an EIP-2612 permit signature for exactly the amount, and sends it inside the same transaction (selfPermit), so there is no separate approval step and no open-ended approval left behind.

Routes and the floor

Trades go straight through Uniswap's SwapRouter02 on Robinhood Chain. Most stocks have a direct USDG pool; COIN, MSTR and SPY route through WETH. The page reads the Chainlink price on chain and sets the minimum out 1.5% under it for each pool hop. If the pool would fill worse, the swap reverts and nothing is traded. On a fork of mainnet, 100 USDG bought 0.4546 NVDA and sold back for 99.90 USDG.

Fees

Tapebot takes nothing. A trade pays the Uniswap pool fee (0.05% to 1% depending on the pool) and gas, under a cent.

What is stored

Your chat id with your alerts, and the wallet address if you saved one with /watch. Nothing else: no names, no message history, no keys. Removing all alerts removes the chat from the alert list.

In groups

Add the bot to a group and anyone can use the commands there. Alerts set in a group fire in that group.

Risks

Token

The Tapebot token launches on pons. Its address will be listed here and on the home page.

Addresses

Uniswap SwapRouter020xcaf681a66d020601342297493863e78c959e5cb2
Chainlink price adapter0xe9bBcd46F9B0Df04B418e0207876984F9f8336cb
USDG0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168