readiness checklist
Use this before putting batch-settled routes in front of agents.
1. Make the scheme explicit in discovery
The paid route should say when it uses batch-settlement instead of immediate exact settlement. Agents need to know whether they are authorizing a one-off transfer, opening a channel, topping up escrow, or signing a voucher against an existing channel.
2. Publish the per-request ceiling
Batch settlement can support dynamic usage, but each route still needs a maximum charge per interaction. Put the ceiling in the challenge and docs, then explain when the server may settle for less than that ceiling.
3. Cap deposits separately from route price
A per-call max does not bound the session if the client auto-deposits too much. Show the deposit multiplier, maximum deposit, top-up trigger, and what happens when the cap is reached.
4. Treat voucher signing as a hot credential
If voucher signing is delegated to a separate key, document the delegation boundary. The buyer should be able to rotate it, revoke it, and prove which signer authorized each cumulative amount.
5. Prove vouchers are monotonic
Every voucher should advance the cumulative amount for a channel. Reject stale vouchers, duplicate vouchers, lower cumulative amounts, route mismatches, expired sessions, and vouchers for the wrong receiver.
6. Use durable, shared channel storage
In-memory channel state is fine for a toy demo. Production needs storage that survives restarts. Serverless or multi-instance deployments need shared storage so two workers cannot accept conflicting channel state.
7. Schedule claims before withdrawal risk
The claim interval, settle interval, refund interval, and withdrawal delay should be visible. Operators need enough margin to claim outstanding vouchers before a payer can exit a channel.
8. Separate claim, settle, and refund evidence
A launch report should show which vouchers were accepted, when they were claimed, when claimed funds were swept to the receiver, and how idle balances are refunded.
9. Reconcile paid-but-not-served and served-but-not-claimed states
Batch settlement changes failure handling. Track whether the server served the resource after voucher verification, whether the voucher was later claimed, and whether the user can recover from a channel resync.
10. Keep browser CORS and resource binding intact
Batch-settled routes still need readable 402 responses, exposed payment headers, canonical resource.url, and accept-level resource echo. The settlement scheme changes, but the launch surface still has to be inspectable.