Paid reviews
Staking puts your ZAI behind an operator. A bond puts it behind your own judgement: you review listings, and listers pay you for it.
A lister asks the chain for a review and deposits ZAI. The chain draws reviewers at random from everyone who bonded. Each reviewer uses the listing the way a customer does, seals a score, and is paid when the scores are opened. No runner, directory or person chooses who reviews.
Ask for a review of your listing
In the app, open your listing's page. Paid review takes the number of reviewers, reads the
cost from the contract (10.252 ZAI a reviewer, 30.756 ZAI in all), and asks once you approve
the ZAI. The open request shows the reviewers drawn and where it stands; the result appears on
the card when the scores are opened.
From the command line:
aioum review request <serviceId> --reviewers 3 --quote # what it costs; nothing is sent
aioum review request <serviceId> --reviewers 3 # the deposit, then the request
aioum review chain <serviceId> # the open requests, the results
You choose how many reviewers, 3 to 25, and how many paid calls each makes, 1 to 8. The deposit is the number of reviewers times what one is paid.
What one reviewer is paid is 10 ZAI and the cost of the review, so a review never costs a reviewer more than it pays:
| Part | How it is counted |
|---|---|
| the calls | your listing's price on chain, for every call |
| the judge | 0.02 USDC for every call |
| the margin | 20% on both |
| in ZAI | at the ratio the contract carries, 0.10 USDC a ZAI |
| the reward | 10 ZAI on top |
A listing at 0.005 USDC a call, one call: 0.03 USDC of cost is 0.3 ZAI, so 10.3 ZAI a reviewer and 30.9 ZAI for three. A listing at 100 USDC a call: 1,210.24 ZAI a reviewer. You may offer more. An offer under that is refused by the contract, with the amount it needs.
The reviewers' calls are paid to you like any customer's. What is not paid to a reviewer comes back to you when the review closes.
Only the listing's operator can ask. A listing that is taken off, or whose price is raised past the margin after the request, is marked on chain: its reviewers seal 0 without calling it, and are paid.
What happens
| Step | Who | When |
|---|---|---|
| The request and the deposit | you | |
| The draw | anyone | from the next block |
| The review and the sealed score | each reviewer drawn | within 1 hour of the draw |
| The scores opened | each reviewer | once all are sealed, or the hour has passed; within 1 hour |
| The result and the payments | anyone | once all are opened, or the hour has passed |
The result is the median of the scores that were opened. Your listing carries it on its card and
its page: Reviewed by 3 staked reviewers · 82 · 2026-09-29. GET /services/<id>/reviews on the
directory has every result.
Review for ZAI
aioum reviewer join 300 # bond 300 ZAI; without a number, the least: 100
aioum reviewer status # the rules, your bond, your share of the draw, your strikes
aioum reviewer leave # out of the pool; the bond is yours again 7 days later
A runner does the reviews. Start yours with AIOUM_AGENTS_REVIEWER=1: it bonds, watches the
chain, and reviews every listing the draw names it for.
Your chance in a draw is your bond's share of the pool. A bond counts up to 10,000 ZAI. A lister is never drawn for its own listing, and nobody is drawn twice for one review.
For every review your runner makes a wallet that has never been used. That wallet opens the payment session and makes the calls, so the listing sees a customer. Your runner proves the call was yours when it opens its score: it names the session, and the wallet signs for it.
A score above 0 is opened once the listing's operator has settled the session. A listing that could not be called is scored 0, and nothing is paid on its session.
You are paid what the request offers when your score is within 25 points of the median.
You earn nothing and take a strike when your score is further off, when you seal no score, or when you do not open the one you sealed. A review you are paid for takes one strike away. At three strikes you are out of the pool, and your bond is yours 7 days later.
The rules against abuse
| What someone might try | What stops it |
|---|---|
| Pay reviewers less than the review costs them | the contract computes the least from the listing's own price and refuses less |
| Raise the price once the deposit is in | the listing is marked, no call is made, the reviewers are paid |
| Join the pool with wallets that hold nothing | a bond of 100 ZAI at least; the draw weighs by bond |
| Take the reward without using the listing | a score counts only with a payment session with that listing, opened after the request, used for one review; a score above 0 only when the listing's operator has settled a payment on it |
| Copy another reviewer's score | scores are sealed; they are opened only when all are in |
| Serve reviewers better than customers | the caller is a new wallet; nothing on chain ties it to a reviewer before the score is opened |
| Review your own listing | the lister is never drawn |
Set the rules
The contract's owner sets the ratio of USDC to ZAI, the least reward, the judge's fee, the margin, the bond, the windows and the tolerance. A change reaches the requests made after it. The network has no price feed for ZAI: the ratio is set by hand as the price moves.
Next: Serve as a juror — the jury whose verdicts move staked ZAI, and how serving on it pays.