---
title: "Get yield sources with optional base asset filter and pagination"
method: GET
path: "/yield-sources"
tags: ["Yield Sources"]
---

# Get yield sources with optional base asset filter and pagination

`GET /yield-sources`

## Query parameters

- `base_asset` string
- `page` integer
- `per_page` integer

## Response `200`

Yield sources retrieved successfully grouped by protocol

- PaginatedResponse — Paginated response wrapper
  - `data` ProtocolYieldSources[], required
    - `count` integer, required — Number of yield sources in this protocol
    - `protocol` string, required — Protocol/source name (e.g., "kamino", "marginfi", "drift")
    - `yield_sources` ApiYieldSource[], required — List of yield sources for this protocol
      - `base_assets` string[], required — List of supported base assets
      - `current_apy` number, double, required — Current annual percentage yield
      - `pubkey` string, required — Unique identifier for the yield source
      - `risk` integer, required — Risk level (0-255, lower is safer)
      - `source` string, required — Protocol/source name (e.g., "kamino", "marginfi", "drift")
      - `updated_at_timestamp` integer, required — Timestamp when the data was last updated
      - `yield_type` string, required — Type of yield source (e.g., "Lending", "TokenStaking", etc.)
  - `meta` PaginationMeta, required — Pagination metadata
    - `has_more` boolean, required — Whether there are more pages
    - `page` integer, required — Current page number
    - `per_page` integer, required — Number of items per page
    - `total` integer, required — Total number of items
    - `total_pages` integer, required — Total number of pages

## Other responses

- `400` — Invalid query parameters
- `500` — Internal server error

---

[API](https://skmtc.net/breeze-baby/apis/breeze-api.md) · [All operations](https://skmtc.net/breeze-baby/apis/breeze-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/breeze-baby/breeze-api/versions/d0a18846aa92/schema)
