https://api.chipipay.com/v1
POST /gifts
Create a redeemable gift code. Credits are held from your org balance. Auth:Authorization: Bearer sk_... or x-api-key: pk_...
Cost: No per-call fee. Credits held = amount × maxRedeems + gas estimate.
cctpFast (fast vs standard CCTP for Solana redeems) is not configurable on single-create today. The Gift row defaults to cctpFast: true server-side. To override, use POST /gifts/bulk (which does accept cctpFast in the request body) or the dashboard’s bulk-airdrop flow.POST /gifts/bulk
Create multiple gift codes + send claim emails. One gift per recipient. Auth:Authorization: Bearer sk_... or x-api-key: pk_...
Max: 500 recipients per batch.
GET /gifts/claim/:code
Validate a gift code. No auth required — the code is the credential. Used by the claim page to show “You received $5 USDC from Org Name” before the user enters their wallet.Response (200)
{ "valid": false, "reason": "Gift has expired" } if the code is invalid.
POST /gifts/claim/:code/redeem
Redeem a gift code — sends USDC to the provided wallet address. No auth required.
Starknet response (201):
GET /gifts/claim/:code/status/:redeemId
Poll cross-chain redeem status. No auth required.PENDING → BRIDGING → ATTESTED → SUCCESS
If FAILED: the Starknet burn tx is in cctpBurnTxHash — the funds may still be recoverable.
