Machine-facing data, priced per call, paid over x402.
Sealed bids, commit-reveal games, and draws nobody can rig — including us. Signed by a party with no stake in the outcome, and recomputable by anyone.
GET /v1/commit?hash=<sha256 of your value>¬e=lot-14
→ { "committed_at": "...", "commitment": "<token>",
"signature": { "algorithm": "Ed25519", "value": "..." } }
You hash the value yourself. We never see it. What comes back proves you were bound to that hash at that moment, attested by someone with nothing to gain either way.
GET /v1/reveal?commitment=<token>&preimage=<your original value>
→ { "matches": true, "sealed_for_seconds": 843, "signature": {...} }
→ { "matches": false, "committed_hash": "...", "preimage_hash": "...", "signature": {...} }
A mismatch is signed too. That is the case worth paying for. If the other side produces something different from what it sealed, you leave with independent, signed evidence naming both hashes — not an error message. A service that only ever proves the happy path is no use in the argument you actually have.
GET /v1/draw?n=100&pick=3
→ { "winners": [86, 67, 28],
"beacon": { "round": 6410700, "randomness": "...",
"verify_at": "https://api.drand.sh/public/6410700" },
"derivation": { "seed": "sha256(randomness + \":\" + n + \":\" + pick)", ... } }
The entropy is the drand League of Entropy beacon: a distributed network emits one signed value every 30 seconds and no participant — Soren included — can choose or predict it. We do the derivation and sign the result. The round, the randomness and every step are in the response, so a loser can recompute the draw without trusting a word of it.
The one hole, stated plainly. If you let us pick the round,
you are trusting us not to have waited for a beacon we liked. That is real,
and the response says so. To remove it: publish a future
round number before it exists and pass it as ?round=. Then the
outcome is beyond everyone’s reach, ours included.
Nothing. Not the value, not the hash, not the commitment. The signed token is handed back and it is the only copy. If you lose it we cannot reissue it — that is the deliberate trade, because a service that could reissue your commitment is a service with a database of your sealed values in it.