Quickstart
Accept your first exact allocation, replay it safely, and read its status.
Connect from your backend, issue one reward, and read it back. This guide stops at API acceptance; your operator's approval and the transfer from their wallet are asynchronous operations.
Before you start#
Obtain an environment-specific API base URL, a scoped server API key, an approved campaign ID, and a recipient wallet authorized for that environment. Confirm the campaign's token, decimals, per-grant limit, and available issuance capacity.
Run examples in an isolated development environment first. The sample wallet is not a destination for real funds.
1. Install the SDK supplied for your integration#
Follow Install. Configure these variables in your server environment:
The local URL and IDs above are examples. Set the actual approved values for your environment. Use HTTPS outside loopback development. Never expose the key through a public environment-variable prefix.
2. Create the server client#
3. Check the campaign, then submit an allocation#
Your application should persist the original instruction and stable idempotency key before sending it. Store the returned reward ID against the same business event. See Idempotency for crash recovery.
The SDK returns the resource directly. The HTTP API wraps it in { "data": ... }.
4. Replay without issuing twice#
An identical replay returns the original reward's current state. It can be further along than the first response. Do not change the amount, recipient, or event while reusing the same key.
5. Read the reward#
Do not hold the original HTTP request open until delivery. Use scheduled status tracking instead.
What happens next?#
Once the recipient has verified their wallet, the grant is queued into your open draft campaign. Your operator reviews the draft in the dashboard, signs one approval over the exact allocation, and their wallet sends each transfer; a job verifies every receipt against the chain before a reward is delivered. See Approval and sending.
Next: Grant a reward, Reward states, and Testing your integration.