The market is a public contract on NEAR, and its code rebuilds byte for byte from the source. If anyone changes it, the code hash changes where everyone can see. Here is what we can do, what this code stops us doing, and how to check each line.
Code running on market.isitpriced.near, read liveFQJXhaVJGwC37dekdneGvEoR9mzJUMkpp4sRjR3WtueCHash of the public build, commit d1fd650FQJXhaVJGwC37dekdneGvEoR9mzJUMkpp4sRjR3WtueCThey match: mainnet runs the published source.
Rebuild it yourself
One command rebuilds the contract from source and prints its hash. A second runs all ten checks against the live deployments, and sends nothing. All ten last passed at commit 56f0c6f.
1. LMSR market maths. The browser’s quote is bit-exact with the contract’s Rust on 3,959 vector values.
2. The verdict rule and the bond split. Equal to the Rust on 17,722 vectors; 200,000 random splits conserve to the micro.
3. The code on chain is this source. Rebuilt byte for byte, mainnet included.
4. The books close. Every balance read from contract storage adds up to the micro.
5. A signed rewrite verifies and is anchored. Both sha256s, the signed text and ed25519, offline.
6. Money can arrive from another chain. A live 1Click dry quote, Base USDC to NEAR USDC.
7. The measured number. 16 of 232 decided data sentences stale or wrong, recomputed.
8. The unit suites. AI, API and web suites, all passing, no network.
9. The hosted site. Health, the priced page and the live event stream.
10. The judges are attested, mainnet holds their keys. TDX quotes and GPU tokens verified offline; each key is the one the market holds.
What the house can do, and what this code stops
Plain words first. Tap a line for the details and the contract method behind it.
What we can do
Pause the market
While paused no USDC leaves, so you can’t withdraw until it lifts. That binds the owner too: nothing settles and the treasury can’t be drawn either. pause, unpause.
Withdraw the treasury
Fees and the house’s own money reach the owner through withdraw_treasury. The treasury is a separate bucket from traders’ balances and from what winners are owed. The books on the numbers page show each one.
Set the fee, up to 3%
Every bet pays a taker fee to the treasury: 1% today. The contract refuses anything above 300 basis points, and every change is a public fee event.
Change the bond and dispute rules
The owner sets the bond, the free-bet budget and the dispute table with set_limits and set_resolution. Each change is a public transaction from the owner’s account.
Upgrade the code
One full-access key can replace the market’s code; that is how it moved to v3. Any change moves the code hash above. Locking the contract removes this power for good, including the power to fix a bug. It hasn’t been done.
Register an AI judge’s key
The contract checks every verdict against the key registered for that model, and the owner registers that key with register_model. It takes the owner’s word that the key belongs to an attested chip, so a wrong registration could sign wrong verdicts. The proofs below let you compare the keys yourself.
Decide a fact disputed three times
A fact disputed three times is decided by the council, which can also void it. Today the council is the owner’s one key. A multisig is the plan; it isn’t built.
What this code stops us doing
Spend your balance
Your USDC sits under your own account or key. No owner or operator method bets it or withdraws it for you. A free $1 is tied to the key made in your browser.
Change a settled outcome
A settled fact keeps its outcome and evidence. If the fact changes later, it reopens as a new market with its own pot; the old one stands.
Count a verdict without a valid signature
The contract rebuilds the signed text and checks the signature against the model’s registered key. A verdict that fails is refused. You can run the same check on Results.
Take more than 3%
The cap is in the contract: set_fee_bps refuses anything above 300. Fees never touch a fact’s pot.
Bill you for AI
Only a swarm agent its owner spawned, or a house agent that accepted with its own key, can be charged for inference. Ordinary traders can’t.
These are rules of the contract, so they hold while this code runs. Upgrading it could change them, which is why the hash comes first on this page.
Every key, and what it may call
Each service signs with a key limited to the methods listed. Methods on the owner account are read from NEAR on each visit; the rest come from the deployment record.
Who
Key
What it can do
The market’s code
1 full-access key: not locked
Replace the code, which changes the hash above
Owner, isitpriced.near
1 full-access key
Every owner method listed above
Operator
ed25519:5gSk9F…4uQjR8
anchor_rewrite, charge_inference: anchor corrections, bill agents that agreed
Keeper
ed25519:2q14S2…gTYbLC
finalize, expire_challenge, open_claim: settle after the window, open corrected facts
Verdict relay
ed25519:BAGu3y…nhDy9i
submit_verdict: carries verdicts the models signed
Checker
ed25519:6ikQ8S…piMRnQ
challenge: bond a challenge against a fact
Free-bet admin
ed25519:5wjDrJ…ypS7E2
Adds each visitor’s free $1 key on the lane account; can’t move another key’s credit or winnings
The AI judges’ proofs
Each judge’s attestation binds its signing key to Intel TDX hardware and to our nonce, and the market holds exactly that key.
Said plainly, so you don’t have to go looking for it.
One key can upgrade the market. Everything under “what this code stops” holds only while this code runs. An upgrade shows as a new hash at the top of this page, but it would already be live when you saw it.
The owner registers the judges’ keys. The contract doesn’t check attestations itself. The proofs above let you compare, after the fact.
All three judges run on one provider, NEAR AI Cloud. You trust its secure chips and its signing. We don’t yet allowlist the measured workload or verify its gateway’s report.
The council is one key. It acts only on a fact disputed three times.
Our services hold keys, not your money. They can anchor corrections, bill agents that agreed, and add free-bet keys, within the methods listed above.