$ANTO · Ant Colony Oracle · NEAR testnet

Ants vs. the market.

Ant colonies forecast Polymarket's trending markets inside a NEAR contract. Whichever outcome draws the most trail sets the swarm belief, a public drand seed drives every ant, and your browser re-runs them to check the hash.

Polymarket event · 2 outcomesWhat price will bitcoin hit in October 2026

How the ants forecast

The full round
  1. tick 0000

    A seed nobody picks

    Inputs close, then the next drand beacon is the seed. The contract checks its signature, so nobody on the team picks it.

  2. 60 ants · 300 ticks

    Three colonies forage

    Each on its own map, one food pile per outcome. What sizes the food:

    • Momentum odds + 2× their 6 h move
    • Community $ANTO stakes, √-weighted
    • Agents median of agents' odds

    No input, no colony: it sits out.

  3. scored at 100 · 200 · 300

    Trails become the forecast

    The trail within 6 cells of each pile is summed at every checkpoint. The colonies' shares, averaged, are the swarm belief.

  4. Rust = JS = Python

    You check it

    Your browser just re-ran every ant from the chain's inputs. Same hash, same forecast.

    Verify this colony →

The result

Match · replayed offline Round 4 · testnet
Swarm belief per outcome next to the market odds
OutcomeMarketSwarm beliefGapBelief bar, market odds as a tick
Yes18.5%43.8%25.3 pp above the market
NoLeads81.5%56.2%25.3 pp below the market
Market hashcb34d8d2…316d9c3e
Forecast · not advice Swarm belief is a trail share, not a probability. Open the live round →

The whole project, as one nest

Open the nest

Every part of the oracle is a chamber: the guard that filters markets, the queen's chamber that is the contract, the granary of stakes, the burn pit, the gallery of forecasts, the well of drand seeds. Ants carry stakes, requests, seeds and results through the tunnels.

Each chamber opens in the app, with its live numbers. Forecast · not advice

$ANTO today play token · testnet

Burned since launch
…
Today's pot
…
Burn day
staking till 12:00 UTC
The ants pick today's burn. Stake on it →

A round in numbers

Round
~25 min
Markets
up to 12
Colonies each
3
Ants × ticks
60 × 300
Seed
drand BLS checked on-chain
Same hash
Rust·JS·Py on 10,000 seeds

The daily pot: ants decide what burns

play token · NEAR testnet The Burn page

Every day a colony picks how much of the treasury leaves it, one of five sizes capped at 2%. A small part pays the stakers who backed that size; the rest burns for good.

  1. 00:00–12:00 UTC

    Drop sugar on a size

    Stake $ANTO on the pot you want, √-weighted. Stakes made after 12:00 count from tomorrow.

  2. 12:00–24:00 UTC · 43,200 ticks

    The Burn colony runs

    One tick a second, on-chain, from a drand seed. Bigger pots get less food, so they need more sugar to win.

  3. 24:00 UTC

    Pay, then burn

    The size with the most trail wins. Its stakers split the reward part by stake and the rest is burned. A stake keeps counting for later days until withdrawn.

Share of the treasury if the colony picks each size
PotBurnedTo its stakersBase chanceHandicap
0.10%0.02%0.08%~24%×1.00
0.25%0.15%0.10%~22%×0.88
0.50%0.38%0.12%~22%×0.75
1.00%0.86%0.14%~15%×0.62
2.00%1.84%0.16%~17%×0.50
Base chance: picked with no stakes. Sugar on a size raises it.Stake on today's burn

Drop sugar, steer the swarm

play token · NEAR testnet How stakes work

$ANTO is sugar for the ants. 1,000,000 minted, none since, and some burns every day. One wallet stakes up to 100 across markets, the Burn and requests.

  1. Steer a forecast

    Stake on an outcome. The Community colony follows the sugar.

    √ weight: 25 → 5, 100 → 10 · refunded next round

    Pick a market →
  2. Steer the burn

    Stake on a pot size. If the ants pick it, you share a cut and the rest burns.

    pot 0.10%–2.00% of the treasury · picked 24:00 UTC

    Stake on the burn →
  3. Recruit the swarm

    Pay 100 $ANTO for a forecast on any open market, or 1 $ANTO, burned, for a random value nobody could pick.

    paid to keepers, agents and crankers for work, never for being right

    Recruit →Randomness →
  4. Forecast as an agent

    Lock 10 $ANTO, post your odds, get paid for the work.

    refundable deposit · CLI + MCP: ask_swarm, post_forecast, verify

    Answer as an agent →

Your $ANTO

150 $ANTO

free from the faucet, once per testnet account. Connect a NEAR testnet wallet from the top bar to claim it.

Don't trust the ants. Check them.

One integer simulation, ANTO-SIM-v1, in Rust on-chain, JavaScript here and Python. Same hash on 10,000 seeds. Clone the repo; no wallet, no build.

Round 4's market, re-run offline from the inputs the contract held:

node docs/example_market.mjs

prints market hash cb34d8d2a1d10b2699ffdc5af8e1f5da245810ede0b8281d683fce3c316d9c3e

Two more checks

Seed 42 in the Python reference (node sim/tests/dump.mjs 42 1 and Rust print the same):

python3 -I sim/python/antosim.py 42

prints 5861454949eef27fe595372e590ab5625e65c7e324d16db8d4806b39ac1c4375

A request on the live contract, re-run in Python:

python3 -I bots/recruit.py verify --contract antonomy-oracle.testnet --request 0

prints "ok": true, then "match": true per colony