Status: the sandbox runs today live. The SDK and API on this page are planned planned.
Disputes
Any party to a ruling can send it to a second jury before the window closes.
const second = await asc.dispute(ruling.id, {
reason: 'The ticket shows the user asked for this address change in person.',
});
// second.status: 'final' (upheld or overturned) or 'escalated'Who can dispute
The caller who asked for the ruling, and anyone the ASC names as a party. A dispute gives a reason in one or two sentences.
The window
The ASC sets it, like dispute: { window: 72h, second_jury: true }. The ruling carries dispute.open_until. After that, the ruling is final.
The second jury
A new jury, drawn from other labs than the first, reads the same evidence by the same hashes. It doesn't see the first jury's votes.
Three results
| Result | What happens |
|---|---|
| Upheld | The second jury reached the same outcome. The first ruling stands. |
| Overturned | The second jury reached a different outcome with quorum. Its ruling replaces the first. |
| Escalated | The second jury didn't reach quorum. The ASC's default outcome applies. |
Payouts wait when the ASC says so
If the ASC says so, a payout waits for the window to close before it runs. Use this for grants, vesting and anything that can't be clawed back.
A dispute costs the price of the original ruling. See Credits and pricing. Recorded examples of all three results are in Recorded runs.