Become a verifier
A verifier (on-chain: an auditor) checks that sellers serve the model they advertise. It buys from sellers like any other buyer, compares their answers with the genuine model's, and gives each seller a SAME, DIFF or UNDETERMINED verdict.
This guide sets up KBF audits (Knowledge Boundary Fingerprinting). KBF is one of the first verification methods Antseed is launching, and one of many: more ways to verify sellers and protect model integrity are coming. See Model verification.
Quick start
Once you're set up (steps 1 and 2 below), these are the only commands you run each epoch:
# Terminal 1: the buyer, left running
antseed-verifier buyer start
# Terminal 2: audit your models, then put the results on-chain
antseed-verifier verifier run
antseed-verifier verifier submit --dry-run
antseed-verifier verifier submit --yes
# Terminal 3 (optional): follow the audit while it runs
antseed-verifier verifier status
verifier runbuilds any missing question banks, audits every seller of your models, rechecks everyDIFFand retries failures on its own. Running it again in the same epoch continues where it left off.- Until you're approved, use
verifier run --allto try an audit; you can't submit it yet. submitpublishes the audit evidence on IPFS, so setPINATA_JWTfirst (--no-publish-ipfssubmits without it).
The rest of this page explains each step. How an audit works is in How audits run.
Approval is only needed to submit results on-chain (see Getting approved).
What you need
- The Antseed CLI:
npm install -g @antseed/cli(see Install). - USDC for buyer deposits. You pay each seller you audit like a normal buyer. See Funding.
- API keys for the reference models, where the genuine answers come from. Building references is billed by that provider.
- A Base RPC endpoint.
1. Set up
Keep the verifier in its own data directory, apart from any seller or everyday buyer:
export ANTSEED_VERIFIER_DIR=~/.antseed-verifier
alias antseed-verifier='antseed --data-dir $ANTSEED_VERIFIER_DIR --config $ANTSEED_VERIFIER_DIR/config.json'
antseed-verifier config init
Then open $ANTSEED_VERIFIER_DIR/config.json and add the chain and the reference source:
{
"payments": {
"crypto": {
"chainId": "base-mainnet",
"rpcUrl": "https://your-base-rpc.example"
}
},
"verifier": {
"referenceEndpoint": {
"baseUrl": "https://openrouter.ai/api/v1",
"apiKeyEnv": "OPENROUTER_API_KEY",
"sourceId": "openrouter",
"trust": "trusted"
}
}
}
- You don't set the verification contract: the CLI knows its address and deploy block on Base. Only for your own deployment (for example a local test chain), set
payments.crypto.verificationContractAddresstogether withverificationDeployBlock, the block it was deployed in. Without the block, the CLI searches the whole chain history for the approved auditors. referenceEndpointis where the genuine answers come from. The example uses OpenRouter, which serves every audited model with one key. To use other providers, see Reference upstreams.- Leave
buyer.maxPricingat theconfig initdefault.
The audited models are built into the CLI. Set the API key and check the setup:
export OPENROUTER_API_KEY=…
antseed-verifier verifier models
It lists every audited model and where its genuine answers come from.
2. Start the buyer
The audit buys from sellers through your own buyer. Fund it, then start it in its own terminal and leave it running:
antseed-verifier buyer status # creates the identity and shows its address
antseed-verifier buyer deposit # shows where to send USDC
antseed-verifier buyer start
If another Antseed app already uses port 8377, set buyer.proxyPort to a free port in the config first.
If its price cap is too low for an audited model, verifier run stops and says what to set (see Your buyer's price cap).
3. Run the audit
antseed-verifier verifier run
Follow it from a second terminal with antseed-verifier verifier status. The first run takes longest: it builds each model's question bank from the reference API before it asks any seller (see Reference banks). When it finishes, it prints the epoch overview, <data-dir>/verifier/evidence/epochs/<epoch>/overview.html, with every seller's verdict (see The epoch overview).
Until you are approved, the run has no models to audit: add --all (or name one model) to try an audit without submitting it.
Next
- How audits run: question banks, which models and sellers you audit, verdicts, submitting on-chain and rewards.
- Getting approved: needed before you can submit.