Appeals
An appeal challenges a decided Intelligent Contract transaction before finalization. Anyone can appeal an eligible transaction during its appeal window by paying the exact appeal charge quoted by the consensus contracts.
GenLayer has two appeal paths because a disputed committee decision and a round that failed to produce a decision require different remedies.
Validator appeals
A validator appeal challenges an Accepted or ValidatorsTimeout decision.
- The protocol selects an entirely fresh appeal committee that did not participate in earlier rounds for the transaction.
- The fresh validators evaluate the original leader's proposal.
- They commit and reveal their votes in
AppealCommittingandAppealRevealing. - If their majority differs from the original majority, the appeal succeeds and the transaction returns for recomputation. If the majorities match, the appeal fails.
For a normal committee of size N, the appeal committee has N + 2 validators. An appeal round does not choose a new leader or produce a new proposal; it rechecks the existing proposal.
Leader appeals
A leader appeal challenges an Undetermined or LeaderTimeout decision. It automatically starts a new proposal round instead of asking an appeal committee to vote on the old result.
- After Undetermined, the protocol drops the previous leader, carries forward the remaining committee members, adds fresh validators, and uses the larger normal-round committee size.
- After LeaderTimeout, the protocol keeps the committee, removes the timed-out leader, and selects a new leader from the remaining members.
The new round's outcome determines whether the appeal was economically successful.
Committee growth
Normal execution and validator-appeal committees follow interleaved growth schedules. The first normal round currently uses 5 validators, its validator appeal uses 7 fresh validators, and the next expanded normal round uses 11. Later rounds continue growing. These values are protocol parameters and can change through a protocol upgrade.
Appeal charge and safe submission
The authoritative getAppealCharge quote has two parts:
- bond — the amount at risk, which discourages frivolous challenges; and
- funding — the induced-work reserve needed to schedule the next appeal or execution round.
The payable charge is at least bond + funding. Clients should read the current quote immediately before submitting instead of hardcoding either component.
The public SDK operations are appealTransaction in JavaScript and appeal_transaction in Python. The CLI equivalent is genlayer appeal. These operations bind the appeal to the transaction's active decision and use the schedule-extending topUpAndSubmitAppeal selector, so a caller can fund and start an otherwise unfunded next round atomically.
const charge = await client.getAppealCharge({ txId });
await client.appealTransaction({ txId, value: charge });charge = client.get_appeal_charge(tx_id)
client.appeal_transaction(tx_id, value=charge)submitAppeal is a low-level conformance surface for a next round that is already funded. It can revert with AppealRoundNotPermitted when an ordinary caller has only paid the newly quoted charge. Use the public SDK or CLI appeal operation unless you are deliberately testing that pre-funded path.
Bonds and incentives
- A successful appellant receives the bond principal plus a profit equal to 1.5× the bond, for 2.5× the bond in total. The separate induced-work funding is consumed by the scheduled consensus work rather than multiplied as appellant profit.
- A failed validator appeal forfeits its bond to the majority-aligned validators in that appeal round.
- Leader-appeal bond handling depends on the prior status and the result of the new round.
Appeal windows and dependent transactions
The appeal-window duration and its reduction after an unsuccessful validator appeal are governance-managed parameters. The window pauses while a validator appeal is voting. A successful appeal gives the recomputed transaction a fresh window.
Because transactions for one Intelligent Contract depend on earlier state, a successful appeal can return later non-finalized transactions in that contract's queues for recomputation. Appeals on those dependent transactions are canceled and their bonds refunded when necessary.
Deterministic-violation tribunals are separate. They decide judicial restrictions and penalties for recorded deterministic-result disagreement but do not change the transaction outcome. See Deterministic Violations & Tribunals.