Kleros Development Update August 2026
๐ August 2026 Summary
- Court V1: home page freezes fixed with reward snapshot caching, snapshot roots now verified in CI against the on-chain distribution contract, local draft storage for juror justifications in hidden-vote courts, vote tallies and turnout in dispute history, and staking rewards moved behind a dedicated rewards domain.
- Court V2: the case list redesign shipped, markdown formatting for juror justifications reached master, the Agentic Commerce Court was created, contract review follow-up and hardening work continued, contract verification moved to Blockscout, and the migration to the next major UI library version restarted.
- Atlas: released v1.11.0, batched Court V1 keeper bot transactions, two randomness-readiness corrections in the same bot, rate limiting in front of the block explorer API, converged GraphQL pagination and sort arguments, a second VM for the Zodiac bots, and continued integration test revamp on the Anvil framework.
- Vea: the Envio indexers merged into one, inbox and outbox subgraphs migrated, Veascan folded into the VeaShi scanner, the VeaShi SDK and production scanner released, Envio support added to the relayer and the first validator, and a third validator flavor containerized and ready for deployment.
- Foresight: Round 2 of the movie market experiment was completed, and Round 3 followed. The create page and trade executor factory landed, deployment to Gnosis progressed, and the prediction page redesign began.
- Escrow V1 and V2: a fallback RPC mechanism on both frontends, better handling of missing custom token metadata, and unused chain-related code removed from V2.
- Dispute Resolver: evidence submission support for Governor V1, the contract reads moved onto Kleros RPCs, and a reworked home page data path.
- Proof of Humanity V2: the referral system progressed across frontend and backend, with payouts moved onto a disperse contract.
- Scout and Curate: the list of lists migrated from Classic to Light, a default explorer fix, and refreshed documentation links.
- Zodiac bots: hardened proposal parsing, a configurable block confirmation depth, and bond amounts labelled with the correct chain currency symbol.
- AI and agents: a new version of the Kleros CLI added V2 beta dispute queries, an AI jurors dashboard and voting CLI appeared, ERC-8183 research resumed alongside ERC drafting with GenLayer, and the Agentic Commerce Court parameters were worked through.
- Documentation: the migration to Mintlify completed.
- Infrastructure: a new RPC provider strategy across products, an incident management playbook, and dependency security updates in several repositories.
Now let's go product by product.
Court V1
The most user-visible change was a fix for the reported freezes on the home page. Reward snapshots are now cached and unnecessary MetaEvidence fetches are skipped, and the initial state stays correct when no snapshots exist yet. The fix was confirmed to resolve the reported behaviour.
On the rewards path itself, snapshot roots are verified in CI against the on-chain distribution contract before they are trusted, with pending weeks failing the check and public RPCs kept as a fallback. The July rewards snapshot was added at the start of the month, and staking rewards now redirect to rewards.kleros.io. The scripts behind the rewards and incentive payouts were reworked through the month to need less manual intervention each cycle.
Two changes went into the juror experience. Justifications written during the commit period are now saved locally as a draft and survive a refresh, which matters the most in hidden-vote courts where the justification cannot be recovered from the vote itself. The redundant caption next to the justification box was removed. The dispute history section now shows vote tallies and a turnout summary per round.
Smaller items: the PoH Governor address was whitelisted, the mainnet RPC endpoint was changed, environment files were untracked in favor of a template, and the deployment dashboards were consolidated.
Court V2
The case list redesign was implemented, reviewed, and merged with responsive behavior included, giving jurors a refreshed view of open and past cases. The Agentic Commerce court was created, and the migration to the next major version of the UI components library restarted after being paused.
Markdown formatting for juror justifications had been running on the devnet and reached master this month, so justifications now render as formatted text. An issue where evidence from a prior case appeared immediately after creating a new one was also resolved on devnet.
Contract work ran alongside the frontend. Review follow-up continued through the month, with discussions and changes landing as items were closed out, and hardening work went into how delayed stakes are handled.
Gas estimation and capping were fixed in the keeper bot, and a phase change issue was identified and is under review. The contract verification task moved from Gnosisscan to Blockscout, following the deprecation covered last month.
Two design questions were opened this month. The first is whether voters should be allowed to change their vote after committing in commit/reveal disputes: the contracts already permit it, the interface does not expose it, and the open question is whether it helps human jurors or mainly confuses them. The second is an early design for a global notifications interface, including how prominently unverified notifications should be shown.
Atlas (Backend Services)
Atlas shipped release v1.11.0, which included a fix to Foresight notifications.
The Court V1 keeper bot was the main functional focus. Its transactions are now batched across disputes instead of being sent individually, and two separate randomness-readiness problems were resolved: the bot now waits correctly while polling, and a block-readiness check was corrected.
Work also started on an API for querying Scout registry data so partners can pull registry contents directly rather than through the app.
Two Foresight items landed: the candidate resolver was fixed, and Foresight was registered as an IPFS product with its own roles and a dedicated bucket for session metadata and image hashes.
Shared utilities were consolidated. The GraphQL pagination and sort arguments were converged into one shared definition so every resolver uses the same shape, and a scalar for 32-byte hashes was added alongside the existing address scalar.
The integration test revamp continued on the Anvil-based framework introduced last month. A Court V1 deployment fixture was added, the commit reminder and reveal reminder suites were landed and grouped by reminder type, the juror won/lost and juror-can-act reminder suites were revamped, and common helpers were extracted to avoid duplicating setup across the suites.
Work in progress at the end of the month includes per-product granular notification subscriptions, the Scout registry read layer, and revamped test suites for Court V1 staking and Court V2 appeals.
๐ก Note: Atlas remains an internal backend library for Kleros development teams only and is not intended for community use or integration.
Escrow
Both escrow frontends received the same pair of changes: a fallback RPC mechanism and improved handling of missing custom token metadata. Escrow V2 also had unused chain-related code removed.
Dispute Resolver
Evidence submission support for Governor V1 was added, so governor disputes can be argued through Dsipute resolver
Data fetching was moved onto Kleros RPCs instead of the connected wallet's provider, to improve reliability. Wallet chain switching was improved alongside it.
Vea (Cross-Chain Bridge)
Vea spent the month consolidating its indexers and explorers into fewer moving parts.
The VeaShi scanner was merged into the development branch after a revamp of its queries and interface, and the VeaShi SDK and production scanner were released. Veascan was then migrated into the same scanner, so both bridges are viewed through one application instead of two separate apps, with transaction hashes linking out to the relevant block explorers.
The indexing work ran in parallel. The separate Envio indexers were merged into one, the inbox and outbox subgraphs were migrated over, and the scanner was pointed at the merged indexer. The relayer gained Envio support, and the validator and scanner were updated for the merge. The longer-term plan is to move the remaining Vea infrastructure off the subgraph and onto Envio, which validators already treat as a secondary data source.
On the validator side, the third validator was reviewed and confirmed working on both happy and unhappy paths in a new deployment and is ready to go live. It takes a different approach to the existing two: it does not save snapshots, it groups data from several RPCs and takes no action when they disagree, and it checks L2 block finality directly with a wait for sequencer delay rather than following L2-to-L1 transmission priority. A hosting region uncorrelated with the existing two has been requested for it, and a comparison document was written covering how all three validators handle the same failure surfaces.
Public RPC fallbacks are being added for the first validator, and the reason the fallbacks did not engage during a recent RPC incident on the second validator is being investigated. Provider coverage is a constraint here, since not every provider supports every chain Vea runs on, and the preference is for each validator to use a different provider.
The Hashi light client was updated, and all bridges were tested successfully. New routes were deployed to additional chains, and an overpayment on bridge message costs was found and corrected.
Kleros Foresight
Round 2 of the movie market experiment was completed, with markets confirmed redeemable and settling correctly, an improvement on Round 1; read more about it in this article. Round 3 followed during the month, and a separate set of markets covering DevCon side event attendance and satisfaction was being built alongside it.
๐ฌ The Movie Experiment is back for a third session.
โ Kleros (@Kleros_io) August 12, 2026
Twenty new films are live on Kleros Foresight, from Kubrick's Lolita to Soviet cult classic Kin-dza-dza! to films released this year. The question is the same as always: what percentile score would @clesaege give each one?โฆ pic.twitter.com/eGiCstsmkk
The create page was implemented, a transaction orchestrator was added, notification testing was carried out, and the trade executor factory and executors were completed. Deployment to Gnosis progressed, with support for a Gnosis fork added, and the prediction page redesign and implementation got underway.
The risk pricing interface continued to evolve, with branding for the data provider added and further interface changes made, though asset coverage remains constrained by what the underlying data API exposes. Protocol-level risk and probability of default were discussed as inputs to that work.
Foresight also adopted subscription-status support, so it can check whether a signed-in user is subscribed to notifications, and it was registered as an IPFS product for storing session metadata and image hashes.
Proof of Humanity V2
The referral system was the dominant thread. On the frontend, the registration flow, home page, and referral attribution were revised, reviewed, and merged, alongside a broader interface revamp.
The backend side of it started with a referral payout bot, which was then reworked so payouts go through a disperse contract instead of a bespoke distributor. Allowance handling was simplified to a single verification at the start of each run instead of repeated checks, and the referral queries were moved onto the shared pagination arguments introduced this month.
A script was also prepared to calculate claimant rewards for the double PNK allocation, which covers users who claimed the PNK airdrop and staked in the humanity court for six months.
Scout and Curate
The list of lists migration from Classic to Light is complete. Scout also fixed a default explorer bug and refreshed its documentation links.
Rate limiting was added to the Blockscout API to prevent abuse and stay within the indexer's limits. The changes are under review.
One clarification came out of partner questions: Solana is not indexed directly. The frontend and reward scripts handle the CAIP format, but that does not change how the subgraph treats it, since it is stored as a single CAIP value.
Zodiac Bots
The bot no longer stops processing when it encounters a malformed proposal; the offending entry is handled, and the run continues.
A configurable block confirmation depth was added so operators can decide how many confirmations to wait for before acting, and bond amounts are now labelled with the correct chain currency symbol instead of a hardcoded one, which matters on non-mainnet deployments.
The proposal validation checklist in the notification templates was reworded to be clearer about what a reviewer should check, with logger and example configuration fixes alongside. A second virtual machine was provisioned for the bots.
AI and Agents
A new version of the Kleros CLI was published, adding V2 beta dispute queries so agents can follow disputes, evidence, and period changes. A landing page for the tool is in progress. A separate AI jurors experiment gained a dashboard and a voting CLI of its own.
Design work continued on the Agentic Commerce Court, created in Court V2 this month. The proposal under discussion shortens the evidence, voting, and reveal periods to an hour each to match testing timelines while keeping a longer appeal period and simplifies the pilot to three ruling options. Agent juror staking was also discussed: the minimum stake is lower because fees are lower, which improves accessibility, but it still cannot fall below the minimum stake of the appeal courts, and the target is an equilibrium where fees cover agent operating expenses plus a margin.
Drafting on an agent-related ERC continued with GenLayer, research on ERC-8183 resumed and moved into a proof of concept, and feedback was shared with the Ethereum Foundation following a call on reputation oracles. An agent reputation app was also prototyped.
Anyone experimenting should note that the V2 testnet and the current V2 beta run on different chains with different addresses and different code. The beta adds guardrails, including gating, staking limits, and arbitrable whitelisting, so disputes that do not originate from a whitelisted arbitrable are rejected.
Several exploratory threads were opened: a queryable database of past Kleros cases with rulings, evidence, and categorization to serve as precedent for agents and researchers; a research program to evaluate and select models for agent arbitrators across efficiency, security, compliance, and robustness dimensions; methods for agents to process evidence more reliably, including converting documents into formats better suited to OCR and vision models; and privacy-preserving inference in trusted execution environments for cases where parties and juror operators submit information under different keys.
Documentation
The documentation migration to Mintlify was completed this month, and the doc links inside every frontend were moved from the old GitBook URLs to the new ones. Broken links found during the migration were fixed, and a run of smaller improvements followed once the new site was live.
Website
The AI site was linked from the main website, and the download links for the EPUB, MOBI, and PDF editions of the book were updated on both the website and the corresponding blog post. Spam protection on the AI site contact form was reviewed, with the decision to rely on the host's server-side protection for now and add a challenge only if it proves necessary.
What's Next
Court V1 continues on the rewards verification path and juror-facing polish. Court V2 picks up the commit/reveal vote change question, the global notifications interface, and the UI library major version migration.
Atlas continues the integration test revamp, with the Court V2 suites next in line, ships per-product granular notification subscriptions, and continues work on the Scout registry API.
Vea completes the third validator rollout, the RPC fallback for validators, and the validator comparison documentation. Foresight continues the Gnosis deployment, the prediction page redesign, and the DevCon side event markets. Proof of Humanity V2 takes the referral system through to launch. For agents, the Agentic Commerce Court parameters are finalized, the ERC-8183 proof of concept is ongoing, and the case dataset and model evaluation proposals move from discussion to scoping.