OpenPoly logo
Operator Api

Redemptions

Query Mini App redemption records.

Redemptions

GET /api/operator/redemptions lists Mini App redemption records for the authenticated operator.

Required scope: redemptions:read

Query params

ParameterTypeRequirementValues/default
external_user_idstringOptionalExact operator-side user ID.
market_idpositive integerOptionalExact market ID.
statusstringOptionalqueued, processing, operator_credit_pending, processed, failed, or manual_review.
created_fromdatetimeOptionalInclusive creation-time lower bound.
created_todatetimeOptionalInclusive creation-time upper bound.
activity_from_datedate (YYYY-MM-DD)OptionalInclusive Operator-local activity-date lower bound. Processed items use payout completion time; others use creation time.
activity_to_datedate (YYYY-MM-DD)OptionalInclusive Operator-local upper bound; cutoff is next-day local midnight.
sortstringOptionalcreated_at_desc (default), updated_at_desc, or activity_at_desc.
pagepositive integerOptionalDefault 1.
page_sizepositive integerOptionalDefault 50, maximum 100.

Summary

summary aggregates all filtered items:

  • redemption_count
  • redemption_payout_external_amount_minor_total
  • currency_code
  • timezone

The envelope is { summary, items, pagination }; pagination contains numeric page, page_size, total, and total_pages (minimum 1). page is capped at 10000. Summary count and amount include every matching status unless status is supplied, so unfiltered payout totals may include projected amounts for unfinished items.

For status=processed with operator-local activity dates, compare count and payout with the Opinion monthly settlement's activity-date redemption section. This endpoint prefers actual succeeded wallet-credit amount over stored projected amount; it is not proof that every processed item has fully reconciled cash evidence. The principal-aware settlement flags unreconciledPayoutCount and blocks export when a processed item lacks exactly one consistent succeeded Opinion credit. Closed-market principal and trading P&L have a separate recognition date and must not be inferred from this payout list. Polyflight uses separate native-IDR statement routes.

Response highlights

Each item includes:

  • id
  • nested run ID, schedule, and status
  • redeem_request_id
  • status
  • shares_micro
  • credits_equivalent
  • external_amount_minor
  • fx_rate_snapshot_id
  • failure_reason
  • created_at
  • updated_at
  • activity_at
  • nested operator user and market summaries

shares_micro uses micro-shares (1000000 = 1 share). credits_equivalent uses Polynion Credits (10000 = 1 USDT). external_amount_minor is a nullable JSON number in zero-decimal Operator currency, preferring the maximum succeeded credit amount linked to the item, otherwise its stored projected amount. It is not a sum of wallet cash or proof that exactly one consistent credit exists. For processed items, activity_at uses the linked redemption request's processed_at, falling back to item updated_at; other items use created_at.

Notes

  • redemptions are operator-scoped
  • redemption credits use redemptionItemId and marketId metadata
  • orderId is not part of the redemption credit payload
  • Resolutions are market-level exposure and liability aggregates; Redemptions are individual winning-share payout items
  • Use Market PnL for confirmed cash and cash-flow triage for pending/failed sources. This read endpoint does not trigger another payout.
Copyright © 2026