OpenChart
Free Desktop charting with Claude or Codex. Describe alerts, research chart moves, and choose your data providers.
Paste a Robinhood Chain token. Get a Data score from 1 to 10 and the AI’s reason in one line.
FinancePython · JavaScriptGitHub @QuoroExchangeOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
AI DEX on Robinhood Chain: a Data score and an AI read for every token, swaps from 17 chains, Quoro Lens for X. Non-custodial.
Taken from the repository README
Loading the full README.
Read the full README ↗Paste the address of any Robinhood Chain token and Quoro reads it from the chain: who launched it, who bought in the first blocks, what the creator still holds, who funded the top holders. Every launch gets a Data score from 1 to 10, and Quoro AI explains it in plain words, each sentence linked to the place on the block explorer where you can check it. Then you buy with ETH, BNB or POL from any of 17 chains, or straight on the token's own curve or pool, and the token lands in your own wallet. Quoro holds no funds and has no contract of its own: you sign every transaction.
This repository is the product as it runs at quoro.exchange: the site, the API server, the launch-data engine, the Chrome extension and both bots. It is public so anyone can check how a score is counted and what a page asks a wallet to sign.
| Folder | What it is |
|---|---|
server/ | server.py: the site, the public API, the Data score, Quoro AI, quotes from LI.FI, Relay and the direct route, holder insight, Points. Python standard library plus Pillow, on http.server. |
engine/ | The launch-data engine (FastAPI): indexes every launch on Robinhood Chain launchpads, reads curves and pools, runs the launch checks, builds candles and direct trade quotes. Listens on 127.0.0.1 only. |
site/ | The front end: vanilla JS, no framework. js/wallet.js holds the checks every transaction passes before the wallet sees it. Charts by TradingView Lightweight Charts (license in site/vendor/). |
privy/ | Source of the wallet-connection bundle (site/js/privy.js), built with esbuild. Wallet connect only: no email login, no embedded wallets. |
lens/ | Quoro Lens, the Chrome extension (Manifest V3). |
tgbot/ | @QuoroScoreBot for Telegram: score card image, flags and the AI read in one message. |
bot/ | @QuoroAI, the X reply account: tag it with an address, it replies with the score. |
Data score = round(0.6 × Launch + 0.4 × Market), then the lowest cap that applies
Rules, not a model: the same facts always give the same number. Quoro AI only explains the number from the same facts; it never sets it. Stock tokens and other tokens get no score. The score describes the launch and how it trades, not the future price, and it is not financial advice.
Every rule, threshold and API field: docs/DATA-SCORE.md. Code: score() in
server/server.py, hygiene() in engine/score.py, the chain read in engine/check.py.
There is no Quoro contract between you and a trade, and no Quoro key that can move your money. The server prices a route and returns the transaction; your own wallet (connected through Privy) signs and sends it. Two layers check every step first:
site/js/wallet.js) re-checks every step before the wallet sees the first one, and refuses the whole
trade if any step fails:
What this does not cover, and how to report a problem: SECURITY.md.
Read-only JSON, no key, open to any origin (access-control-allow-origin: *). Base URL https://quoro.exchange.
# a token: facts, Data score, the flags and caps behind it (60 requests a minute)
curl https://quoro.exchange/api/token/0x44082d239727b12a5a3b3edf147b3c7bea80332c
# scored launches: trending, recent or all
curl "https://quoro.exchange/api/launches?sort=trending&limit=10"
# chain numbers: block, new tokens in 24 hours, how many tracked launches are flagged
curl https://quoro.exchange/api/pulse
An answer, trimmed:
{ "kind": "launch", "symbol": "QRO", "curvePct": 100.0, "graduated": true,
"facts": { "buyers": 117, "devPct": 0.02, "snipersPct": 0.0, "taxExempt": 0, "creatorTaxBps": 250 },
"score": { "value": 8, "hygiene": 10, "market": 8, "raw": 9.2, "partial": true, "flags": [], "credits": ["burned"] } }
Every field, error code and limit: docs/API.md. If you show a score, call it the Data score from Quoro.
flowchart LR
web["Browser<br/>quoro.exchange"]
lens["Quoro Lens<br/>Chrome, x.com"]
tg["@QuoroScoreBot<br/>Telegram"]
xbot["@QuoroAI<br/>X replies"]
server["server/server.py<br/>site, API, score, AI, quotes"]
engine["engine/<br/>launch-data engine<br/>127.0.0.1:8767"]
rpc[("Robinhood Chain<br/>RPC + WebSocket")]
lifi["LI.FI"]
relay["Relay"]
llm["OpenRouter"]
wallet["Your wallet<br/>via Privy"]
web --> server
lens --> server
tg --> server
xbot --> server
server --> engine
engine --> rpc
server --> rpc
server --> lifi
server --> relay
server --> llm
web -.->|"signs every transaction"| wallet
The browser never talks to LI.FI, Relay or OpenRouter directly; the server does, and the page checks what comes back. The wallet sends each signed transaction to its own chain. More: docs/ARCHITECTURE.md.
git clone https://github.com/QuoroExchange/quoro && cd quoro
python3 -m venv .venv && .venv/bin/pip install -r engine/requirements.txt
./start.sh # engine on 127.0.0.1:8767, site and API on http://127.0.0.1:8795
# with wallet connect and Quoro AI
PRIVY_APP_ID=… OPENROUTER_API_KEY=… ./start.sh
Nothing is required to start: without keys the site reads and scores tokens, and the parts that need a key (wallet connect, Quoro AI, the holder funding read) stay off. The engine's seed data (smart-wallet, launch-farm and creator records) is not in this repository; the engine runs without it, and those counts start at zero and build up from the chain. Variables, the bots, Docker and Fly.io: docs/SELF-HOST.md.
| Site | quoro.exchange · docs |
| X | @quoroexchange |
| Telegram bot | @QuoroScoreBot |
| X reply bot | @QuoroAI |
| Quoro Lens | Chrome Web Store · privacy |
| $QRO on Robinhood Chain | 0x44082d239727b12a5a3b3edf147b3c7bea80332c (the only contract) |
Quoro is an independent app built on Robinhood Chain. Routes run through LI.FI and Relay; Quoro AI runs on models through OpenRouter.
Quoro shows data and quotes and returns transactions for you to sign. The Data score and the AI read are readings of public on-chain data at the time shown, not advice and not a price prediction. New tokens are risky and can lose all of their value. A signed transaction can't be reversed, by you or by Quoro. Stock tokens are not available to persons in the United States and are restricted in Canada, the United Kingdom, Switzerland and other countries: check the rules where you live before you buy.
MIT. TradingView Lightweight Charts is © TradingView, Inc., under the Apache License 2.0
(site/vendor/LIGHTWEIGHT-CHARTS-LICENSE.txt).
docs/| Architecture, the Data score in full, the API reference, self-hosting. |
Dockerfile, start.sh, fly.toml | One container, two processes: the engine on 127.0.0.1:8767, the server on $PORT. Deployed on Fly.io. |