{"openapi":"3.1.0","info":{"title":"Livepeer Valuation API","description":"HTTP API for indexed Livepeer protocol events, valuation outcomes, token prices, stake snapshots, governance views, and transcoder context. The API is backed by deterministic replayable Postgres state derived from Arbitrum and Ethereum RPC inputs.","license":{"name":"UNLICENSED","identifier":"UNLICENSED"},"version":"1.9"},"servers":[{"url":"/api/v1","description":"Versioned API base path on the same origin as the FE"}],"paths":{"/aggregations/events":{"get":{"tags":["Aggregations"],"operationId":"events","parameters":[{"name":"contract","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"event_name","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"bucket","in":"query","description":"One of `day`, `week`, or `month`.","required":true,"schema":{"type":"string"}},{"name":"from","in":"query","description":"ISO date YYYY-MM-DD or block number. Both endpoints accept both forms.","required":false,"schema":{"type":["string","null"]}},{"name":"to","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"address","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"from_address","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"to_address","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"asset","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"metric","in":"query","description":"One of: count, sum_amount_native, sum_amount_usd, avg_amount_usd","required":true,"schema":{"type":"string"}},{"name":"valuation_version","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"tz","in":"query","description":"IANA tz; default UTC. Controls bucket-edge alignment via date_trunc.","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"Time-bucketed event counts or valuation aggregates over the canonical event set.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AggregationsResponse"}}}},"400":{"description":"Invalid bucket, metric, or range parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/delegators":{"get":{"tags":["Delegators"],"operationId":"list","parameters":[{"name":"cursor","in":"query","description":"Opaque cursor for stable pagination by `(total_bonded DESC, delegator_address ASC)`.","required":false,"schema":{"type":["string","null"]}},{"name":"limit","in":"query","description":"Maximum number of rows to return (default 50, max 500).","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}}],"responses":{"200":{"description":"Paginated index of delegators sorted by total bonded LPT.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DelegatorIndexResponse"}}}},"400":{"description":"Invalid cursor.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/delegators/{address}":{"get":{"tags":["Delegators"],"operationId":"get","parameters":[{"name":"address","in":"path","description":"Delegator address.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Per-delegator portfolio of current delegations.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DelegatorResponse"}}}},"404":{"description":"Delegator address not present in delegator_registry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/delegators/{address}/events":{"get":{"tags":["Delegators"],"operationId":"events_for","parameters":[{"name":"address","in":"path","description":"Delegator address.","required":true,"schema":{"type":"string"}},{"name":"cursor","in":"query","description":"Opaque `(block_number, log_index)` cursor.","required":false,"schema":{"type":["string","null"]}},{"name":"limit","in":"query","description":"Maximum number of rows to return (default 50, max 500).","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}}],"responses":{"200":{"description":"Paginated activity timeline (Bond/Unbond/Rebond/EarningsClaimed/TransferBond/WithdrawStake/WithdrawFees) for a delegator.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DelegatorEventsResponse"}}}},"400":{"description":"Invalid address or cursor.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/events":{"get":{"tags":["Events"],"operationId":"list","parameters":[{"name":"from_block","in":"query","description":"Optional lower block bound.","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"to_block","in":"query","description":"Optional upper block bound.","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"contract","in":"query","description":"Contract name filter, such as `BondingManager`.","required":false,"schema":{"type":["string","null"]}},{"name":"event_name","in":"query","description":"Canonical event name filter.","required":false,"schema":{"type":["string","null"]}},{"name":"event_type","in":"query","description":"Legacy alias for event_name (SPEC §14.3.1).","required":false,"schema":{"type":["string","null"]}},{"name":"from_address","in":"query","description":"Exact sender address match.","required":false,"schema":{"type":["string","null"]}},{"name":"to_address","in":"query","description":"Exact receiver/delegate address match.","required":false,"schema":{"type":["string","null"]}},{"name":"address","in":"query","description":"Any-role address match (matches either from_address or to_address).","required":false,"schema":{"type":["string","null"]}},{"name":"tx_hash","in":"query","description":"Exact transaction-hash match. Lowercase-normalized server-side so callers\ncan pass mixed-case hashes. Honored on the default and `block_*` sorts;\nignored by `sort=amount_usd_desc`. Combine with `event_name` when a tx\nemits multiple logs of different kinds.","required":false,"schema":{"type":["string","null"]}},{"name":"asset","in":"query","description":"Asset symbol filter such as `LPT` or `ETH`.","required":false,"schema":{"type":["string","null"]}},{"name":"with_valuations","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"include_tentative","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"include_reorged","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"sort","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"limit","in":"query","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}},{"name":"cursor","in":"query","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"Paginated raw protocol events with optional valuation inlining.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventListResponse"}}}},"400":{"description":"Invalid sort or cursor parameters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/events/{id}":{"get":{"tags":["Events"],"operationId":"get_one","parameters":[{"name":"id","in":"path","description":"Primary key of the indexed raw event.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"from_block","in":"query","description":"Optional lower block bound.","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"to_block","in":"query","description":"Optional upper block bound.","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"contract","in":"query","description":"Contract name filter, such as `BondingManager`.","required":false,"schema":{"type":["string","null"]}},{"name":"event_name","in":"query","description":"Canonical event name filter.","required":false,"schema":{"type":["string","null"]}},{"name":"event_type","in":"query","description":"Legacy alias for event_name (SPEC §14.3.1).","required":false,"schema":{"type":["string","null"]}},{"name":"from_address","in":"query","description":"Exact sender address match.","required":false,"schema":{"type":["string","null"]}},{"name":"to_address","in":"query","description":"Exact receiver/delegate address match.","required":false,"schema":{"type":["string","null"]}},{"name":"address","in":"query","description":"Any-role address match (matches either from_address or to_address).","required":false,"schema":{"type":["string","null"]}},{"name":"tx_hash","in":"query","description":"Exact transaction-hash match. Lowercase-normalized server-side so callers\ncan pass mixed-case hashes. Honored on the default and `block_*` sorts;\nignored by `sort=amount_usd_desc`. Combine with `event_name` when a tx\nemits multiple logs of different kinds.","required":false,"schema":{"type":["string","null"]}},{"name":"asset","in":"query","description":"Asset symbol filter such as `LPT` or `ETH`.","required":false,"schema":{"type":["string","null"]}},{"name":"with_valuations","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"include_tentative","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"include_reorged","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"sort","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"limit","in":"query","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}},{"name":"cursor","in":"query","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"Single indexed event. Set `with_valuations=true` to inline attached valuation rows.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventRow"}}}},"404":{"description":"No event exists for the requested identifier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/events/{id}/valuation":{"get":{"tags":["Valuations"],"operationId":"for_event","parameters":[{"name":"id","in":"path","description":"Event identifier.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"from_block","in":"query","description":"Optional lower block bound.","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"to_block","in":"query","description":"Optional upper block bound.","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"version","in":"query","description":"Filter valuations to a specific pricing version.","required":false,"schema":{"type":["string","null"]}},{"name":"asset","in":"query","description":"Filter valuations by asset symbol.","required":false,"schema":{"type":["string","null"]}},{"name":"limit","in":"query","description":"Maximum number of rows to return.","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}}],"responses":{"200":{"description":"All valuation rows attached to a single event.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ValuationInline"}}}}},"404":{"description":"No valuations exist for the requested event.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/gateways":{"get":{"tags":["Profiles"],"operationId":"gateways_list","parameters":[{"name":"cursor","in":"query","description":"Opaque cursor for `(latest_deposit DESC, address ASC)` pagination.","required":false,"schema":{"type":["string","null"]}},{"name":"limit","in":"query","description":"Maximum number of rows to return.","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}}],"responses":{"200":{"description":"Paginated gateway profiles ordered by latest deposit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayListResponse"}}}},"400":{"description":"Invalid cursor or query parameters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/gateways/{address}/profile":{"get":{"tags":["Profiles"],"operationId":"gateways_get","parameters":[{"name":"address","in":"path","description":"Gateway address.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Single gateway profile row.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayProfileRow"}}}},"404":{"description":"No gateway profile exists for the address.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/gateways/{address}/tickets":{"get":{"tags":["Tickets"],"operationId":"gateway_tickets","parameters":[{"name":"address","in":"path","description":"Gateway address.","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"end","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"limit","in":"query","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}},{"name":"valuation_version","in":"query","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"Ticket redemptions sourced from a gateway.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketHistoryResponse"}}}}}}},"/gateways/{gateway}/analytics/summary":{"get":{"tags":["Gateways"],"operationId":"analytics_summary","parameters":[{"name":"gateway","in":"path","description":"Gateway/sender address to inspect.","required":true,"schema":{"type":"string"}},{"name":"days","in":"query","description":"Rolling window length in days. Defaults to 7.","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"semantics","in":"query","description":"Payout interpretation mode. `net` excludes paired `WinningTicketTransfer` rows; `gross` includes them.","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GatewayPayoutSemantics"}]}}],"responses":{"200":{"description":"Materialized gateway analytics summary with explicit payout semantics.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayAnalyticsSummaryResponse"}}}},"400":{"description":"Invalid gateway address or days value.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/gateways/{gateway}/balance/block/{block}":{"get":{"tags":["Gateways"],"operationId":"balance_at_block","parameters":[{"name":"gateway","in":"path","description":"Gateway/sender address to inspect.","required":true,"schema":{"type":"string"}},{"name":"block","in":"path","description":"Resolve exact TicketBroker sender state at this block.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Exact TicketBroker sender state at the requested block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayBalanceRow"}}}},"400":{"description":"Invalid gateway address or block number.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/gateways/{gateway}/balance/history":{"get":{"tags":["Gateways"],"operationId":"balance_history","parameters":[{"name":"gateway","in":"path","description":"Gateway/sender address to inspect.","required":true,"schema":{"type":"string"}},{"name":"from_block","in":"query","description":"Inclusive lower block bound.","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"to_block","in":"query","description":"Inclusive upper block bound.","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"limit","in":"query","description":"Maximum number of balance snapshots to return.","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}}],"responses":{"200":{"description":"Materialized historical balance snapshots for the gateway.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayBalanceHistoryResponse"}}}},"400":{"description":"Invalid gateway address or range parameters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/gateways/{gateway}/balance/latest":{"get":{"tags":["Gateways"],"operationId":"balance_latest","parameters":[{"name":"gateway","in":"path","description":"Gateway/sender address to inspect.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Exact current TicketBroker sender state from on-chain RPC.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayBalanceRow"}}}},"400":{"description":"Invalid gateway address.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/gateways/{gateway}/claimants/block/{block}":{"get":{"tags":["Gateways"],"operationId":"claimants_at_block","parameters":[{"name":"gateway","in":"path","description":"Gateway/sender address to inspect.","required":true,"schema":{"type":"string"}},{"name":"block","in":"path","description":"Return each claimant's latest reserve snapshot at or before this block.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Claimant reserve state at the requested block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayClaimantsResponse"}}}},"400":{"description":"Invalid gateway address or block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/gateways/{gateway}/claimants/history":{"get":{"tags":["Gateways"],"operationId":"claimants_history","parameters":[{"name":"gateway","in":"path","description":"Gateway/sender address to inspect.","required":true,"schema":{"type":"string"}},{"name":"from_block","in":"query","description":"Inclusive lower block bound.","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"to_block","in":"query","description":"Inclusive upper block bound.","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"limit","in":"query","description":"Maximum number of claimant rows to return.","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}}],"responses":{"200":{"description":"Historical claimant reserve snapshots for the gateway.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayClaimantsResponse"}}}},"400":{"description":"Invalid gateway address or range.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/gateways/{gateway}/flows":{"get":{"tags":["Gateways"],"operationId":"flows","parameters":[{"name":"gateway","in":"path","description":"Gateway/sender address to inspect.","required":true,"schema":{"type":"string"}},{"name":"from_block","in":"query","description":"Optional lower block bound.","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"to_block","in":"query","description":"Optional upper block bound.","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"limit","in":"query","description":"Maximum number of flow rows to return.","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}}],"responses":{"200":{"description":"Funding, payout, reserve-claim, and withdrawal flows for the gateway.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayFlowsResponse"}}}},"400":{"description":"Invalid gateway address.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/gateways/{gateway}/payouts":{"get":{"tags":["Gateways"],"operationId":"payouts","parameters":[{"name":"gateway","in":"path","description":"Gateway/sender address to inspect.","required":true,"schema":{"type":"string"}},{"name":"from_block","in":"query","description":"Optional lower block bound.","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"to_block","in":"query","description":"Optional upper block bound.","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"limit","in":"query","description":"Maximum number of payout rows to return.","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}},{"name":"include_transfers","in":"query","description":"Deprecated compatibility flag. If true and `semantics` is omitted, treat the response as `gross`.","required":false,"schema":{"type":["boolean","null"]}},{"name":"semantics","in":"query","description":"Payout interpretation mode. `net` excludes paired `WinningTicketTransfer` rows; `gross` includes them.","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GatewayPayoutSemantics"}]}}],"responses":{"200":{"description":"Materialized payout-side gateway flow rows.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayFlowsResponse"}}}},"400":{"description":"Invalid gateway address.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/gateways/{gateway}/recipients":{"get":{"tags":["Gateways"],"operationId":"recipients","parameters":[{"name":"gateway","in":"path","description":"Gateway/sender address to inspect.","required":true,"schema":{"type":"string"}},{"name":"from_block","in":"query","description":"Optional lower block bound.","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"to_block","in":"query","description":"Optional upper block bound.","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"limit","in":"query","description":"Maximum number of recipient rows to return.","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}},{"name":"semantics","in":"query","description":"Payout interpretation mode. `net` excludes paired `WinningTicketTransfer` rows; `gross` includes them.","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GatewayPayoutSemantics"}]}}],"responses":{"200":{"description":"Recipient leaderboard for payout-side gateway activity.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayRecipientsResponse"}}}},"400":{"description":"Invalid gateway address.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/gateways/{gateway}/summary":{"get":{"tags":["Gateways"],"operationId":"summary","parameters":[{"name":"gateway","in":"path","description":"Gateway/sender address to inspect.","required":true,"schema":{"type":"string"}},{"name":"days","in":"query","description":"Rolling window length in days. Defaults to 7.","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"semantics","in":"query","description":"Payout interpretation mode. `net` excludes paired `WinningTicketTransfer` rows; `gross` includes them.","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GatewayPayoutSemantics"}]}}],"responses":{"200":{"description":"Rolling funding and payout summary for the gateway.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewaySummaryResponse"}}}},"400":{"description":"Invalid gateway address or days value.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/governance/proposals":{"get":{"tags":["Governance"],"operationId":"list","parameters":[{"name":"status","in":"query","description":"Filter by lifecycle status: `executed`, `not_executed`, `active`, or `all`.","required":false,"schema":{"type":["string","null"]}},{"name":"limit","in":"query","description":"Maximum number of proposals to return.","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}}],"responses":{"200":{"description":"Convenience governance view joining proposal creation, execution, and vote tallies.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProposalListResponse"}}}},"400":{"description":"Invalid status filter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/governance/proposals/{proposal_id}":{"get":{"tags":["Governance"],"operationId":"get_one","parameters":[{"name":"proposal_id","in":"path","description":"Governor proposal identifier.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Single governance proposal with execution state and vote tallies.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProposalRow"}}}},"404":{"description":"No proposal exists for the requested identifier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/governance/votes":{"get":{"tags":["Governance"],"operationId":"votes","parameters":[{"name":"proposal_id","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"voter","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"limit","in":"query","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}}],"responses":{"200":{"description":"Canonical VoteCast rows with optional proposal/voter filtering.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoteListResponse"}}}},"400":{"description":"Invalid filter or cursor.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/network/stats":{"get":{"tags":["Network"],"operationId":"stats","responses":{"200":{"description":"Single-payload network dashboard.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkStatsResponse"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/orchestrators":{"get":{"tags":["Profiles"],"operationId":"orchestrators_list","parameters":[{"name":"cursor","in":"query","description":"Opaque cursor for `(total_stake DESC, address ASC)` pagination.","required":false,"schema":{"type":["string","null"]}},{"name":"limit","in":"query","description":"Maximum number of rows to return.","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}},{"name":"active_only","in":"query","description":"If true, include only active orchestrators.","required":false,"schema":{"type":["boolean","null"]}}],"responses":{"200":{"description":"Paginated orchestrator profiles ordered by total stake.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrchestratorListResponse"}}}},"400":{"description":"Invalid cursor or query parameters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/orchestrators/{address}":{"get":{"tags":["Profiles"],"operationId":"orchestrators_get","parameters":[{"name":"address","in":"path","description":"Orchestrator address.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Single orchestrator profile row.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrchestratorProfileRow"}}}},"404":{"description":"No orchestrator profile exists for the address.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/orchestrators/{address}/avatar":{"get":{"tags":["Profiles"],"operationId":"orchestrators_avatar","parameters":[{"name":"address","in":"path","description":"Orchestrator address.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Locally-cached orchestrator avatar image (content-type per stored format)."},"304":{"description":"Avatar unchanged since the client's cached copy (ETag match)."},"404":{"description":"No locally-cached avatar for the address.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/orchestrators/{address}/cuts-history":{"get":{"tags":["Orchestrator history"],"operationId":"orchestrators_cuts_history","parameters":[{"name":"address","in":"path","description":"Orchestrator address.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Chronological list of cut changes (TranscoderUpdate events).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CutsHistoryResponse"}}}},"400":{"description":"Invalid query.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/orchestrators/{address}/delegators":{"get":{"tags":["Orchestrator history"],"operationId":"for_orchestrator","parameters":[{"name":"address","in":"path","description":"Orchestrator address.","required":true,"schema":{"type":"string"}},{"name":"cursor","in":"query","description":"Opaque cursor for stable pagination by `(bonded_principal DESC, delegator_address ASC)`.","required":false,"schema":{"type":["string","null"]}},{"name":"limit","in":"query","description":"Maximum number of rows to return (default 50, max 500).","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}}],"responses":{"200":{"description":"Paginated list of delegators bonded to the orchestrator, sorted by `bonded_principal DESC`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrchDelegatorsResponse"}}}},"400":{"description":"Invalid address or cursor.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/orchestrators/{address}/net-economics":{"get":{"tags":["Orchestrator history"],"operationId":"orchestrators_net_economics","parameters":[{"name":"address","in":"path","description":"Orchestrator address.","required":true,"schema":{"type":"string"}},{"name":"period_days","in":"query","description":"Number of trailing days to aggregate. Defaults to 30.","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}}],"responses":{"200":{"description":"Aggregate gross payouts/rewards plus gas spent over the window.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetEconomicsResponse"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/orchestrators/{address}/stake-history":{"get":{"tags":["Orchestrator history"],"operationId":"orchestrators_stake_history","parameters":[{"name":"address","in":"path","description":"Orchestrator address.","required":true,"schema":{"type":"string"}},{"name":"from_round","in":"query","description":"Inclusive lower-bound round id. Defaults to (latest_round - 100).","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"to_round","in":"query","description":"Inclusive upper-bound round id. Defaults to latest_round.","required":false,"schema":{"type":["integer","null"],"format":"int64"}}],"responses":{"200":{"description":"Per-round stake snapshots from orch_stake_by_round.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakeHistoryResponse"}}}},"400":{"description":"Invalid query.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/orchestrators/{address}/tickets/latest":{"get":{"tags":["Tickets"],"operationId":"orchestrator_tickets_latest","parameters":[{"name":"address","in":"path","description":"Orchestrator address.","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"end","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"limit","in":"query","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}},{"name":"valuation_version","in":"query","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"Latest ticket redemptions for an orchestrator.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketHistoryResponse"}}}}}}},"/payouts/leaderboard":{"get":{"tags":["Payouts"],"operationId":"leaderboard","parameters":[{"name":"from","in":"query","required":true,"schema":{"type":"string"}},{"name":"to","in":"query","required":true,"schema":{"type":"string"}},{"name":"job_type","in":"query","description":"`ai`, `transcoding`, or `both`.","required":false,"schema":{"type":["string","null"]}},{"name":"sort","in":"query","description":"`commission_usd`, `ticket_count`, or `face_value_usd`.","required":false,"schema":{"type":["string","null"]}},{"name":"cursor","in":"query","description":"Opaque cursor for stable pagination.","required":false,"schema":{"type":["string","null"]}},{"name":"limit","in":"query","description":"Maximum number of rows to return.","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}},{"name":"valuation_version","in":"query","description":"Optional valuation version. Defaults to the server default version.","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"Paginated payout leaderboard aggregated by orchestrator.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayoutLeaderboardResponse"}}}},"400":{"description":"Invalid date, job_type, sort, or cursor.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/payouts/summary/daily/{date}":{"get":{"tags":["Payouts"],"operationId":"summary_daily","parameters":[{"name":"date","in":"path","description":"Any ISO date within the requested day.","required":true,"schema":{"type":"string"}},{"name":"job_type","in":"query","description":"`ai`, `transcoding`, or `both`.","required":false,"schema":{"type":["string","null"]}},{"name":"valuation_version","in":"query","description":"Optional valuation version. Defaults to the server default version.","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"Daily payout summary.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayoutSummaryResponse"}}}},"400":{"description":"Invalid date or job_type.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/payouts/summary/monthly/{date}":{"get":{"tags":["Payouts"],"operationId":"summary_monthly","parameters":[{"name":"date","in":"path","description":"Any ISO date within the requested month.","required":true,"schema":{"type":"string"}},{"name":"job_type","in":"query","description":"`ai`, `transcoding`, or `both`.","required":false,"schema":{"type":["string","null"]}},{"name":"valuation_version","in":"query","description":"Optional valuation version. Defaults to the server default version.","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"Monthly payout summary (calendar month containing the date).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayoutSummaryResponse"}}}},"400":{"description":"Invalid date or job_type.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/payouts/summary/weekly/{date}":{"get":{"tags":["Payouts"],"operationId":"summary_weekly","parameters":[{"name":"date","in":"path","description":"Any ISO date within the requested week.","required":true,"schema":{"type":"string"}},{"name":"job_type","in":"query","description":"`ai`, `transcoding`, or `both`.","required":false,"schema":{"type":["string","null"]}},{"name":"valuation_version","in":"query","description":"Optional valuation version. Defaults to the server default version.","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"Weekly payout summary (Mon-Sun containing the date).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayoutSummaryResponse"}}}},"400":{"description":"Invalid date or job_type.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/prices/{asset}/{quote}/block/{block}":{"get":{"tags":["Prices"],"operationId":"at_block","parameters":[{"name":"asset","in":"path","description":"Base asset symbol, typically LPT or ETH.","required":true,"schema":{"type":"string"}},{"name":"quote","in":"path","description":"Quote asset symbol, currently USD.","required":true,"schema":{"type":"string"}},{"name":"block","in":"path","description":"Exact block number to query.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Cached token price at the exact requested block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceRow"}}}},"404":{"description":"No cached price exists for the requested block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/prices/{asset}/{quote}/latest":{"get":{"tags":["Prices"],"operationId":"latest","parameters":[{"name":"asset","in":"path","description":"Base asset symbol, typically LPT or ETH.","required":true,"schema":{"type":"string"}},{"name":"quote","in":"path","description":"Quote asset symbol, currently USD.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Most recent cached token price for the pair.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceRow"}}}},"404":{"description":"No cached price exists for the requested pair.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/prices/{asset}/{quote}/range":{"get":{"tags":["Prices"],"summary":"SPEC §14.3.3 — list cached prices in a block range. v1 ships read-only\n(no lazy-fill); the valuator populates `token_prices_by_block` as events\nget priced.","operationId":"range","parameters":[{"name":"asset","in":"path","description":"Base asset symbol, typically LPT or ETH.","required":true,"schema":{"type":"string"}},{"name":"quote","in":"path","description":"Quote asset symbol, currently USD.","required":true,"schema":{"type":"string"}},{"name":"from_block","in":"query","description":"Inclusive starting block for the query.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"to_block","in":"query","description":"Inclusive ending block for the query.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"source","in":"query","description":"Optional source filter such as `chainlink_eth_usd` or `uniswap_v3_twap`.","required":false,"schema":{"type":["string","null"]}},{"name":"limit","in":"query","description":"Maximum number of price rows to return.","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}}],"responses":{"200":{"description":"Cached token prices across a block range.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RangeResponse"}}}},"400":{"description":"Invalid range parameters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/reports/gateway-payouts.csv":{"get":{"tags":["Reports"],"operationId":"gateway_payouts_csv","parameters":[{"name":"orchestrator","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"gateway","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"start","in":"query","required":true,"schema":{"type":"string"}},{"name":"end","in":"query","required":true,"schema":{"type":"string"}},{"name":"valuation_version","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"chain_id","in":"query","required":false,"schema":{"type":["integer","null"],"format":"int64"}}],"responses":{"200":{"description":"CSV report of WinningTicketRedeemed rows filtered by gateway.","content":{"text/csv":{"schema":{"type":"string"}}}},"400":{"description":"Invalid query parameters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/reports/payouts.csv":{"get":{"tags":["Reports"],"operationId":"payouts_csv","parameters":[{"name":"orchestrator","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"gateway","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"start","in":"query","required":true,"schema":{"type":"string"}},{"name":"end","in":"query","required":true,"schema":{"type":"string"}},{"name":"valuation_version","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"chain_id","in":"query","required":false,"schema":{"type":["integer","null"],"format":"int64"}}],"responses":{"200":{"description":"CSV report of WinningTicketRedeemed rows filtered by orchestrator.","content":{"text/csv":{"schema":{"type":"string"}}}},"400":{"description":"Invalid query parameters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/reports/rewards.csv":{"get":{"tags":["Reports"],"operationId":"rewards_csv","parameters":[{"name":"orchestrator","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"gateway","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"start","in":"query","required":true,"schema":{"type":"string"}},{"name":"end","in":"query","required":true,"schema":{"type":"string"}},{"name":"valuation_version","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"chain_id","in":"query","required":false,"schema":{"type":["integer","null"],"format":"int64"}}],"responses":{"200":{"description":"CSV report of Reward rows filtered by orchestrator.","content":{"text/csv":{"schema":{"type":"string"}}}},"400":{"description":"Invalid query parameters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/rewards/leaderboard":{"get":{"tags":["Rewards"],"operationId":"leaderboard","parameters":[{"name":"from","in":"query","required":true,"schema":{"type":"string"}},{"name":"to","in":"query","required":true,"schema":{"type":"string"}},{"name":"sort","in":"query","description":"`orch_tokens_usd`, `reward_event_count`, or `total_tokens_usd`.","required":false,"schema":{"type":["string","null"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"limit","in":"query","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}},{"name":"valuation_version","in":"query","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"Paginated reward leaderboard aggregated by orchestrator.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RewardLeaderboardResponse"}}}},"400":{"description":"Invalid date, sort, or cursor.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/rewards/summary/daily/{date}":{"get":{"tags":["Rewards"],"operationId":"summary_daily","parameters":[{"name":"date","in":"path","description":"Any date inside the desired UTC day","required":true,"schema":{"type":"string"}},{"name":"valuation_version","in":"query","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"Daily reward summary.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RewardSummaryResponse"}}}}}}},"/rewards/summary/monthly/{date}":{"get":{"tags":["Rewards"],"operationId":"summary_monthly","parameters":[{"name":"date","in":"path","description":"Any date inside the desired UTC calendar month","required":true,"schema":{"type":"string"}},{"name":"valuation_version","in":"query","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"Monthly reward summary.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RewardSummaryResponse"}}}}}}},"/rewards/summary/weekly/{date}":{"get":{"tags":["Rewards"],"operationId":"summary_weekly","parameters":[{"name":"date","in":"path","description":"Any date inside the desired ISO week","required":true,"schema":{"type":"string"}},{"name":"valuation_version","in":"query","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"Weekly reward summary (Mon-Sun UTC).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RewardSummaryResponse"}}}}}}},"/rounds":{"get":{"tags":["Network"],"operationId":"rounds_index","parameters":[{"name":"cursor","in":"query","description":"Opaque cursor — encodes the round number to resume below.","required":false,"schema":{"type":["string","null"]}},{"name":"limit","in":"query","description":"Max rows to return (default 50, max 500).","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}}],"responses":{"200":{"description":"Paginated index of rounds, newest first.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoundsIndexResponse"}}}},"400":{"description":"Invalid cursor.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/rounds/{round_id}":{"get":{"tags":["Network"],"operationId":"round_get","parameters":[{"name":"round_id","in":"path","description":"Round id (e.g. 3500).","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Round summary.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoundSummaryResponse"}}}},"404":{"description":"Round id not present in orch_stake_by_round.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/rounds/{round_id}/event-counts":{"get":{"tags":["Network"],"operationId":"round_event_counts","parameters":[{"name":"round_id","in":"path","description":"Round id.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Aggregate event counts within the round window.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoundEventCountsResponse"}}}},"404":{"description":"Round not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/rounds/{round_id}/events":{"get":{"tags":["Network"],"operationId":"round_events","parameters":[{"name":"round_id","in":"path","description":"Round id.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"kinds","in":"query","description":"Comma-separated event-name filter (default: all monetary + lifecycle events).","required":false,"schema":{"type":["string","null"]}},{"name":"cursor","in":"query","description":"Opaque `(block_number, log_index)` cursor.","required":false,"schema":{"type":["string","null"]}},{"name":"limit","in":"query","description":"Max rows (default 100, max 1000).","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}}],"responses":{"200":{"description":"Paginated events that fired during the round window.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoundEventsResponse"}}}},"400":{"description":"Invalid cursor.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Round not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/stake/{delegator}/block/{block}":{"get":{"tags":["Stake"],"operationId":"at_block","parameters":[{"name":"delegator","in":"path","description":"Delegator address to inspect.","required":true,"schema":{"type":"string"}},{"name":"block","in":"path","description":"Return the latest snapshot at or before this block.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Delegator stake snapshot at or before the requested block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakeRow"}}}},"404":{"description":"No stake snapshot exists at or before the requested block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/stake/{delegator}/range":{"get":{"tags":["Stake"],"operationId":"range","parameters":[{"name":"delegator","in":"path","description":"Delegator address to inspect.","required":true,"schema":{"type":"string"}},{"name":"from_block","in":"query","description":"Inclusive start of the requested block range.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"to_block","in":"query","description":"Inclusive end of the requested block range.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"limit","in":"query","description":"Maximum number of stake snapshots to return.","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}}],"responses":{"200":{"description":"All stored stake snapshots for the delegator within the requested block range.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakeRangeResponse"}}}},"400":{"description":"Invalid range parameters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/tickets/timeseries/daily":{"get":{"tags":["Tickets"],"operationId":"timeseries_daily","parameters":[{"name":"start","in":"query","required":true,"schema":{"type":"string"}},{"name":"end","in":"query","required":true,"schema":{"type":"string"}},{"name":"job_type","in":"query","description":"`ai`, `transcoding`, or `both`.","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"Daily ticket counts split by gateway kind.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketsTimeseriesResponse"}}}},"400":{"description":"Invalid date range or job_type.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/transcoders/{transcoder}/delegators/block/{block}":{"get":{"tags":["Transcoders"],"operationId":"delegators_at_block","parameters":[{"name":"transcoder","in":"path","description":"Orchestrator/transcoder address.","required":true,"schema":{"type":"string"}},{"name":"block","in":"path","description":"Return each delegator's latest stake row at or before this block.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Delegator set and bonded principal distribution for a transcoder at a block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DelegatorListResponse"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/transcoders/{transcoder}/lifecycle/block/{block}":{"get":{"tags":["Transcoders"],"operationId":"lifecycle_at_block","parameters":[{"name":"transcoder","in":"path","description":"Transcoder/orchestrator address.","required":true,"schema":{"type":"string"}},{"name":"block","in":"path","description":"Return the latest lifecycle event at or before this block.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Lifecycle state effective at the requested block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranscoderLifecycleRow"}}}},"404":{"description":"No lifecycle event exists at or before the requested block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/transcoders/{transcoder}/lifecycle/history":{"get":{"tags":["Transcoders"],"operationId":"lifecycle_history","parameters":[{"name":"transcoder","in":"path","description":"Transcoder/orchestrator address.","required":true,"schema":{"type":"string"}},{"name":"from_block","in":"query","description":"Optional lower block bound.","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"to_block","in":"query","description":"Optional upper block bound.","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"limit","in":"query","description":"Maximum number of history rows to return.","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}}],"responses":{"200":{"description":"Activation and deactivation history for a transcoder.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranscoderLifecycleHistoryResponse"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/transcoders/{transcoder}/lifecycle/latest":{"get":{"tags":["Transcoders"],"operationId":"lifecycle_latest","parameters":[{"name":"transcoder","in":"path","description":"Transcoder/orchestrator address.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Most recent activation or deactivation event.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranscoderLifecycleRow"}}}},"404":{"description":"No lifecycle events found for the transcoder.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/transcoders/{transcoder}/params/block/{block}":{"get":{"tags":["Transcoders"],"operationId":"at_block","parameters":[{"name":"transcoder","in":"path","description":"Transcoder/orchestrator address.","required":true,"schema":{"type":"string"}},{"name":"block","in":"path","description":"Return the latest parameter change at or before this block.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Transcoder parameters effective at the requested block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranscoderParamsRow"}}}},"404":{"description":"No parameter event exists at or before the requested block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/transcoders/{transcoder}/params/history":{"get":{"tags":["Transcoders"],"operationId":"history","parameters":[{"name":"transcoder","in":"path","description":"Transcoder/orchestrator address.","required":true,"schema":{"type":"string"}},{"name":"from_block","in":"query","description":"Optional lower block bound.","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"to_block","in":"query","description":"Optional upper block bound.","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"limit","in":"query","description":"Maximum number of history rows to return.","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}}],"responses":{"200":{"description":"Historical TranscoderUpdate rows for a transcoder.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranscoderParamsHistoryResponse"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/transcoders/{transcoder}/params/latest":{"get":{"tags":["Transcoders"],"operationId":"latest","parameters":[{"name":"transcoder","in":"path","description":"Transcoder/orchestrator address.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Most recent TranscoderUpdate event for the transcoder.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranscoderParamsRow"}}}},"404":{"description":"No transcoder parameter history found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/transcoders/{transcoder}/profile/block/{block}":{"get":{"tags":["Transcoders"],"operationId":"profile_at_block","parameters":[{"name":"transcoder","in":"path","description":"Transcoder/orchestrator address.","required":true,"schema":{"type":"string"}},{"name":"block","in":"path","description":"Return transcoder params and lifecycle state effective at this block.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Point-in-time transcoder profile composed from parameter and lifecycle history.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranscoderProfileResponse"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/valuations":{"get":{"tags":["Valuations"],"operationId":"list","parameters":[{"name":"from_block","in":"query","description":"Optional lower block bound.","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"to_block","in":"query","description":"Optional upper block bound.","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"version","in":"query","description":"Filter valuations to a specific pricing version.","required":false,"schema":{"type":["string","null"]}},{"name":"asset","in":"query","description":"Filter valuations by asset symbol.","required":false,"schema":{"type":["string","null"]}},{"name":"limit","in":"query","description":"Maximum number of rows to return.","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}}],"responses":{"200":{"description":"Valuation rows across events, optionally filtered by version, asset, and block range.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValuationListResponse"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}}},"components":{"schemas":{"AggregationsQuery":{"type":"object","description":"Query model for time-bucketed event counts and value aggregations.","required":["bucket","metric"],"properties":{"address":{"type":["string","null"]},"asset":{"type":["string","null"]},"bucket":{"type":"string","description":"One of `day`, `week`, or `month`."},"contract":{"type":["string","null"]},"event_name":{"type":["string","null"]},"from":{"type":["string","null"],"description":"ISO date YYYY-MM-DD or block number. Both endpoints accept both forms."},"from_address":{"type":["string","null"]},"metric":{"type":"string","description":"One of: count, sum_amount_native, sum_amount_usd, avg_amount_usd"},"to":{"type":["string","null"]},"to_address":{"type":["string","null"]},"tz":{"type":["string","null"],"description":"IANA tz; default UTC. Controls bucket-edge alignment via date_trunc."},"valuation_version":{"type":["string","null"]}}},"AggregationsResponse":{"type":"object","description":"Aggregation response over canonical indexed events.","required":["bucket","tz","metric","source","results"],"properties":{"bucket":{"type":"string"},"metric":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/BucketRow"}},"source":{"type":"string","description":"Source the response was served from: \"rollup\" (event_metrics_daily,\nfast path) or \"raw_events\" (per-event scan, used when filters can't\nbe answered from the daily rollup)."},"tz":{"type":"string"},"valuation_version":{"type":["string","null"]}}},"BucketRow":{"type":"object","description":"One bucket in the aggregation result set.","required":["bucket_start","count"],"properties":{"bucket_start":{"type":"string","format":"date-time"},"count":{"type":"string"},"value":{"type":["string","null"]}}},"CutsHistoryPoint":{"type":"object","description":"One TranscoderUpdate event for an orchestrator.","required":["block_number","block_timestamp","fee_cut_percent","reward_cut_percent","fee_share_percent","event_id"],"properties":{"block_number":{"type":"string"},"block_timestamp":{"type":"string","format":"date-time"},"event_id":{"type":"string"},"fee_cut_percent":{"type":"string"},"fee_share_percent":{"type":"string"},"reward_cut_percent":{"type":"string"}}},"CutsHistoryResponse":{"type":"object","required":["address","data","meta"],"properties":{"address":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/CutsHistoryPoint"}},"meta":{"$ref":"#/components/schemas/ProfileListMeta"}}},"DelegationRow":{"type":"object","description":"One delegation held by a delegator (current state).","required":["delegate_address","bonded_principal","as_of_block","as_of_timestamp"],"properties":{"as_of_block":{"type":"string"},"as_of_timestamp":{"type":"string","format":"date-time"},"bonded_principal":{"type":"string","description":"Bonded principal (LPT) at the most recent observed block."},"delegate_address":{"type":"string","description":"Address of the orchestrator the delegator is bonded to."},"pending_fees":{"type":["string","null"],"description":"Pending fees from BondingManager.pendingFees (ETH)."},"pending_round":{"type":["string","null"]},"pending_stake":{"type":["string","null"],"description":"Pending stake from BondingManager.pendingStake (LPT, may be null\nif the staker pending-refresh worker hasn't observed this row yet)."}}},"DelegatorEventRow":{"type":"object","description":"One Bond/Unbond/Rebond/EarningsClaimed/etc. event involving the delegator.","required":["event_id","event_name","block_number","block_timestamp","tx_hash","log_index","side"],"properties":{"amount_normalized":{"type":["string","null"],"description":"Normalized amount (decimal string in LPT or ETH)."},"asset":{"type":["string","null"],"description":"Asset the event amount is denominated in (LPT for stake events,\nETH for fee events). Null for events without a value."},"block_number":{"type":"string"},"block_timestamp":{"type":"string","format":"date-time"},"decoded":{"description":"Decoded event-specific payload (e.g. round, additionalAmount)."},"event_id":{"type":"string"},"event_name":{"type":"string"},"from_address":{"type":["string","null"],"description":"The delegator's address from the event's perspective. Matches the\n`address` path param when the delegator initiated the action; differs\nwhen the delegator is the receiving party of a TransferBond."},"log_index":{"type":"integer","format":"int32"},"side":{"type":"string","description":"Side the delegator was on for this event: `from`, `to`, or `both`."},"to_address":{"type":["string","null"]},"tx_hash":{"type":"string"}}},"DelegatorEventsMeta":{"type":"object","required":["chain_id","delegator_address"],"properties":{"chain_id":{"type":"string"},"delegator_address":{"type":"string"},"next_cursor":{"type":["string","null"]}}},"DelegatorEventsQuery":{"type":"object","properties":{"cursor":{"type":["string","null"],"description":"Opaque `(block_number, log_index)` cursor."},"limit":{"type":["integer","null"],"format":"int32","description":"Maximum number of rows to return (default 50, max 500).","minimum":0}}},"DelegatorEventsResponse":{"type":"object","description":"Paginated activity timeline for a delegator.","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DelegatorEventRow"}},"meta":{"$ref":"#/components/schemas/DelegatorEventsMeta"}}},"DelegatorIndexMeta":{"type":"object","required":["chain_id"],"properties":{"chain_id":{"type":"string"},"next_cursor":{"type":["string","null"]}}},"DelegatorIndexQuery":{"type":"object","properties":{"cursor":{"type":["string","null"],"description":"Opaque cursor for stable pagination by `(total_bonded DESC, delegator_address ASC)`."},"limit":{"type":["integer","null"],"format":"int32","description":"Maximum number of rows to return (default 50, max 500).","minimum":0}}},"DelegatorIndexResponse":{"type":"object","description":"Paginated index of delegators sorted by total bonded LPT.","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DelegatorIndexRow"}},"meta":{"$ref":"#/components/schemas/DelegatorIndexMeta"}}},"DelegatorIndexRow":{"type":"object","description":"One delegator and their aggregate bonded total.","required":["delegator_address","total_bonded","delegation_count","is_active"],"properties":{"delegation_count":{"type":"integer","format":"int32","description":"Count of delegations with non-zero bonded principal. Always 1 in a\nsingle-delegation protocol; kept for response-shape compatibility.","minimum":0},"delegator_address":{"type":"string"},"first_bond_block":{"type":["string","null"]},"is_active":{"type":"boolean"},"last_seen_block":{"type":["string","null"]},"total_bonded":{"type":"string","description":"The delegator's current bonded principal (single-target delegation:\nthis is their latest observed bonded amount, not a sum over history)."}}},"DelegatorListResponse":{"type":"object","description":"Delegator distribution snapshot for a transcoder at a requested block.","required":["transcoder_address","requested_block","delegator_count","total_bonded_principal","data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DelegatorStakeRow"}},"delegator_count":{"type":"string"},"requested_block":{"type":"string"},"total_bonded_principal":{"type":"string"},"transcoder_address":{"type":"string"}}},"DelegatorResponse":{"type":"object","description":"Delegator portfolio with one entry per delegation.","required":["delegator_address","is_active","first_bond_block","last_seen_block","delegations","chain_id"],"properties":{"chain_id":{"type":"string"},"delegations":{"type":"array","items":{"$ref":"#/components/schemas/DelegationRow"},"description":"Delegations the delegator currently holds. Livepeer delegation is\nsingle-target, so this contains at most one entry — the delegator's\nlatest observed state, omitted when fully unbonded."},"delegator_address":{"type":"string"},"first_bond_block":{"type":"string"},"is_active":{"type":"boolean","description":"True if the delegator has at least one bonded delegation that has\nnot been fully unbonded."},"last_seen_block":{"type":"string"}}},"DelegatorStakeRow":{"type":"object","description":"Point-in-time stake row for one delegator within a transcoder's delegator set.","required":["delegator_address","delegate_address","block_number","block_timestamp","block_hash","bonded_principal","source","staleness_blocks"],"properties":{"block_hash":{"type":"string"},"block_number":{"type":"string"},"block_timestamp":{"type":"string","format":"date-time"},"bonded_principal":{"type":"string"},"delegate_address":{"type":"string"},"delegator_address":{"type":"string"},"pending_fees":{"type":["string","null"]},"pending_round":{"type":["string","null"]},"pending_stake":{"type":["string","null"]},"source":{"type":"string"},"staleness_blocks":{"type":"string"}}},"ErrorBody":{"type":"object","description":"Structured contents of the API error response.","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable machine-readable error class."},"context":{"description":"Optional structured debugging context. Present only when the server has extra details."},"message":{"type":"string","description":"Human-readable error message intended for operators and API consumers."}}},"ErrorEnvelope":{"type":"object","description":"Canonical JSON error envelope returned by failing API endpoints.","required":["error"],"properties":{"error":{"$ref":"#/components/schemas/ErrorBody","description":"Standard top-level error wrapper returned by every failing API route."}}},"EventListResponse":{"type":"object","description":"Paginated event list response with an opaque cursor and finality watermark.","required":["data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/EventRow"}},"last_finalized_block":{"type":["string","null"]},"next_cursor":{"type":["string","null"]}}},"EventRow":{"type":"object","description":"Canonical raw protocol event as stored in raw_protocol_events.","required":["id","chain_id","tx_hash","log_index","block_number","block_hash","block_timestamp","contract_address","contract_name","event_name","event_signature","is_valuable","finality","is_canonical"],"properties":{"amount_native":{"type":["string","null"]},"asset":{"type":["string","null"]},"block_hash":{"type":"string"},"block_number":{"type":"string"},"block_timestamp":{"type":"string","format":"date-time"},"chain_id":{"type":"string"},"contract_address":{"type":"string"},"contract_name":{"type":"string"},"event_name":{"type":"string"},"event_signature":{"type":"string"},"finality":{"type":"string"},"from_address":{"type":["string","null"]},"id":{"type":"string"},"is_canonical":{"type":"boolean"},"is_valuable":{"type":"boolean"},"log_index":{"type":"integer","format":"int32","minimum":0},"to_address":{"type":["string","null"]},"tx_hash":{"type":"string"},"valuations":{"type":["array","null"],"items":{"$ref":"#/components/schemas/ValuationInline"}}}},"EventsQuery":{"type":"object","description":"Query parameters for listing or fetching raw protocol events.","properties":{"address":{"type":["string","null"],"description":"Any-role address match (matches either from_address or to_address)."},"asset":{"type":["string","null"],"description":"Asset symbol filter such as `LPT` or `ETH`."},"contract":{"type":["string","null"],"description":"Contract name filter, such as `BondingManager`."},"cursor":{"type":["string","null"]},"event_name":{"type":["string","null"],"description":"Canonical event name filter."},"event_type":{"type":["string","null"],"description":"Legacy alias for event_name (SPEC §14.3.1)."},"from_address":{"type":["string","null"],"description":"Exact sender address match."},"from_block":{"type":["integer","null"],"format":"int64","description":"Optional lower block bound."},"include_reorged":{"type":"boolean"},"include_tentative":{"type":"boolean"},"limit":{"type":["integer","null"],"format":"int32","minimum":0},"sort":{"type":["string","null"]},"to_address":{"type":["string","null"],"description":"Exact receiver/delegate address match."},"to_block":{"type":["integer","null"],"format":"int64","description":"Optional upper block bound."},"tx_hash":{"type":["string","null"],"description":"Exact transaction-hash match. Lowercase-normalized server-side so callers\ncan pass mixed-case hashes. Honored on the default and `block_*` sorts;\nignored by `sort=amount_usd_desc`. Combine with `event_name` when a tx\nemits multiple logs of different kinds."},"with_valuations":{"type":"boolean"}}},"GatewayAnalyticsBucket":{"type":"object","description":"Aggregate totals for one gateway analytics bucket.","required":["count","total_amount_native","total_amount_usd","usd_rows_priced"],"properties":{"count":{"type":"string"},"total_amount_native":{"type":"string"},"total_amount_usd":{"type":"string"},"usd_rows_priced":{"type":"string"}}},"GatewayAnalyticsSummaryResponse":{"type":"object","description":"Higher-level gateway analytics summary composed from the materialized gateway flow ledger.","required":["gateway_address","days","semantics","from_timestamp","to_timestamp","funding","payouts","withdrawals","distinct_recipients","data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/GatewaySummaryRow"}},"days":{"type":"string"},"distinct_recipients":{"type":"string"},"from_timestamp":{"type":"string","format":"date-time"},"funding":{"$ref":"#/components/schemas/GatewayAnalyticsBucket"},"gateway_address":{"type":"string"},"payouts":{"$ref":"#/components/schemas/GatewayAnalyticsBucket"},"semantics":{"type":"string"},"to_timestamp":{"type":"string","format":"date-time"},"withdrawals":{"$ref":"#/components/schemas/GatewayAnalyticsBucket"}}},"GatewayBalanceHistoryQuery":{"type":"object","description":"Query parameters for gateway balance history snapshots.","properties":{"from_block":{"type":["integer","null"],"format":"int64","description":"Inclusive lower block bound."},"limit":{"type":["integer","null"],"format":"int32","description":"Maximum number of balance snapshots to return.","minimum":0},"to_block":{"type":["integer","null"],"format":"int64","description":"Inclusive upper block bound."}}},"GatewayBalanceHistoryResponse":{"type":"object","description":"Historical TicketBroker sender balance snapshots for a gateway.","required":["gateway_address","data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/GatewayBalanceRow"}},"gateway_address":{"type":"string"}}},"GatewayBalanceRow":{"type":"object","description":"Exact TicketBroker sender balance state for a gateway at a specific block.","required":["gateway_address","block_number","deposit","reserve_funds_remaining","reserve_claimed_in_current_round","withdraw_round","unlock_in_progress","source"],"properties":{"block_number":{"type":"string"},"deposit":{"type":"string"},"gateway_address":{"type":"string"},"reserve_claimed_in_current_round":{"type":"string"},"reserve_funds_remaining":{"type":"string"},"source":{"type":"string"},"unlock_in_progress":{"type":"boolean"},"withdraw_round":{"type":"string"}}},"GatewayClaimantRow":{"type":"object","description":"Point-in-time claimant reserve state for a gateway.","required":["gateway_address","claimant_address","block_number","claimable_reserve","claimed_reserve","source"],"properties":{"block_number":{"type":"string"},"claimable_reserve":{"type":"string"},"claimant_address":{"type":"string"},"claimed_reserve":{"type":"string"},"gateway_address":{"type":"string"},"source":{"type":"string"}}},"GatewayClaimantsQuery":{"type":"object","description":"Query parameters for gateway claimant reserve history.","properties":{"from_block":{"type":["integer","null"],"format":"int64","description":"Inclusive lower block bound."},"limit":{"type":["integer","null"],"format":"int32","description":"Maximum number of claimant rows to return.","minimum":0},"to_block":{"type":["integer","null"],"format":"int64","description":"Inclusive upper block bound."}}},"GatewayClaimantsResponse":{"type":"object","description":"Historical claimant reserve rows for a gateway.","required":["gateway_address","data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/GatewayClaimantRow"}},"gateway_address":{"type":"string"}}},"GatewayFlowRow":{"type":"object","description":"One funding, payout, or withdrawal flow row for a gateway derived from TicketBroker events.","required":["event_id","event_name","flow_kind","block_number","block_timestamp","tx_hash","log_index"],"properties":{"amount_native":{"type":["string","null"]},"amount_usd":{"type":["string","null"]},"asset":{"type":["string","null"]},"block_number":{"type":"string"},"block_timestamp":{"type":"string","format":"date-time"},"event_id":{"type":"string"},"event_name":{"type":"string"},"flow_kind":{"type":"string"},"from_address":{"type":["string","null"]},"log_index":{"type":"integer","format":"int32","minimum":0},"to_address":{"type":["string","null"]},"tx_hash":{"type":"string"}}},"GatewayFlowsQuery":{"type":"object","description":"Query parameters for gateway flow history.","properties":{"from_block":{"type":["integer","null"],"format":"int64","description":"Optional lower block bound."},"limit":{"type":["integer","null"],"format":"int32","description":"Maximum number of flow rows to return.","minimum":0},"to_block":{"type":["integer","null"],"format":"int64","description":"Optional upper block bound."}}},"GatewayFlowsResponse":{"type":"object","description":"Historical funding and payout flow rows for a gateway.","required":["gateway_address","data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/GatewayFlowRow"}},"gateway_address":{"type":"string"},"semantics":{"type":["string","null"]}}},"GatewayListResponse":{"type":"object","description":"Paginated gateway profile list.","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/GatewayProfileRow"}},"meta":{"$ref":"#/components/schemas/ProfileListMeta"}}},"GatewayPayoutSemantics":{"type":"string","description":"Interpretation mode for payout-side gateway analytics.","enum":["net","gross"]},"GatewayPayoutsQuery":{"type":"object","description":"Query parameters for gateway payout flow history.","properties":{"from_block":{"type":["integer","null"],"format":"int64","description":"Optional lower block bound."},"include_transfers":{"type":["boolean","null"],"description":"Deprecated compatibility flag. If true and `semantics` is omitted, treat the response as `gross`."},"limit":{"type":["integer","null"],"format":"int32","description":"Maximum number of payout rows to return.","minimum":0},"semantics":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GatewayPayoutSemantics","description":"Payout interpretation mode. `net` excludes paired `WinningTicketTransfer` rows; `gross` includes them."}]},"to_block":{"type":["integer","null"],"format":"int64","description":"Optional upper block bound."}}},"GatewayProfileRow":{"type":"object","description":"Point-in-time gateway profile row.","required":["address","kind","latest_deposit","latest_reserve","reserve_claimed_in_current_round","withdraw_round","unlock_in_progress","as_of_block"],"properties":{"address":{"type":"string"},"as_of_block":{"type":"string"},"avatar_url":{"type":["string","null"]},"display_name":{"type":["string","null"]},"kind":{"type":"string"},"latest_deposit":{"type":"string"},"latest_reserve":{"type":"string"},"reserve_claimed_in_current_round":{"type":"string","description":"TD-025: how much of the reserve has been drained this round, useful\nfor \"is this gateway about to bounce a ticket?\" alerts."},"unlock_in_progress":{"type":"boolean"},"withdraw_round":{"type":"string","description":"TD-025: round at which the gateway scheduled their withdrawal\n(relevant when `unlock_in_progress = true`)."}}},"GatewayRecipientRow":{"type":"object","description":"Aggregated payout totals for one gateway recipient address.","required":["recipient_address","payout_event_count","total_amount_native","total_amount_usd","usd_rows_priced","ticket_redeemed_count","reserve_claimed_count","reserve_transfer_count","latest_block_number"],"properties":{"latest_block_number":{"type":"string"},"payout_event_count":{"type":"string"},"recipient_address":{"type":"string"},"reserve_claimed_count":{"type":"string"},"reserve_transfer_count":{"type":"string"},"ticket_redeemed_count":{"type":"string"},"total_amount_native":{"type":"string"},"total_amount_usd":{"type":"string"},"usd_rows_priced":{"type":"string"}}},"GatewayRecipientsQuery":{"type":"object","description":"Query parameters for gateway recipient leaderboard views.","properties":{"from_block":{"type":["integer","null"],"format":"int64","description":"Optional lower block bound."},"limit":{"type":["integer","null"],"format":"int32","description":"Maximum number of recipient rows to return.","minimum":0},"semantics":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GatewayPayoutSemantics","description":"Payout interpretation mode. `net` excludes paired `WinningTicketTransfer` rows; `gross` includes them."}]},"to_block":{"type":["integer","null"],"format":"int64","description":"Optional upper block bound."}}},"GatewayRecipientsResponse":{"type":"object","description":"Recipient leaderboard for one gateway under a chosen payout interpretation.","required":["gateway_address","semantics","data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/GatewayRecipientRow"}},"gateway_address":{"type":"string"},"semantics":{"type":"string"}}},"GatewaySummaryQuery":{"type":"object","description":"Summary query for gateway funding and payout activity.","properties":{"days":{"type":["integer","null"],"format":"int64","description":"Rolling window length in days. Defaults to 7."},"semantics":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GatewayPayoutSemantics","description":"Payout interpretation mode. `net` excludes paired `WinningTicketTransfer` rows; `gross` includes them."}]}}},"GatewaySummaryResponse":{"type":"object","description":"Rolling gateway funding and payout summary over a recent time window.","required":["gateway_address","days","semantics","from_timestamp","to_timestamp","data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/GatewaySummaryRow"}},"days":{"type":"string"},"from_timestamp":{"type":"string","format":"date-time"},"gateway_address":{"type":"string"},"semantics":{"type":"string"},"to_timestamp":{"type":"string","format":"date-time"}}},"GatewaySummaryRow":{"type":"object","description":"Aggregated funding or payout totals for a single TicketBroker event type.","required":["event_name","flow_kind","count","total_amount_native","total_amount_usd","usd_rows_priced"],"properties":{"count":{"type":"string"},"event_name":{"type":"string"},"flow_kind":{"type":"string"},"total_amount_native":{"type":"string"},"total_amount_usd":{"type":"string"},"usd_rows_priced":{"type":"string"}}},"GatewaysQuery":{"type":"object","description":"Query parameters for listing gateway profiles.","properties":{"cursor":{"type":["string","null"],"description":"Opaque cursor for `(latest_deposit DESC, address ASC)` pagination."},"limit":{"type":["integer","null"],"format":"int32","description":"Maximum number of rows to return.","minimum":0}}},"HistoryQuery":{"type":"object","description":"Shared history query for transcoder parameter and lifecycle endpoints.","properties":{"from_block":{"type":["integer","null"],"format":"int64","description":"Optional lower block bound."},"limit":{"type":["integer","null"],"format":"int32","description":"Maximum number of history rows to return.","minimum":0},"to_block":{"type":["integer","null"],"format":"int64","description":"Optional upper block bound."}}},"NetEconomicsQuery":{"type":"object","description":"Time window for net-economics calculation.","properties":{"period_days":{"type":["integer","null"],"format":"int32","description":"Number of trailing days to aggregate. Defaults to 30.","minimum":0}}},"NetEconomicsResponse":{"type":"object","description":"Aggregate revenue minus on-chain gas costs over a window.","required":["address","period_days","period_start","period_end","gross_payouts_usd","gross_rewards_usd","gas_cost_native_eth","gross_total_usd"],"properties":{"address":{"type":"string"},"gas_cost_native_eth":{"type":"string","description":"Sum of tx fees (in native ETH) across all reward + redeem events\nthe orch was party to in the window. Currently captured for events\n`to_address = orch` (Reward + WinningTicketRedeemed). Note that the\neconomic impact of gas falls on whoever paid the tx (often the\norch itself for Reward; the gateway for redeems)."},"gross_payouts_usd":{"type":"string","description":"Sum of orch_payouts_daily.sum_orch_value_usd across the period."},"gross_rewards_usd":{"type":"string","description":"Sum of orch_rewards_daily.orch_lpt_rewards_usd across the period."},"gross_total_usd":{"type":"string","description":"Net = gross_payouts_usd + gross_rewards_usd. Gas cost is exposed\nseparately in native ETH; the API leaves USD conversion to the\ncaller (no token_prices_by_block lookup needed here)."},"period_days":{"type":"integer","format":"int32","minimum":0},"period_end":{"type":"string","format":"date-time"},"period_start":{"type":"string","format":"date-time"}}},"NetworkStatsResponse":{"type":"object","description":"Network-level snapshot for a frontend dashboard.","required":["chain_id","active_orchestrators","total_lpt_staked","gateways_known","payouts_usd_24h","rewards_usd_24h","gas_burned_eth_24h","active_delegators","total_delegations"],"properties":{"active_delegators":{"type":"integer","format":"int32","description":"Number of delegators flagged active in `delegator_registry`.","minimum":0},"active_orchestrators":{"type":"integer","format":"int32","description":"Number of orchestrators flagged active in the latest round.","minimum":0},"broadcaster_profile_refreshed_at":{"type":["string","null"],"format":"date-time"},"chain_id":{"type":"string"},"gas_burned_eth_24h":{"type":"string","description":"Total tx fees burned (native ETH) across all observed Livepeer\ntransactions in the trailing 24 h."},"gateways_known":{"type":"integer","format":"int32","description":"Number of distinct gateways with a snapshot in\n`gateway_balances_by_block`.","minimum":0},"latest_round":{"type":["string","null"],"description":"Latest known round id (max(round) in `orch_stake_by_round`)."},"latest_round_started_at":{"type":["string","null"],"format":"date-time","description":"Timestamp of the NewRound block that started the latest known round."},"latest_round_started_block":{"type":["string","null"],"description":"NewRound block that started the latest known round."},"orchestrator_profile_refreshed_at":{"type":["string","null"],"format":"date-time","description":"Snapshot freshness (when this matview last refreshed)."},"payouts_usd_24h":{"type":"string","description":"Sum of orch commission earned in the trailing 24 h, in USD."},"rewards_usd_24h":{"type":"string","description":"Sum of orch reward share in the trailing 24 h, in USD."},"total_delegations":{"type":"integer","format":"int32","description":"Total live delegations: distinct `(delegator, delegate)` pairs whose\nlatest `stake_balances_by_block` snapshot has `bonded_principal > 0`.","minimum":0},"total_lpt_staked":{"type":"string","description":"Total LPT bonded across all orchs (sum of latest total_stake per orch)."}}},"OrchDelegatorRow":{"type":"object","description":"One delegator bonded to a given orchestrator.","required":["delegator_address","bonded_principal","as_of_block","as_of_timestamp"],"properties":{"as_of_block":{"type":"string"},"as_of_timestamp":{"type":"string","format":"date-time"},"bonded_principal":{"type":"string"},"delegator_address":{"type":"string"},"pending_fees":{"type":["string","null"]},"pending_round":{"type":["string","null"]},"pending_stake":{"type":["string","null"]}}},"OrchDelegatorsMeta":{"type":"object","required":["chain_id","orchestrator_address"],"properties":{"chain_id":{"type":"string"},"next_cursor":{"type":["string","null"]},"orchestrator_address":{"type":"string"}}},"OrchDelegatorsQuery":{"type":"object","properties":{"cursor":{"type":["string","null"],"description":"Opaque cursor for stable pagination by `(bonded_principal DESC, delegator_address ASC)`."},"limit":{"type":["integer","null"],"format":"int32","description":"Maximum number of rows to return (default 50, max 500).","minimum":0}}},"OrchDelegatorsResponse":{"type":"object","description":"Paginated list of delegators bonded to an orchestrator.","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/OrchDelegatorRow"}},"meta":{"$ref":"#/components/schemas/OrchDelegatorsMeta"}}},"OrchestratorListResponse":{"type":"object","description":"Paginated orchestrator profile list.","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/OrchestratorProfileRow"}},"meta":{"$ref":"#/components/schemas/ProfileListMeta"}}},"OrchestratorProfileRow":{"type":"object","description":"Point-in-time orchestrator profile row.","required":["address","total_stake","fee_cut_percent","fee_share_percent","reward_cut_percent","is_active","as_of_block"],"properties":{"address":{"type":"string"},"as_of_block":{"type":"string"},"as_of_round":{"type":["string","null"]},"avatar_url":{"type":["string","null"]},"display_name":{"type":["string","null"]},"fee_cut_percent":{"type":"string"},"fee_share_percent":{"type":"string"},"is_active":{"type":"boolean"},"last_lifecycle_event_at":{"type":["string","null"],"format":"date-time"},"reward_cut_percent":{"type":"string"},"service_uri":{"type":["string","null"]},"total_stake":{"type":"string"}}},"OrchestratorsQuery":{"type":"object","description":"Query parameters for listing orchestrator profiles.","properties":{"active_only":{"type":["boolean","null"],"description":"If true, include only active orchestrators."},"cursor":{"type":["string","null"],"description":"Opaque cursor for `(total_stake DESC, address ASC)` pagination."},"limit":{"type":["integer","null"],"format":"int32","description":"Maximum number of rows to return.","minimum":0}}},"PayoutLeaderboardMeta":{"type":"object","description":"Metadata for payout leaderboard responses.","required":["chain_id","from","to","valuation_version","job_type","sort"],"properties":{"chain_id":{"type":"string"},"from":{"type":"string"},"job_type":{"type":"string"},"next_cursor":{"type":["string","null"]},"sort":{"type":"string"},"to":{"type":"string"},"valuation_version":{"type":"string"}}},"PayoutLeaderboardQuery":{"type":"object","description":"Query parameters for the orchestrator payout leaderboard.","required":["from","to"],"properties":{"cursor":{"type":["string","null"],"description":"Opaque cursor for stable pagination."},"from":{"type":"string"},"job_type":{"type":["string","null"],"description":"`ai`, `transcoding`, or `both`."},"limit":{"type":["integer","null"],"format":"int32","description":"Maximum number of rows to return.","minimum":0},"sort":{"type":["string","null"],"description":"`commission_usd`, `ticket_count`, or `face_value_usd`."},"to":{"type":"string"},"valuation_version":{"type":["string","null"],"description":"Optional valuation version. Defaults to the server default version."}}},"PayoutLeaderboardResponse":{"type":"object","description":"Paginated orchestrator payout leaderboard.","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PayoutLeaderboardRow"}},"meta":{"$ref":"#/components/schemas/PayoutLeaderboardMeta"}}},"PayoutLeaderboardRow":{"type":"object","description":"One orchestrator payout leaderboard row aggregated over the requested date range.","required":["orchestrator_address","ticket_count","sum_face_value_native","sum_face_value_usd","sum_commission_native","sum_commission_usd","sum_delegators_share_native","sum_delegators_share_usd","distinct_gateways","usd_rows_priced"],"properties":{"avatar_url":{"type":["string","null"]},"display_name":{"type":["string","null"]},"distinct_gateways":{"type":"string"},"orchestrator_address":{"type":"string"},"sum_commission_native":{"type":"string"},"sum_commission_usd":{"type":"string"},"sum_delegators_share_native":{"type":"string"},"sum_delegators_share_usd":{"type":"string"},"sum_face_value_native":{"type":"string"},"sum_face_value_usd":{"type":"string"},"ticket_count":{"type":"string"},"usd_rows_priced":{"type":"string"}}},"PayoutSummaryQuery":{"type":"object","description":"Query parameters for payout summary endpoints.","properties":{"job_type":{"type":["string","null"],"description":"`ai`, `transcoding`, or `both`."},"valuation_version":{"type":["string","null"],"description":"Optional valuation version. Defaults to the server default version."}}},"PayoutSummaryResponse":{"type":"object","description":"Payout summary row for a requested period.","required":["period_start","period_end","valuation_version","job_type","ticket_count","sum_face_value_native","sum_face_value_usd","sum_commission_native","sum_commission_usd","sum_delegators_share_native","sum_delegators_share_usd","distinct_gateways","usd_rows_priced"],"properties":{"distinct_gateways":{"type":"string"},"job_type":{"type":"string"},"period_end":{"type":"string"},"period_start":{"type":"string"},"sum_commission_native":{"type":"string"},"sum_commission_usd":{"type":"string"},"sum_delegators_share_native":{"type":"string"},"sum_delegators_share_usd":{"type":"string"},"sum_face_value_native":{"type":"string"},"sum_face_value_usd":{"type":"string"},"ticket_count":{"type":"string"},"usd_rows_priced":{"type":"string"},"valuation_version":{"type":"string"}}},"PrevRoundContext":{"type":"object","description":"Snapshot of the round immediately before this one for delta display.","required":["round","active_orchestrators","total_lpt_staked","payouts_usd_on_day","rewards_usd_on_day"],"properties":{"active_orchestrators":{"type":"integer","format":"int32","minimum":0},"payouts_usd_on_day":{"type":"string"},"rewards_usd_on_day":{"type":"string"},"round":{"type":"string"},"total_lpt_staked":{"type":"string"}}},"PriceRow":{"type":"object","description":"Cached token price row keyed by asset, quote, and block number.","required":["chain_id","asset","quote","block_number","block_hash","block_timestamp","price","source"],"properties":{"asset":{"type":"string"},"block_hash":{"type":"string"},"block_number":{"type":"string"},"block_timestamp":{"type":"string","format":"date-time"},"chain_id":{"type":"string"},"oracle_address":{"type":["string","null"]},"pool_address":{"type":["string","null"]},"price":{"type":"string"},"quote":{"type":"string"},"source":{"type":"string"}}},"ProfileListMeta":{"type":"object","description":"Pagination/meta block for profile list endpoints.","required":["chain_id"],"properties":{"chain_id":{"type":"string"},"next_cursor":{"type":["string","null"]}}},"ProposalListResponse":{"type":"object","description":"Collection response for governance proposals.","required":["data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ProposalRow"}}}},"ProposalRow":{"type":"object","description":"Convenience view of a Governor proposal assembled from raw protocol events.","required":["proposal_id","created_block","created_at","created_tx_hash","executed","vote_tally"],"properties":{"created_at":{"type":"string","format":"date-time"},"created_block":{"type":"string"},"created_tx_hash":{"type":"string"},"description":{"type":["string","null"]},"executed":{"type":"boolean"},"executed_at":{"type":["string","null"],"format":"date-time"},"executed_block":{"type":["string","null"]},"proposal_id":{"type":"string"},"proposer":{"type":["string","null"]},"vote_end":{"type":["string","null"]},"vote_start":{"type":["string","null"]},"vote_tally":{"$ref":"#/components/schemas/VoteTally"}}},"ProposalsQuery":{"type":"object","description":"Query parameters for the convenience governance endpoints.","properties":{"limit":{"type":["integer","null"],"format":"int32","description":"Maximum number of proposals to return.","minimum":0},"status":{"type":["string","null"],"description":"Filter by lifecycle status: `executed`, `not_executed`, `active`, or `all`."}}},"RangeQuery":{"type":"object","description":"Query parameters for listing cached prices across a block range.","required":["from_block","to_block"],"properties":{"from_block":{"type":"integer","format":"int64","description":"Inclusive starting block for the query."},"limit":{"type":["integer","null"],"format":"int32","description":"Maximum number of price rows to return.","minimum":0},"source":{"type":["string","null"],"description":"Optional source filter such as `chainlink_eth_usd` or `uniswap_v3_twap`."},"to_block":{"type":"integer","format":"int64","description":"Inclusive ending block for the query."}}},"RangeResponse":{"type":"object","description":"Range response for cached token prices.","required":["data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PriceRow"}}}},"ReportQuery":{"type":"object","description":"Query parameters for payout and reward CSV report downloads.","required":["start","end"],"properties":{"chain_id":{"type":["integer","null"],"format":"int64"},"end":{"type":"string"},"gateway":{"type":["string","null"]},"orchestrator":{"type":["string","null"]},"start":{"type":"string"},"valuation_version":{"type":["string","null"]}}},"RewardLeaderboardMeta":{"type":"object","required":["chain_id","from","to","valuation_version","sort"],"properties":{"chain_id":{"type":"string"},"from":{"type":"string"},"next_cursor":{"type":["string","null"]},"sort":{"type":"string"},"to":{"type":"string"},"valuation_version":{"type":"string"}}},"RewardLeaderboardQuery":{"type":"object","description":"Query parameters for the orchestrator reward leaderboard.","required":["from","to"],"properties":{"cursor":{"type":["string","null"]},"from":{"type":"string"},"limit":{"type":["integer","null"],"format":"int32","minimum":0},"sort":{"type":["string","null"],"description":"`orch_tokens_usd`, `reward_event_count`, or `total_tokens_usd`."},"to":{"type":"string"},"valuation_version":{"type":["string","null"]}}},"RewardLeaderboardResponse":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/RewardLeaderboardRow"}},"meta":{"$ref":"#/components/schemas/RewardLeaderboardMeta"}}},"RewardLeaderboardRow":{"type":"object","required":["orchestrator_address","reward_event_count","sum_total_tokens","sum_total_tokens_usd","sum_orch_tokens","sum_orch_tokens_usd","sum_delegators_tokens","sum_delegators_tokens_usd","usd_rows_priced"],"properties":{"avatar_url":{"type":["string","null"]},"display_name":{"type":["string","null"]},"orchestrator_address":{"type":"string"},"reward_event_count":{"type":"string"},"sum_delegators_tokens":{"type":"string"},"sum_delegators_tokens_usd":{"type":"string"},"sum_orch_tokens":{"type":"string"},"sum_orch_tokens_usd":{"type":"string"},"sum_total_tokens":{"type":"string"},"sum_total_tokens_usd":{"type":"string"},"usd_rows_priced":{"type":"string"}}},"RewardSummaryQuery":{"type":"object","description":"Query parameters for reward summary endpoints.","properties":{"valuation_version":{"type":["string","null"]}}},"RewardSummaryResponse":{"type":"object","required":["period_start","period_end","valuation_version","reward_event_count","sum_total_tokens","sum_total_tokens_usd","sum_orch_tokens","sum_orch_tokens_usd","sum_delegators_tokens","sum_delegators_tokens_usd","usd_rows_priced"],"properties":{"period_end":{"type":"string"},"period_start":{"type":"string"},"reward_event_count":{"type":"string"},"sum_delegators_tokens":{"type":"string"},"sum_delegators_tokens_usd":{"type":"string"},"sum_orch_tokens":{"type":"string"},"sum_orch_tokens_usd":{"type":"string"},"sum_total_tokens":{"type":"string"},"sum_total_tokens_usd":{"type":"string"},"usd_rows_priced":{"type":"string"},"valuation_version":{"type":"string"}}},"RoundEventCountsResponse":{"type":"object","description":"Aggregate event counts by event_name within the round window.","required":["chain_id","round","from_block","counts","total"],"properties":{"chain_id":{"type":"string"},"counts":{"type":"object","additionalProperties":{"type":"integer","format":"int64","minimum":0},"propertyNames":{"type":"string"}},"from_block":{"type":"string"},"round":{"type":"string"},"to_block":{"type":["string","null"]},"total":{"type":"integer","format":"int64","minimum":0}}},"RoundEventRow":{"type":"object","description":"One event that fired during the round window.","required":["event_id","event_name","contract_name","block_number","block_timestamp","tx_hash","log_index"],"properties":{"amount_normalized":{"type":["string","null"]},"asset":{"type":["string","null"]},"block_number":{"type":"string"},"block_timestamp":{"type":"string","format":"date-time"},"contract_name":{"type":"string"},"decoded":{},"event_id":{"type":"string"},"event_name":{"type":"string"},"from_address":{"type":["string","null"]},"log_index":{"type":"integer","format":"int32"},"to_address":{"type":["string","null"]},"tx_hash":{"type":"string"}}},"RoundEventsMeta":{"type":"object","required":["chain_id","round","from_block"],"properties":{"chain_id":{"type":"string"},"from_block":{"type":"string"},"next_cursor":{"type":["string","null"]},"round":{"type":"string"},"to_block":{"type":["string","null"]}}},"RoundEventsQuery":{"type":"object","properties":{"cursor":{"type":["string","null"],"description":"Opaque `(block_number, log_index)` cursor."},"kinds":{"type":["string","null"],"description":"Comma-separated event-name filter (default: all monetary + lifecycle events)."},"limit":{"type":["integer","null"],"format":"int32","description":"Max rows (default 100, max 1000).","minimum":0}}},"RoundEventsResponse":{"type":"object","description":"Paginated events that fired between this round's NewRound block and the next.","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/RoundEventRow"}},"meta":{"$ref":"#/components/schemas/RoundEventsMeta"}}},"RoundIndexRow":{"type":"object","description":"One row of the rounds index, sorted by round DESC.","required":["round","started_block","started_at","active_orchestrators","total_lpt_staked","payouts_usd_on_day","rewards_usd_on_day"],"properties":{"active_orchestrators":{"type":"integer","format":"int32","minimum":0},"payouts_usd_on_day":{"type":"string"},"rewards_usd_on_day":{"type":"string"},"round":{"type":"string"},"started_at":{"type":"string","format":"date-time"},"started_block":{"type":"string"},"total_lpt_staked":{"type":"string"}}},"RoundOrchSummary":{"type":"object","description":"One orchestrator's contribution within a round summary.","required":["address","total_stake","fee_cut_percent","reward_cut_percent","fee_share_percent","is_active"],"properties":{"address":{"type":"string"},"fee_cut_percent":{"type":"string"},"fee_share_percent":{"type":"string"},"is_active":{"type":"boolean"},"reward_cut_percent":{"type":"string"},"total_stake":{"type":"string"}}},"RoundSummaryResponse":{"type":"object","description":"Single-round summary built from per-round snapshots + daily rollups bucketed by round date.","required":["round","round_started_block","round_started_at","active_orchestrators","total_lpt_staked","top_orchs","payouts_usd_on_day","rewards_usd_on_day","new_round_events"],"properties":{"active_orchestrators":{"type":"integer","format":"int32","minimum":0},"new_round_events":{"type":"integer","format":"int32","description":"Number of NewRound events that fired with this round id (typically 1).","minimum":0},"payouts_usd_30round_avg":{"type":["string","null"],"description":"30-round trailing average of `payouts_usd_on_day`. None if there are\nfewer than 30 prior rounds with rollup data."},"payouts_usd_on_day":{"type":"string","description":"Aggregated payouts on the day this round started (USD)."},"prev_round":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/PrevRoundContext","description":"Snapshot of round-1 for FE delta display. None if this is the\nearliest round in `orch_stake_by_round`."}]},"rewards_usd_30round_avg":{"type":["string","null"],"description":"30-round trailing average of `rewards_usd_on_day`."},"rewards_usd_on_day":{"type":"string","description":"Aggregated rewards on the day this round started (USD)."},"round":{"type":"string"},"round_started_at":{"type":"string","format":"date-time"},"round_started_block":{"type":"string"},"top_orchs":{"type":"array","items":{"$ref":"#/components/schemas/RoundOrchSummary"},"description":"Orchs sorted by total_stake DESC, capped at 10 for the summary view."},"total_lpt_staked":{"type":"string"}}},"RoundsIndexMeta":{"type":"object","required":["chain_id"],"properties":{"chain_id":{"type":"string"},"next_cursor":{"type":["string","null"]}}},"RoundsIndexQuery":{"type":"object","properties":{"cursor":{"type":["string","null"],"description":"Opaque cursor — encodes the round number to resume below."},"limit":{"type":["integer","null"],"format":"int32","description":"Max rows to return (default 50, max 500).","minimum":0}}},"RoundsIndexResponse":{"type":"object","description":"Paginated rounds index sorted by round DESC.","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/RoundIndexRow"}},"meta":{"$ref":"#/components/schemas/RoundsIndexMeta"}}},"StakeHistoryPoint":{"type":"object","description":"One per-round stake snapshot for an orchestrator.","required":["round","block_number","block_timestamp","total_stake","fee_cut_percent","reward_cut_percent","fee_share_percent","is_active"],"properties":{"block_number":{"type":"string"},"block_timestamp":{"type":"string","format":"date-time"},"fee_cut_percent":{"type":"string"},"fee_share_percent":{"type":"string"},"is_active":{"type":"boolean"},"reward_cut_percent":{"type":"string"},"round":{"type":"string"},"total_stake":{"type":"string"}}},"StakeHistoryQuery":{"type":"object","description":"Range filters for orchestrator stake-history.","properties":{"from_round":{"type":["integer","null"],"format":"int64","description":"Inclusive lower-bound round id. Defaults to (latest_round - 100)."},"to_round":{"type":["integer","null"],"format":"int64","description":"Inclusive upper-bound round id. Defaults to latest_round."}}},"StakeHistoryResponse":{"type":"object","required":["address","data","meta"],"properties":{"address":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/StakeHistoryPoint"}},"meta":{"$ref":"#/components/schemas/ProfileListMeta"}}},"StakeRangeQuery":{"type":"object","description":"Query parameters for stake history over a bounded block window.","required":["from_block","to_block"],"properties":{"from_block":{"type":"integer","format":"int64","description":"Inclusive start of the requested block range."},"limit":{"type":["integer","null"],"format":"int32","description":"Maximum number of stake snapshots to return.","minimum":0},"to_block":{"type":"integer","format":"int64","description":"Inclusive end of the requested block range."}}},"StakeRangeResponse":{"type":"object","description":"Stake history response for a single delegator.","required":["data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/StakeRow"}}}},"StakeRow":{"type":"object","description":"Stake snapshot for a single delegator at a specific indexed block.","required":["chain_id","delegator_address","delegate_address","block_number","block_timestamp","block_hash","bonded_principal","source","staleness_blocks"],"properties":{"block_hash":{"type":"string"},"block_number":{"type":"string"},"block_timestamp":{"type":"string","format":"date-time"},"bonded_principal":{"type":"string"},"chain_id":{"type":"string"},"delegate_address":{"type":"string"},"delegator_address":{"type":"string"},"pending_fees":{"type":["string","null"]},"pending_round":{"type":["string","null"]},"pending_stake":{"type":["string","null"]},"source":{"type":"string"},"staleness_blocks":{"type":"string","description":"How many blocks have elapsed since this snapshot was taken vs the requested block."}}},"TicketHistoryQuery":{"type":"object","description":"Query parameters for orchestrator and gateway ticket history reads.","properties":{"cursor":{"type":["string","null"]},"end":{"type":["string","null"]},"limit":{"type":["integer","null"],"format":"int32","minimum":0},"start":{"type":["string","null"]},"valuation_version":{"type":["string","null"]}}},"TicketHistoryResponse":{"type":"object","description":"Paginated ticket history response.","required":["data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TicketHistoryRow"}},"next_cursor":{"type":["string","null"]}}},"TicketHistoryRow":{"type":"object","description":"One winning-ticket payout row for ticket-history endpoints.","required":["event_id","tx_hash","block_number","block_timestamp","gateway_address","orchestrator_address","face_value","face_value_usd","fee_share_percent","fee_cut_percent","valuation_version"],"properties":{"block_number":{"type":"string"},"block_timestamp":{"type":"string","format":"date-time"},"event_id":{"type":"string"},"face_value":{"type":"string"},"face_value_usd":{"type":"string"},"fee_cut_percent":{"type":"string"},"fee_share_percent":{"type":"string"},"gateway_address":{"type":"string"},"orchestrator_address":{"type":"string"},"tx_hash":{"type":"string"},"valuation_version":{"type":"string"}}},"TicketSeriesRow":{"type":"object","required":["date","count"],"properties":{"count":{"type":"string"},"date":{"type":"string"}}},"TicketsTimeseriesQuery":{"type":"object","description":"Query parameters for ticket daily timeseries.","required":["start","end"],"properties":{"end":{"type":"string"},"job_type":{"type":["string","null"],"description":"`ai`, `transcoding`, or `both`."},"start":{"type":"string"}}},"TicketsTimeseriesResponse":{"type":"object","required":["start","end","job_type","ai","transcoding"],"properties":{"ai":{"type":"array","items":{"$ref":"#/components/schemas/TicketSeriesRow"}},"end":{"type":"string"},"job_type":{"type":"string"},"start":{"type":"string"},"transcoding":{"type":"array","items":{"$ref":"#/components/schemas/TicketSeriesRow"}}}},"TranscoderLifecycleHistoryResponse":{"type":"object","description":"Historical collection of transcoder lifecycle rows.","required":["data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TranscoderLifecycleRow"}}}},"TranscoderLifecycleRow":{"type":"object","description":"Decoded activation or deactivation event for a transcoder.","required":["event_id","transcoder_address","block_number","block_timestamp","tx_hash","log_index","event_name","round","is_active"],"properties":{"block_number":{"type":"string"},"block_timestamp":{"type":"string","format":"date-time"},"event_id":{"type":"string"},"event_name":{"type":"string"},"is_active":{"type":"boolean"},"log_index":{"type":"integer","format":"int32","minimum":0},"round":{"type":"string"},"transcoder_address":{"type":"string"},"tx_hash":{"type":"string"}}},"TranscoderParamsHistoryResponse":{"type":"object","description":"Historical collection of transcoder parameter rows.","required":["data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TranscoderParamsRow"}}}},"TranscoderParamsRow":{"type":"object","description":"Decoded TranscoderUpdate row describing reward-cut and fee-share policy at a block.","required":["event_id","transcoder_address","block_number","block_timestamp","tx_hash","log_index","reward_cut_raw","reward_cut_percent","fee_share_raw","fee_share_percent","fee_cut_percent"],"properties":{"block_number":{"type":"string"},"block_timestamp":{"type":"string","format":"date-time"},"event_id":{"type":"string"},"fee_cut_percent":{"type":"string","description":"Operator-perspective fee cut percentage (`100 - fee_share_percent`)."},"fee_share_percent":{"type":"string","description":"Protocol-perspective fee share percentage (delegators' share)."},"fee_share_raw":{"type":"string","description":"Raw on-chain `feeShare` scaled by 1_000_000. This is the delegators' share."},"log_index":{"type":"integer","format":"int32","minimum":0},"reward_cut_percent":{"type":"string","description":"Operator-perspective reward cut percentage (raw / 10_000)."},"reward_cut_raw":{"type":"string","description":"Raw on-chain `rewardCut` scaled by 1_000_000. This is already the operator keep."},"transcoder_address":{"type":"string"},"tx_hash":{"type":"string"}}},"TranscoderProfileResponse":{"type":"object","description":"Point-in-time transcoder profile composed from parameter and lifecycle history.","required":["transcoder_address","block_number"],"properties":{"block_number":{"type":"string"},"lifecycle":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TranscoderLifecycleRow"}]},"params":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TranscoderParamsRow"}]},"transcoder_address":{"type":"string"}}},"ValuationInline":{"type":"object","description":"Inline valuation outcome attached to an event response when requested.","required":["asset","valuation_version","amount_native","source","pricing_method","status"],"properties":{"amount_native":{"type":"string"},"amount_usd":{"type":["string","null"]},"asset":{"type":"string"},"native_usd_price":{"type":["string","null"]},"pricing_method":{"type":"string"},"source":{"type":"string"},"status":{"type":"string"},"valuation_version":{"type":"string"}}},"ValuationListResponse":{"type":"object","description":"Top-level valuations collection response.","required":["data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ValuationRow"}}}},"ValuationRow":{"type":"object","description":"Single immutable valuation outcome row for one (event_id, valuation_version, asset) tuple.","required":["event_id","valuation_version","asset","block_number","amount_native","source","pricing_method","status"],"properties":{"amount_native":{"type":"string"},"amount_usd":{"type":["string","null"]},"asset":{"type":"string"},"block_number":{"type":"string"},"event_id":{"type":"string"},"native_usd_price":{"type":["string","null"]},"pricing_method":{"type":"string"},"source":{"type":"string"},"status":{"type":"string"},"valuation_version":{"type":"string"}}},"ValuationsQuery":{"type":"object","description":"Filters for querying versioned event valuation outcomes.","properties":{"asset":{"type":["string","null"],"description":"Filter valuations by asset symbol."},"from_block":{"type":["integer","null"],"format":"int64","description":"Optional lower block bound."},"limit":{"type":["integer","null"],"format":"int32","description":"Maximum number of rows to return.","minimum":0},"to_block":{"type":["integer","null"],"format":"int64","description":"Optional upper block bound."},"version":{"type":["string","null"],"description":"Filter valuations to a specific pricing version."}}},"VoteListResponse":{"type":"object","description":"Paginated governance vote history response.","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/VoteRow"}},"meta":{"$ref":"#/components/schemas/VotesCoverage"},"next_cursor":{"type":["string","null"]}}},"VoteRow":{"type":"object","description":"One canonical Governor vote event.","required":["event_id","event_name","proposal_id","voter","support","weight","block_number","block_timestamp","tx_hash"],"properties":{"block_number":{"type":"string"},"block_timestamp":{"type":"string","format":"date-time"},"event_id":{"type":"string"},"event_name":{"type":"string"},"proposal_id":{"type":"string"},"reason":{"type":["string","null"]},"support":{"type":"string"},"tx_hash":{"type":"string"},"voter":{"type":"string"},"weight":{"type":"string"}}},"VoteTally":{"type":"object","description":"Vote weights derived from VoteCast events for a single proposal.","required":["against_weight","for_weight","abstain_weight","vote_count"],"properties":{"abstain_weight":{"type":"string"},"against_weight":{"type":"string","description":"Solidity `support` enum — 0=Against, 1=For, 2=Abstain."},"for_weight":{"type":"string"},"vote_count":{"type":"string"}}},"VotesCoverage":{"type":"object","description":"Coverage metadata for the governor vote stream.","required":["domain","backfill_complete"],"properties":{"backfill_complete":{"type":"boolean"},"domain":{"type":"string"},"last_processed_block":{"type":["string","null"]}}},"VotesQuery":{"type":"object","description":"Query parameters for governance vote history.","properties":{"cursor":{"type":["string","null"]},"limit":{"type":["integer","null"],"format":"int32","minimum":0},"proposal_id":{"type":["string","null"]},"voter":{"type":["string","null"]}}}}},"tags":[{"name":"Events","description":"Canonical raw protocol events with optional inline valuation outcomes."},{"name":"Valuations","description":"Versioned valuation outcomes attached to finalized monetary events."},{"name":"Aggregations","description":"Time-bucketed analytics over raw events and valuation rows."},{"name":"Payouts","description":"Materialized payout leaderboards and period summaries derived from WinningTicketRedeemed rows."},{"name":"Reports","description":"Direct-query CSV exports and ticket history views over canonical event rows."},{"name":"Rewards","description":"Materialized reward leaderboards and period summaries derived from Reward rows."},{"name":"Tickets","description":"Daily WinningTicketRedeemed timeseries split by broadcaster kind."},{"name":"Governance","description":"Governor proposal lifecycle and vote tally convenience views."},{"name":"Prices","description":"Cached on-chain token prices keyed by asset, quote, and block."},{"name":"Profiles","description":"Entity-centric orchestrator and gateway profile views built from deterministic materialized state plus optional overlays."},{"name":"Gateways","description":"TicketBroker sender balances, payout flows, and rolling gateway summaries."},{"name":"Stake","description":"Delegator stake snapshots and bounded stake history derived from protocol events and exact reconciliation."},{"name":"Transcoders","description":"Transcoder parameter history, lifecycle state, and delegator set snapshots."},{"name":"Orchestrator history","description":"Per-round stake history, cut-change timeline, and net-economics windows for a single orchestrator (TD-027)."},{"name":"Delegators","description":"Per-delegator portfolio views derived from stake_balances_by_block + delegator_registry (TD-027)."},{"name":"Network","description":"Network-level summaries: dashboard stats and per-round detail (TD-027)."}]}