recipient.redeemed

The entitlement is fully redeemed. Terminal.

Triggered when the recipient's entitlement is fully redeemed. Terminal, so no further events fire for this recipient.

This is the one recipient event emitted for both payout types.

payout_typeFires when
gift_cardsThe final gift card is issued and the balance reaches zero. Arrives with the last payout.fulfilled.
cryptoThe crypto send completes. Arrives with payout.completed.

Body

The GIFQ envelope plus the wallet balance. subject_type is "recipient" and status is "redeemed".

remaining_amount is 0.0.

Example

{
  "event": "recipient.redeemed",
  "payout_order_uuid": "11111111-2222-3333-4444-555555555555",
  "recipient_email": "[email protected]",
  "recipient_uuid": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
  "recipient_name": "Alice Doe",
  "subject_type": "recipient",
  "status": "redeemed",
  "updated_at": "2026-05-21T10:12:00Z",
  "payout_type": "gift_cards",
  "initial_amount": 75.0,
  "remaining_amount": 0.0,
  "currency": "GBP",
  "sent_at": "2026-05-20T09:00:00Z",
  "viewed_at": "2026-05-21T10:00:00Z",
  "expires_at": "2026-08-20T09:00:00Z"
}

What to do on receipt

  • Close the recipient out. The full initial_amount was delivered and nothing remains.
  • Key your "done" state on this event rather than on payout.fulfilled. A recipient holding three cards produces three payout.fulfilled events but only one recipient.redeemed.
  • On gift cards we write this in the same transaction as the final payout.fulfilled, so you always get both.
  • On crypto, cross-check the send through the GIFQ API before treating funds as confirmed on chain. See the hash caveat on payout.completed.
  • No further events fire for this recipient. A later recipient.expired cannot happen.