Kamino Yields API
The Yields API from Kamino — 2 operation(s) for yields.
The Yields API from Kamino — 2 operation(s) for yields.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/kamino-yields-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: 1.0.0
title: Kamino Public Airdrop Yields API
description: 'The Kamino API provides a comprehensive way to interact with Kamino without reading directly from the blockchain.
The API also provides the ability to fetch data that might not be available from just reading the chain.
The API is rate-limited for unauthenticated users. If you feel you need to make more requests or run into rate-limit issues, please reach out.
'
servers:
- url: https://api.kamino.finance
tags:
- name: Yields
paths:
/yields/{yieldSource}/history:
get:
summary: Get yield history
description: Get historical yield data for a given source, between an optional range of dates (max 366 days). For extra farm yields specify the source as farmAddress-rewardMint.
tags:
- Yields
parameters:
- schema:
type: string
description: 'Yield source identifier. For regular yields use the token mint address. For extra farm yields use the format: farmAddress-rewardMint'
example: AvZZF1YaZDziPY2RCK4oJrRVrbN3mTD9NL24hPeaZeUj
examples:
- AvZZF1YaZDziPY2RCK4oJrRVrbN3mTD9NL24hPeaZeUj
- FciPo1fpNgStdnVvKT7abcFfyqn2sJijLrNLCkKtbsye-2u1tszSeqZ3qBWF3uNGPFc8TzMk2tdiwknnRMWGWjGWH
required: true
description: 'Yield source identifier. For regular yields use the token mint address. For extra farm yields use the format: farmAddress-rewardMint'
name: yieldSource
in: path
- schema:
anyOf:
- type: string
- type: number
description: Date input (ISO 8601 string or epoch in ms)
examples:
- '2024-01-01T00:00:00.000Z'
- 1704067200000
example: 2020-01-01T00:00Z
required: false
description: Date input (ISO 8601 string or epoch in ms)
name: start
in: query
- schema:
anyOf:
- type: string
- type: number
description: Date input (ISO 8601 string or epoch in ms)
examples:
- '2024-01-01T00:00:00.000Z'
- 1704067200000
example: 2020-02-01T00:00Z
required: false
description: Date input (ISO 8601 string or epoch in ms)
name: end
in: query
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/YieldHistoryResponse'
'400':
description: Bad Request
content:
application/json:
schema:
type: object
properties:
error:
type: string
description: High-level error message describing the failure
example: Invalid query params
details:
type: array
items:
type: object
additionalProperties: {}
description: Detailed validation issues (present only for validation errors)
required:
- error
description: Bad request response (400)
example:
error: Invalid query request
details:
- code: invalid_union
errors:
- - code: custom
path: []
message: Invalid date string
- - expected: number
code: invalid_type
path: []
message: 'Invalid input: expected number, received string'
path:
- start
message: Invalid input
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/yields/principal-tokens:
get:
summary: Get principal token yields
description: Get current APY yields for principal tokens from various sources
tags:
- Yields
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PtYieldsResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
components:
schemas:
AddressBase58:
type: string
description: Valid base58-encoded address
example: VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd
YieldHistoryResponse:
type: array
items:
$ref: '#/components/schemas/YieldHistoryItem'
YieldHistoryItem:
type: object
properties:
createdOn:
allOf:
- $ref: '#/components/schemas/SnapshotDateTime'
- description: Timestamp when the snapshot was created (ISO 8601 format)
example: '2025-03-01T12:00:00.000Z'
apr:
$ref: '#/components/schemas/Apr'
apy:
allOf:
- $ref: '#/components/schemas/Apy'
- description: APY in decimal format (not percentage) represented as string. Multiply by 100 to get percentage (%) - 0.1 in API response is 10%.
example: '0.2'
required:
- createdOn
- apr
- apy
Apy:
type: string
description: Borrow interest APY
example: '0.027610992938039702'
examples:
- '0.123'
- '0'
- '1'
- '1.23'
- '-0.5'
- '999999.999999'
Error:
type: object
properties:
error:
type: string
description: Error message for internal server failure
example: An internal error occurred
required:
- error
description: Internal server error response (500)
example:
error: An internal error occurred
PtYieldItem:
type: object
properties:
apy:
allOf:
- $ref: '#/components/schemas/Apy'
- description: APY in decimal format (not percentage) represented as string. Multiply by 100 to get percentage (%) - 0.1 in API response is 10%.
example: '0.2'
tokenMint:
allOf:
- $ref: '#/components/schemas/AddressBase58'
- description: Valid base58-encoded address of the token mint
example: So11111111111111111111111111111111111111112
examples:
- So11111111111111111111111111111111111111112
- EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
- DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263
required:
- apy
- tokenMint
Apr:
type: string
description: APR in decimal format (not percentage) represented as string. Multiply by 100 to get percentage (%) - 0.1 in API response is 10%.
example: '0.2'
examples:
- '0.123'
- '0'
- '1'
- '1.23'
- '-0.5'
- '999999.999999'
PtYieldsResponse:
type: array
items:
$ref: '#/components/schemas/PtYieldItem'
SnapshotDateTime:
type: string
format: date-time
description: Timestamp of the metrics snapshot
example: '2023-06-29T15:15:26.464Z'