← Back to Tally

Tally: a pick journal that learns which tipsters to trust

Jadon · 10 November 2026

Anyone who bets or trades prediction markets gets sent tips. A Telegram channel posts "sure odds", an account on X claims nine wins from ten, a friend forwards a wallet that "never loses". The record you are shown is written by the person selling it, after the results are in, and it is almost always a win rate. Win rate is easy to make look good. If you only back 82¢ favourites you win four times in five and still lose money.

I built Tally for the person on the receiving end of those tips. It is live at https://tally.namite.xyz and the code is at https://github.com/jadonamite/Tally.

What it does

You forward a call to Tally: you paste the tip, pick the market and the side, and say who sent it. You can also follow a Polymarket wallet, and Tally imports its first buy on each market. Each source is a voice.

Tally seals the call before the market starts. When the market starts it records the price, and when the market settles it grades the call on two numbers: whether the voice got a better price than the market had at the start, and what $1 on the call would have returned. After ten graded calls a voice has a verdict. Voices that beat the price and made money earn a look and a suggested stake. Voices that didn't are greyed out the next time they call, with their record attached.

For sports markets, Tally compares the Polymarket price with the median of bookmaker prices from The Odds API with each bookmaker's margin removed, and flags markets where the two are 5 points or more apart. It only matches straight win markets with a known kickoff; spread and totals markets are refused.

How it uses Walrus Memory

Walrus Memory is where Tally keeps what it has learned. Every call, grade and change of standing is written as a memory in that voice's namespace. After each grade Tally also writes the voice's credibility score, and this is the memory the app runs on. When the feed loads, the verdict beside each voice is the newest credibility memory recalled from Walrus, and it decides whether the voice's next call is shown first, greyed out, or given a suggested stake. The blob is linked from the voice page so you can open the memory the verdict came from.

This is one of those memories, recalled from Mainnet as written:

Tally credibility. SineNooneEI after 39 sealed calls that count: +0.1¢ against the price at the start on average, +$0.19 per $1, 24 won and 15 lost. Verdict: Earned a look.

Recall is also used directly. When you add a new call, the capture sheet asks Walrus what this voice said before about that market and shows the answers before you seal. On a voice page you can ask in plain words, for example "their last bitcoin calls".

Tally remembers you too. On any open call you can mark it taken or passed. That choice is a memory, and when the call is graded a second memory records how the choice turned out. The You tab recalls them and shows how following and passing has gone for each voice.

At the time of writing Tally has 740 memories on Walrus Mainnet across 30 namespaces. The live count is at https://tally.namite.xyz/api/memory/stats.

How it uses Tatum

A record of who said what is only worth keeping if nobody could have edited it after the result. So each call is hashed, and the hash goes into a Sui mainnet transaction before the market starts. Tally then reads that transaction back through Tatum's Sui gateway and takes the checkpoint time from the chain. If the checkpoint is not earlier than the start, the call is marked late and never graded.

Here is one: https://suiscan.xyz/mainnet/tx/CiLENPQ9LD4kMocSbrTgF3NMUgNANe1eW5G3mWo6HVs4. It was sealed at checkpoint 343288920, 5 minutes 26 seconds before its market started. Its call page has a button that reads the seal through Tatum again while you watch: https://tally.namite.xyz/app/call/c_c1ce2f7943a5ba3d.

Wallet calls work the same way with a different chain. The Polymarket trade is a Polygon transaction, so Tally reads its block time through Tatum's Polygon RPC and compares it with the start. Of 444 wallet buys imported so far, 233 were made after their market had started. Those are kept, shown as late, and count for nothing.

How it learned over time

SineNooneEI is a Polymarket wallet on the example board. Tally imported its buys in batches and graded them as the markets settled.

After 12 sealed calls, the memory Tally wrote read: moved to "Hasn't beaten the price", −0.1¢ against the price on average, −$0.14 per $1. Any new call from that wallet was greyed out.

Ten minutes and 27 more graded calls later the record had turned: +0.1¢ against the price, +$0.19 per $1 across 39 calls. Tally wrote a new standing memory and a new credibility memory, the verdict became "Earned a look", and the wallet's next open call moved to the top of the feed with a suggested stake.

Another wallet went the other way. Alpha Trader won 14 of its 21 graded calls and lost $0.25 per $1, because it was paying favourite prices. A win rate would have ranked it above SineNooneEI. Tally greys it out.

Agents pay to ask

Agents can also query a voice's record over HTTP. When an agent calls GET /api/agent/voices/<id>/record with no payment, Tally answers HTTP 402 with the price. The agent pays 0.01 native USDC on Sui mainnet and sends the transaction digest back in the X-PAYMENT header.

Tally reads the payment through Tatum's Sui gRPC gateway, checking recipient, amount, coin type, age under 10 minutes, and that the digest was never used before. When a second request tried using the same digest, Tally refused it. Each paid request writes a memory to Walrus in that voice's namespace. In a live test on Sui mainnet, an agent paid 0.01 USDC and received SineNooneEI's record: https://suiscan.xyz/mainnet/tx/GB5fQhorBM4SJRzNS4yK8vA15WtykDKxK4upRT929iVx.

Try it

Open https://tally.namite.xyz/app. You land on the example board. Add a voice of your own, paste the next tip you are sent, and seal it before the start.