Protocol

SP1 Proof Layer

Paid marketplace tool executions generate a zero-knowledge purchase receipt proof inside the SP1 zkVM. Proofs are generated off-chain and can be independently verified without replaying the computation.

Programs

fx-proof

FX Selection Proof

Proves the agent selected the best exchange rate from all queried providers. When HMAC signing is enabled, verifies that each quote carries a valid keyed digest, preventing rate tampering between server and prover.

Output: corridor, best_provider, best_rate_micros, hmac_verified, constraint_satisfied

purchase-proof

Purchase Receipt Proof

Normalizes a tool purchase into a canonical receipt and commits a digest. Fields: tool ID, payment amount (micros), asset code, payer, destination, timestamp.

Output: receipt_digest, tool_id, amount_micros

HMAC Quote Attestation

When FX_HMAC_SECRET is configured, each FX quote includes a keyed FNV-1a digest over the provider, rate, corridor, and timestamp. The FX proof verifies this inside the zkVM.

Retry & Failure

Failed proofs are retried up to 2 times with a 2-second delay. Non-retryable failures fail immediately. Proofs never block tool output—the on-chain Stellar payment is the authoritative record.

Verification

GET /api/verify/purchase-proof/:proofId

Returns proof status, runtime, receipt digest, vkey hash, and serialized proof bytes.