𓂀 in re: procedure of the court · docket thoth-doc-001 · block 9,725,836
source scales/api/app.py
source board/data.json
generated 2026-07-14t07:34:11z
window all · chain rh

thoth · procedure · docket thoth-doc-001 · block 9,725,836 · in force 2026-07-15

procedure.

how the engine reads a wallet, what the seven verdicts mean, and how to take the same answers as json. one instrument, one front door: the page and the api run the same engine, so a weighed address re-derives identically to its board row.

procedure i

the instrument

thoth is a court that reads robinhood chain. paste a wallet on the front page and the engine replays every swap that address ever made on the canonical tokens, prices each fill against pool state at that block, and files a verdict with the transaction hashes attached. the api below returns the same record as json. there is no second product and no second door.

everything is read-only. no login, no wallet connect, no key. a record is not an opinion about a wallet; it is a derivation from chain state, and anyone can run the derivation again. where the record says a wallet made +$12,217, it cites the fills that sum to it.

procedure ii

how the engine reads a wallet

a weighing is six readings taken in order. each one narrows what the wallet can claim to be.

01ingest

every transfer and swap event touching the address on the canonical robinhood-chain tokens, from pool genesis to the current block. nothing sampled, nothing extrapolated.

02replay

event-replay p&l. each fill is priced against the pool at the block it happened, not at today’s price. realized and unrealized are split; open positions carry entry mcap next to current mcap so the multiple is legible.

03basis

where the entry money came from. profit that stands on no visible on-chain cost basis is flagged unknown_basis. more than $10,000 of realized profit on unknown basis is the extractor test.

04timing

when the wallet acts. entry mcap, early-entry rate, median hold, reaction cadence. sub-second reaction with uniform sizing reads as a machine, whatever the p&l says.

05provenance

the funding graph. who funded the wallet, and whether that graph touches a token deployer before entry. deployer-linked funding before the first buy is the insider test. it requires proof, not vibes.

06judgment

weight 0–1000, grade a–f, confidence from sample size. thin histories are marked low-confidence or fresh, never faked. the record also carries a leadability reading: whether copying the wallet would have paid after its own price impact, stated as a mean net return with a confidence interval. up huge is not smart money.

procedure iii

the seven verdicts

one verdict per wallet, re-derived on every weighing. of the seven, only smart is entered in gold, and on the current record none is. the record holds 91 wallets: 37 insider, 34 larp, 10 fresh, 5 extractor, 3 bot, 2 degen, 0 smart. nearly half - 42 of 91 - were handed the bag off-market rather than earning it. the gate is high, not broken: we crowned one wallet smart and re-weighed it a copytrap, corrected in public.

SMART 0 of 91

a repeatable, provable edge. high win rate over enough trades to mean something, early entries that keep landing, realized profit that survives the basis reading. no gold verdict on the docket - nobody cleared the gate. we crowned one wallet here and re-weighed it a copytrap, corrected in public.

DEGEN 2 of 91

active, in profit, no proven edge. a wallet in the black on a handful of trades sits here until the sample and the basis say otherwise. one good season is weather, not climate - the wallet we briefly crowned smart files here.

INSIDER 37 of 91

got the bag handed to it off-market before entry. the reading demands an on-chain path from token deployer to entry capital, dated before the first buy - big realized on zero open-market buys. suspicion does not file this verdict; a funding path does. it is the largest class on the record, which is the finding: 0xeee29d is up +$939,810 and filed here, not smart.

EXTRACTOR 5 of 91

takes out more than open-market trading explains. over $10,000 realized on positions with no visible cost basis. five wallets on the record clear that bar - profit the chain cannot trace to a fill they paid for.

BOT 3 of 91

a machine. sub-second reactions, uniform sizing, high round-trip counts. not an insult and not a verdict on profitability - a statement about what is pressing the buttons.

LARP 34 of 91

the record contradicts the persona. trades a lot, loses, keeps talking. second only to insider on the board.

FRESH 10 of 91

too thin to weigh. not enough history for any reading to bind. a deferral, not a compliment - the wallet is invited back when it has a record.

procedure iv

the record api

the api is free json over http. no key, no signup, no sdk - you already have the client. it is rate-limited per ip and returns the same records the pages render, because it is the same engine. built for agents as much as people.

get https://thoth.markets/board/data.json the full board ledger - 91 wallets, verdicts, fills, tx hashes. a static file; poll it as often as you like.
get https://api.scales.thoth.markets/weigh?a=0x… verdict on any robinhood-chain address. returns instantly; heavy wallets weigh in the background and you poll.
get https://api.scales.thoth.markets/health is the court in session. cache, queue, and ledger counts.
post https://api.scales.thoth.markets/agent/chat ask the chain in words; answers stream as server-sent events with receipts. runs on venice - private, model-agnostic (claude by default; swap grok, gpt, qwen at /agent/models). the model is the mouth, not the judge: it can only cite a tx a tool returned, so swap the model and the verdict does not move. queries are not logged.
exhibit a · weigh a wallet get /weigh
$ curl -s 'https://api.scales.thoth.markets/weigh?a=0x5190165e6b10c3f0219d3ed85fa0f837cde52397'
{"status":"weighing","address":"0x5190165e6b10c3f0219d3ed85fa0f837cde52397"}

# the request enqueues and returns at once. poll until the verdict lands -
# a deep wallet can take over 100 seconds to weigh. verdicts stay fresh 300s.

$ sleep 8; curl -s 'https://api.scales.thoth.markets/weigh?a=0x5190165e6b10c3f0219d3ed85fa0f837cde52397'
{
  "address": "0x5190165e6b10c3f0219d3ed85fa0f837cde52397",
  "verdict": "DEGEN",
  "score": 433,
  "grade": "D",
  "win_rate": 0.6275,
  "realized_pnl": 12217,
  "n_trades": 51,
  "n_tokens": 116,
  "cached": true
}
exhibit b · poll until filed shell
$ U='https://api.scales.thoth.markets/weigh?a=0x5638484ba2d2f1d1d35020572b0aa439a9869192'
$ until r=$(curl -s "$U") && ! grep -q weighing <<<"$r"; do sleep 5; done; echo "$r"
exhibit c · the board ledger get /board/data.json
$ curl -s https://thoth.markets/board/data.json | jq '.wallets[0]
    | {address, verdict, score, grade, realized_pnl, win_rate, n_trades, confidence}'
{
  "address": "0x5190165e6b10c3f0219d3ed85fa0f837cde52397",
  "verdict": "DEGEN",
  "score": 433,
  "grade": "D",
  "realized_pnl": 12217,
  "win_rate": 0.6275,
  "n_trades": 51,
  "n_tokens": 116
}

# each wallet also carries provenance, tags, leadability {verdict, ci_lo, ci_hi},
# open holdings {entry_mcap, now_mcap, multiple}, and a fill-by-fill record
# with a tx hash per row. top-level: generated, window, chain, tokens, eth_usd.
exhibit d · ask the court post /agent/chat · sse
$ curl -sN https://api.scales.thoth.markets/agent/chat \
    -H 'content-type: application/json' \
    -d '{"messages":[{"role":"user","content":"/weigh 0x5190165e6b10c3f0219d3ed85fa0f837cde52397"}]}'

# answers stream as server-sent events: text frames, tool frames with the
# receipts the answer stands on, then {"type":"done"}. one hot ip gets told
# the scales are busy instead of a raw 429.

conduct. a good verdict is cached 300s; a failed weigh returns UNWEIGHED and is retryable after 30s · addresses are 0x-prefixed 40-hex · the ledger file is static and cheap, the weigh queue is serialized and is not · scrape the ledger, not the queue.

procedure v

trust

q.

is a verdict for sale?

a.

no. never. there is no fee that files one, no fee that changes one, no fee that removes one. a verdict is a derivation from chain state; the only way to change it is to change what the chain says, by trading differently.

q.

can a verdict be wrong?

a.

yes, and it can be appealed - with a hash. every record cites the transactions it derives from. pull /board/data.json, replay the fills, and if the sum disagrees with the record, the record loses. that is the point of publishing the derivation.

q.

why is no wallet smart?

a.

because the test is repeatable edge, not size of win. the board holds a wallet up +$939,810 filed insider, since nothing in its basis proves the bag was earned rather than handed over. a percentile gate briefly crowned one wallet smart - up +$12,217 across 116 tokens - and the full engine re-weighed it a copytrap: one lucky exit dressed up with dust wins and self-supplied liquidity, not smart money. corrected in public. up huge is not smart money. a board where everyone is smart is an advertisement.

q.

does the court trade against its own record?

a.

the engine is read-only. it holds no position in the wallets it weighs and takes no side of any fill it cites. it reads, it files.

q.

what do you collect about me?

a.

nothing. no accounts, no login, no wallet connect, no analytics beacons. the pages are static files; the api sees an ip for rate-limiting and keeps no profile of it.

q.

which chain, which tokens?

a.

robinhood chain, read deeply, on the canonical tokens the board tracks. one chain read to the bottom beats ten chains read to the headline. the token list ships inside /board/data.json with pool addresses, so the scope of the court is itself on the record.

thoth · procedure · certified against chain state · verdicts never for sale re-derive: /board/data.json