# Orchestrator quarters

Quarterly Filecoin Pay Volume (FPV) per ServiceOrchestrator: recomputed, posted, corrected, and bound.

- Table: `orchestrator_quarters`
- Parquet: https://data.filecoindataportal.xyz/orchestrator_quarters.parquet
- Source SQL: https://github.com/davidgasquez/filecoin-data-portal/blob/main/assets/main/orchestrator_quarters.sql
- Page: https://filecoindataportal.xyz/datasets/orchestrator_quarters
- Catalog: https://filecoindataportal.xyz/datasets.md
- Rows: ≈ 1 (snapshot estimate) · 20 columns
- Coverage: not date-indexed
- Raw sources: `raw.blockscout_fee_auction_traces`, `raw.contracts_registry`, `raw.filecoin_api_rails`, `raw.riba_eth_logs`, `raw.riba_eth_logs_decoded`, `raw.solstice_deployments`

## Query

```sql
select *
from 'https://data.filecoindataportal.xyz/orchestrator_quarters.parquet'
limit 10;
```

## Columns

| Name | Type | Description |
| --- | --- | --- |
| `quarter` | `BIGINT` | Solstice quarter number (1 = activation quarter). |
| `orchestrator` | `VARCHAR` | ServiceOrchestrator identity address. |
| `start_block` | `BIGINT` | First epoch of the quarter. |
| `end_block` | `BIGINT` | Last epoch of the quarter. |
| `volume_as_of_block` | `BIGINT` | Last epoch counted in the recomputed volume (coverage capped at the quarter end). |
| `is_complete` | `BOOLEAN` | Whether source coverage reaches the quarter end. |
| `stablecoin_settlements` | `BIGINT` | Attributed admitted-stablecoin settlement events; NULL when source or binding coverage is unknown. |
| `stablecoin_volume_atto_usd` | `DECIMAL(38,0)` | Attributed admitted-stablecoin gross settled amount, in atto-USD; NULL if unknown. |
| `fil_volume_atto_usd` | `DECIMAL(38,0)` | Attributed FIL priced by the quarter's fee-auction prints, in atto-USD; NULL if unknown. |
| `fil_pending_atto_fil` | `DECIMAL(38,0)` | Attributed FIL settled by the quarter end (or coverage) and not priced yet (rolls forward), in attoFIL; NULL if unknown. |
| `volume_atto_usd` | `DECIMAL(38,0)` | Recomputed FPV in atto-USD (stablecoin plus FIL); NULL if any part is unknown. |
| `is_removed_in_quarter` | `BOOLEAN` | Whether the orchestrator was removed during the quarter (excluded from the aggregate). |
| `as_of_block` | `BIGINT` | Last epoch covered by contiguous decoded source logs for posts, corrections, and binding (capped at UTC yesterday). |
| `is_bound` | `BOOLEAN` | Whether source coverage reaches the quarter's bound epoch. |
| `posted_at` | `TIMESTAMP WITH TIME ZONE` | VolumePosted timestamp; NULL if never posted. |
| `posted_volume_atto_usd` | `DECIMAL(38,0)` | Initial posted volume, in atto-USD; NULL if never posted. |
| `corrections` | `BIGINT` | VolumeCorrected events. |
| `corrected_at` | `TIMESTAMP WITH TIME ZONE` | Latest VolumeCorrected timestamp. |
| `reported_volume_atto_usd` | `DECIMAL(38,0)` | Latest on-chain volume (post or correction; 0 clears), in atto-USD; NULL if never written. |
| `bound_volume_atto_usd` | `DECIMAL(38,0)` | Volume counted in the SRA bound aggregate, in atto-USD; 0 if bound without writes, NULL until bound. Parquet has no HUGEINT (exported as lossy DOUBLE); DECIMAL(38,0) keeps atto amounts exact. |

## Sample

1 rows exactly as stored. Values are code spans; strings with whitespace or backslashes use JSON literals. A bare null is missing, not zero.

| `quarter` | `orchestrator` | `start_block` | `end_block` | `volume_as_of_block` | `is_complete` | `stablecoin_settlements` | `stablecoin_volume_atto_usd` | `fil_volume_atto_usd` | `fil_pending_atto_fil` | `volume_atto_usd` | `is_removed_in_quarter` | `as_of_block` | `is_bound` | `posted_at` | `posted_volume_atto_usd` | `corrections` | `corrected_at` | `reported_volume_atto_usd` | `bound_volume_atto_usd` |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| `1` | `0x97a90f5696be5e3c8d3752c92adac287c2b4484e` | `6470280` | `6733253` | `6497519` | `false` | `0` | `0` | `0` | `0` | `0` | `false` | `6497519` | `false` | null | null | `0` | null | null | null |
