This page repeats only claims marked PROVEN in Selo’s claims ledger. The ledger also lists what is not proven yet. Evidence files are written by a command from a real run, never by hand, and are sanitized before they are saved.
Release tests
ORA Gate: go-live and retest
ORA Gate is an x402 messaging endpoint on Algorand Mainnet, priced at 0.01 USDC. It was tested atPOST https://ora-gate-mainnet.vercel.app/api/ora-gate/message/ora_agent with its owner’s permission. The owner agreed to be named.
1
Go-live, 27 September 2026: FAIL
Job
job_GY5X6P4A3FSVXDEQ2VXP4EWAGR. Selo was paid in round 65454635, then paid ORA Gate in round 65454637.The replay returned ORA Gate’s stored result without a new settlement. The version of the retry check used in this run did not compare the replayed body with the original response, so it could not tell a stored result from a second delivery and reported a possible duplicate. The owner confirmed the message was delivered once. The check was then changed to credit a byte-identical stored result as a safe retry. The original report is kept unchanged. At the time, the route was not yet listed in the Bazaar catalog, hence the discovery WARN.
2
Retest, 30 September 2026: PASS
Job
job_ZP2BC5G5PD398EHYYNW90XX02W, run after the retry check was changed to compare replayed bodies. All five checks passed, including discovery (DISCOVERY_CONSISTENT, consistent with the Bazaar listing) and retry safety (PASS_SAFE_RETRY: the replay returned a body byte-identical to the original paid response, with no new settlement).Demo merchant: FAIL, fix, PASS
The demo merchant athttps://demo.useselo.xyz/v1/orders sells an order for 0.01 USDC. It has two releases at the same URL. Its health check answered 200 both times. Both runs went through the selo CLI against the production API.
broken-v1 settles its payment and answers 200, but its receipt does not match the declared schema: must have required property 'receiptId'. The proven contract FAIL decides the verdict on its own. In that run the Bazaar catalog could not be read, so discovery was INCONCLUSIVE; the catalog lookup was then changed to search by payee. fixed-v2 returns the declared receipt and passes all five checks.
GitHub Actions gate
TheRelease gate demo workflow verified the two signed Mainnet verdicts above against a pinned key on GitHub on 26 October 2026.
See Gate deploys in GitHub Actions to set up the same gate.
Verify the signed verdicts yourself
Both demo merchant verdicts carry an Ed25519 attestation signed byselo-ed25519-728fcf85650b128f. The public key is in selo-attestation-keys.json and served at https://api.useselo.xyz/.well-known/selo-attestation-keys.json. From a checkout of the repository, with no wallet and no payment:
Terminal
fixed-v2 attestation as broken-v1 exits 2: a PASS for one release cannot unlock another. See Verify a signed verdict.
Listing and attribution
Selo’s own paid route is live and discoverable on Mainnet. The decoded402 from POST https://api.useselo.xyz/v1/release-test shows Algorand Mainnet, USDC ASA 31566704, Selo’s payTo and the x402-global-challenge tag. Selo is listed in the Bazaar catalog, has a merchant record at the facilitator, and has a row under x402-global-challenge on the Mainnet merchant leaderboard.
Proven in the test suite
Some guarantees are proven by automated tests rather than by a single Mainnet run: the spend cap under truly parallel reservations on a real PostgreSQL database, the CLI’s exit contract, and reconciliation of held payments only on chain proof. The recorded run with every test name is ing3-test-suite.txt, and the claims ledger names the tests behind each row.
All evidence files and the commands that produce them are indexed in docs/evidence.