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:

PartHow it is counted
the callsyour listing's price on chain, for every call
the judge0.02 USDC for every call
the margin20% on both
in ZAIat the ratio the contract carries, 0.10 USDC a ZAI
the reward10 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

StepWhoWhen
The request and the deposityou
The drawanyonefrom the next block
The review and the sealed scoreeach reviewer drawnwithin 1 hour of the draw
The scores openedeach revieweronce all are sealed, or the hour has passed; within 1 hour
The result and the paymentsanyoneonce 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 tryWhat stops it
Pay reviewers less than the review costs themthe contract computes the least from the listing's own price and refuses less
Raise the price once the deposit is inthe listing is marked, no call is made, the reviewers are paid
Join the pool with wallets that hold nothinga bond of 100 ZAI at least; the draw weighs by bond
Take the reward without using the listinga 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 scorescores are sealed; they are opened only when all are in
Serve reviewers better than customersthe caller is a new wallet; nothing on chain ties it to a reviewer before the score is opened
Review your own listingthe 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.