> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blockworks.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Project Financials

> A project's revenue, expenses and income statement in USD, at the project level and broken down by product version, blockchain and line item.

The project-level revenue series answers how much a protocol earns; the by-product series shows which deployments earn it. Expenses split cost of revenue from operating expenses, and the income statement breaks both sides out line by line.

## Endpoints

| Model | Access | Table | Timeseries |
| - | - | - | - |
| [Project Income Statements](https://docs.blockworks.com/api-reference/data-api/project-financials/project-income-statements) | Protocol-revenue-dataset | [List rows](https://docs.blockworks.com/api-reference/data-api/project-financials/tabular-project-income-statements.md) | [Batch](https://docs.blockworks.com/api-reference/data-api/project-financials/timeseries-project-income-statements.md), [One series](https://docs.blockworks.com/api-reference/data-api/project-financials/timeseries-project-income-statements-by-id.md) |
| [Project Revenue](https://docs.blockworks.com/api-reference/data-api/project-financials/project-revenue) | Protocol-revenue-dataset | [List rows](https://docs.blockworks.com/api-reference/data-api/project-financials/tabular-project-revenue.md) | [Batch](https://docs.blockworks.com/api-reference/data-api/project-financials/timeseries-project-revenue.md), [One series](https://docs.blockworks.com/api-reference/data-api/project-financials/timeseries-project-revenue-by-id.md) |
| [Protocol Revenue](https://docs.blockworks.com/api-reference/data-api/project-financials/protocol-revenue) | Protocol-revenue-dataset | | [Batch](https://docs.blockworks.com/api-reference/data-api/project-financials/timeseries-protocol-revenue.md), [One series](https://docs.blockworks.com/api-reference/data-api/project-financials/timeseries-protocol-revenue-by-id.md) |
| [Protocol Revenue by Product](https://docs.blockworks.com/api-reference/data-api/project-financials/protocol-revenue-by-product) | Protocol-revenue-dataset | | [Batch](https://docs.blockworks.com/api-reference/data-api/project-financials/timeseries-protocol-revenue-by-product.md), [One series](https://docs.blockworks.com/api-reference/data-api/project-financials/timeseries-protocol-revenue-by-product-by-id.md) |
| [Project Expenses](https://docs.blockworks.com/api-reference/data-api/project-financials/project-expenses) | Protocol-revenue-dataset | [List rows](https://docs.blockworks.com/api-reference/data-api/project-financials/tabular-project-expenses.md) | [Batch](https://docs.blockworks.com/api-reference/data-api/project-financials/timeseries-project-expenses.md), [One series](https://docs.blockworks.com/api-reference/data-api/project-financials/timeseries-project-expenses-by-id.md) |
| [Project Tokenholder Distributions](https://docs.blockworks.com/api-reference/data-api/project-financials/project-tokenholder-distributions) | Protocol-revenue-dataset | [List rows](https://docs.blockworks.com/api-reference/data-api/project-financials/tabular-project-tokenholder-distributions.md) | [Batch](https://docs.blockworks.com/api-reference/data-api/project-financials/timeseries-project-tokenholder-distributions.md), [One series](https://docs.blockworks.com/api-reference/data-api/project-financials/timeseries-project-tokenholder-distributions-by-id.md) |

## Example

```bash curl theme={null}
curl "https://api.blockworks.com/query/tabular/project-income-statements?pageSize=3&selections=id,name,slug,parentSlug" \
  -H "X-Blockworks-API-Key: $BLOCKWORKS_API_KEY"
```

See [List Project Income Statement Line Items](https://docs.blockworks.com/api-reference/data-api/project-financials/tabular-project-income-statements.md) for the response and the errors.

## Guides

> [card] [Finding an id](https://docs.blockworks.com/api-reference/data-api/discovery/finding-an-id.md)
>
> Every series key, the table it comes from and the identifiers that resolve to it.

> [card] [Granularity](https://docs.blockworks.com/getting-started/concepts/granularity.md)
>
> Choosing an interval and bounding a time window.

> [card] [Tabular vs timeseries](https://docs.blockworks.com/getting-started/concepts/tabular-vs-timeseries.md)
>
> The two model kinds, their URL shapes, and when to reach for each.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.