Never fulfill from client state. Validate the canonical transaction data and atomically claim its hash in persistent storage before you reserve inventory, issue credentials, or return a paid resource.
Demo
Verify a raw token transfer
claimOnce must use a database uniqueness constraint and participate in the same durable workflow as fulfillment. A process-local Set cannot prevent replay across restarts or multiple workers.
Only the first request with the expected chain, token, sender, recipient, amount, and optional memo reaches fulfillment.
See the verified backend fixture for complete types and client setup.
See also