Opinion Settlement Reports
Opinion Settlement Reports
Open Operator Dashboard → Operations → Settlement Reports at /settlement-reports.
Required scope: settlements:read or *. This separate grant applies to both the page and its exports. It does not require trades:read or redemptions:read, and those scopes do not grant settlement access. Existing wildcard administrators retain access; restricted staff and API keys must explicitly receive settlements:read when needed.
If the menu is missing and a direct visit returns to Overview, the signed-in account lacks the required grant; deployment alone does not assign it. Dashboard session refresh retrieves current permissions after verifying the same operator and account, so retained sessions pick up approved grants and revocations when you reload or return to the tab. Normal staff access edits invalidate existing sessions; sign in again if prompted.
The page uses the same Opinion monthly report data and CSV/PDF exports as Polynion Admin, restricted to the authenticated operator. There is no operator selector or operator-ID override.
Select a month
- Enter a strict
YYYY-MMmonth from2000-01through the current operator-local month (the format supports years through 2100), then select Generate report. An invalid/future URL month is replaced by the current month with a warning. - Period boundaries and daily rows use the operator's actual configured timezone, shown on the report, not the browser timezone or a fixed UTC offset.
- Completed months are available for reporting and, when reconciliation checks pass, export.
- The current operator-local month is available only as a read-only preview. It can include principal catch-up recognized so far; it is not a final settlement and cannot be exported.
- Future months are rejected, including when preview is requested.
- Changing the selected month clears the previous report and disables its exports. Generate again for the displayed month; use the report's generated timestamp when sharing evidence.
Read the report
The summary and daily breakdown distinguish:
- processed trades, gross trade volume, gross fees, and operator/account-manager/Polynion fee allocations;
- captured closed-market principal closures, their full-history buy debits, net sell credits, gross fees, net principal, and realized trading P&L;
- processed redemption count and actual successful reconciled Opinion wallet-credit payout cash;
- the signed monthly net due and settlement direction.
Amounts ending in ExternalMinor use the report operator's currency minor units. Credit-denominated fee fields are separate from external-currency amounts. Do not add trade volume, realized P&L, or credit-denominated fields to the amount due.
Accounting and timing
For each captured market closure, let B be full successful buy debits, S net successful sell credits, G all gross external trade fees, and R lifetime successful reconciled redemption credits:
closed-market principal = B - S - G
realized trading P&L = closed-market principal - R
monthly net due =
Polynion fee share from trades processed in the month
+ platform-underwritten closed-market principal recognized in the month
- platform-underwritten successful reconciled redemption payout cash processed in the month
Positive net due means the operator owes Polynion; negative means Polynion owes the operator; zero means no net amount due for the captured report. For ordinary public Opinion markets, Polynion owns the principal profit or loss as well as its allocated trade fees. For private markets approved from an operator request, the requesting operator owns 100% of principal profit or loss and winning payout risk. Private-market buy principal, sell proceeds, and redemption payouts do not become principal payable to or reimbursable by Polynion. The platform's existing trade-fee share remains payable for both kinds of market; operator and account-manager fee allocations are unchanged.
Fees remain on their trade-processing dates. Payout cash remains on its successful processing date. Immutable principal closure is recognized once per operator and market on its own recognition date, using the market's full reconciled history, which may span earlier months. Historical closures first recognized in October 2026 are October catch-up, not new October bets or cash received. A month's recognized trading P&L is therefore not that month's amount due. Do not deduct payouts twice or treat open stakes as earned income.
The Unreleased private-market implementation records the underwriter and original approved request immutably. Its opinion-principal/v3 reports expose total public-plus-private principal/P&L/payout amounts and separate operatorUnderwrittenPrincipalNetExternalMinor, operatorUnderwrittenTradingPnlExternalMinor, and operatorUnderwrittenRedemptionPayoutExternalMinor subsets. The net-due calculation subtracts private recognized principal and adds back private payout cash, leaving only platform-underwritten principal/payouts and Polynion's fee shares. Do not transfer private-market principal to Polynion or subtract the operator's own payout cash again from the platform fee amount due. Existing historical public-market closures retain their original attribution. These source contracts are not evidence that private markets are deployed; see Market Requests.
See Opinion principal, trading P&L, and monthly settlement for the full accounting policy and all-time reconciliation formula.
Warnings and export eligibility
| Report condition | Meaning and action |
|---|---|
| Current/incomplete month | Preview only; wait until the operator-local month ends before exporting. |
currentFeeConfigFallbackTradeCount > 0 | Historical fee evidence is incomplete. Reconcile missing fee snapshots; exports are blocked. |
unreconciledPayoutCount > 0 | A period payout lacks exactly one consistent succeeded Opinion wallet credit. Reconcile actual wallet evidence; exports are blocked. |
pendingPrincipalMarketCount > 0 | Currently resolved operator markets still await principal closure. Their principal is excluded. This warning alone does not block exports of captured closures. |
SETTLEMENT_UNDERWRITING_ATTRIBUTION_INCOMPLETE | Private/public underwriting attribution is inconsistent. Escalate the report and accounting version; do not infer or manually replace missing attribution. |
Closure requires reconciled executions and wallet operations plus completed redeemable winning-share payouts (floor-to-zero dust is allowed). Unknown or pending payouts do not become principal merely because a market resolved. Review the original wallet operation and idempotency key; do not issue a fresh-key retry for an unknown payment. Deferred closures can appear as later catch-up recognition.
For an eligible completed month, download CSV, daily CSV, or PDF. These use the same exports as Admin; daily CSV provides the daily breakdown. A completed month or downloadable report does not certify fully reconciled final all-time performance, especially while principal remains pending.
pendingPrincipalMarketCount is the current outstanding resolved-market count, not just missing closures from the selected month. A zero bank-payment balance cannot be inferred from a zero recognized net due.
For a blocked report, send the environment, month, report timezone, generated timestamp, accounting version, warning counts, and relevant order/redemption/operation IDs to Operator Support. Use Cash Flow Triage for retained wallet evidence when you hold its additional scopes. This dashboard cannot repair historical snapshots, mark cash outcomes, approve bank payments, or post Finance entries.
Exposure is a different view
Resolutions labels net_balance_minor as Net resolution exposure, including CSV and copied HTML. It is lifetime reconstructed losing-side value minus winning-side liability, not monthly settlement or realized P&L. Resolution/redemption views can include stored fallback amounts; actual successful reconciled wallet-credit cash is authoritative for settlement, so do not assume every displayed payout always matches the report.
This report is not proof of a paid bank transfer and does not initiate payment or post accounting entries. Polyflight remains separate: use its native-IDR settlement reports and polyflight_settlements:read, not the Opinion formula or scope.
Source API
- Report and export API:
GET /api/operator/settlement-reportandGET /api/operator/settlement-report/export. - The API Playground's Resolutions, Redemptions & Settlements group provides the read-only report request with
monthandpreviewinputs. Use this page or the export API for file downloads.
