NIRIUM · PLAY · HackMeridian Lisbon
Pay-per-action, inside the game.
x402 on Stellar, running for real inside Unity — not a mockup. A player pays $0.02 for one action, the signature is verified on-chain, and the game unlocks the result in seconds.
How it works
The same flow that runs in the x402 reference example, adapted to Stellar's Unity SDK.
01
Request the action
The player asks to "reveal loot" without paying yet.
02
402 Payment Required
The server responds with the exact price and network.
03
Sign and retry
The client signs the Soroban authorization and resends.
04
Loot unlocked
The facilitator settles the payment; the game responds.
Real evidence
None of this is a pre-recorded demo — every row is independently verifiable.
PR#87 — Unity compile fixview PR →First time the Unity client actually ran in a real Editor — found and fixed a SHA256.HashData bug.
PR#88 — settlement header fixview PR →Independent verification of the payment flow, with its own testnet keys — fixed the header name against the official x402 v2 spec.
PR#89 — settlement tx hash reaches the playerview PR →The client now reads the transaction hash from the payment-response header — that value only exists there, never in the response body, by design of how x402Serve() settles a payment.
TXPayment settled live, inside Unitystellar.expert →3e0beb9993222ccfa62150304e4a9bb402226630cf3923082ff0cf256f12c811
TXSecond run, same flowstellar.expert →09a5378081e48352e4140c3782b33db238d872273205c700aa7800380299e1aa
TXPaid from a real browser (WebGL build, not the Editor)stellar.expert →53436eb549600517d9c6e098cee6776db2be5fb48e3c6d9020db9b5fea384c60
Recognized upstream, not just self-reported
Four use-case contributions to Trustless Work's own escrow research repo, merged the same night — acknowledged directly by their CEO on GitHub.
PRBounded-authority milestone payouts + x402view PR →Use case: an agent that can release a milestone payment, but never redirect where it goes — the same pattern Nirium already runs in production.
PRAuthority by missing parameter (Treasury rebalancing)view PR →Use case built from Nirium's own Treasury RebalanceManager role: DeFindex's rebalance() call has no destination parameter at all, so redirecting funds isn't restricted — it's unwritable.
PRDirect x402 payment without escrow (verified live settlement)view PR →Authored by Monse — cites Nirium Play's own live testnet settlement as evidence for when a milestone-based escrow is the wrong tool.
PRProduction evidence for the agent-facing tool schemaview PR →Research note built from real, running endpoints instead of a hypothetical schema.
in progress
Playable demo, embedded right here
The WebGL build is already live — try it now with the "Play the demo" button at the top of this page. What's still unresolved is the wallet-signing bridge (Freighter) for connected mode — today's build signs with a fixed demo key, not the visitor's own wallet.