Proving and settlement
After payment confirmation, the solver builds a canonical witness and obtains an SP1 proof for the reviewed parent guest.
Program and cost bounds
Section titled “Program and cost bounds”| Limit | Value |
|---|---|
| Cycles per request | 8 billion |
| PGU per request | 10 billion |
| Paid attempts per swap | At most three |
| Example maximum request cost | 12 PROVE |
| Example requester cushion | 12 PROVE |
Worst-case cost includes the base fee plus the full PGU limit at the configured price cap. Both price and total-cost caps must pass. The per-PGU price must resolve to whole base units and match the network tick. Example caps are not market quotes.
Use a reviewed, nonempty, duplicate-free prover whitelist. Existing signed requests retain their original list. SP1_CIRCUIT_MODE=dev is rejected.
Persist before invoking
Section titled “Persist before invoking”The exact signed request and identity are persisted before invocation; a lost response is treated as ambiguous. Recovery reconciles requester history, domain, nonce, timestamps, and candidates. Where permitted, it resends identical bytes after 30 seconds.
Replacing a potentially invoked attempt waits for its deadline and retains its paid-attempt count. An unchanged nonce or empty history does not prove it was unused. A late valid proof can still be accepted while newer requests remain tracked. Relevant ambiguity pauses fresh bids while committed recovery continues.
Validate proof material
Section titled “Validate proof material”Downloads and decoding are bounded to 8 MiB. Acceptance requires the exact 352-byte journal, program identity, local Groth16 verification, and EVM selector. Repeated malformed bodies require two identical hashes before persistent-invalid classification; cryptographically invalid proofs are rejected immediately.
Submit settlement
Section titled “Submit settlement”The solver refreshes the award, deadline, and replay markers; privately simulates; then signs and persists the transaction before broadcast. It confirms the expected successful event at configured depth. Timeouts recover the same bytes; there is no fee replacement or cancellation.
Settlement pays the stored winner and must precede the deadline. Afterwards, continue reconciling ambiguous payments and paid requests through recovery.