Kamino Season Rewards API
The Season Rewards API from Kamino — 5 operation(s) for season rewards.
The Season Rewards API from Kamino — 5 operation(s) for season rewards.
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-season-rewards-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
version: 1.0.0
title: Kamino Public Airdrop Season Rewards 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: Season Rewards
paths:
/kvaults/rewards:
get:
summary: Get all KVault season rewards
description: Get all active season points rewards for each Kamino Earn Vault
tags:
- Season Rewards
parameters:
- schema:
type: string
description: Points source identifier
example: Season1
examples:
- Season1
- Season2
- Season3
- Season4
required: false
description: Points source identifier
name: source
in: query
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/KvaultRewardMetrics'
'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'
/users/{pubkey}/staking-boosts:
get:
summary: Get user staking boosts
description: Fetches staking boost multipliers for a specific user
tags:
- Season Rewards
parameters:
- schema:
$ref: '#/components/schemas/AddressBase58'
required: true
description: Valid base58-encoded address
name: pubkey
in: path
- schema:
type: string
description: Points source identifier
example: Season1
examples:
- Season1
- Season2
- Season3
- Season4
required: false
description: Points source identifier
name: source
in: query
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/StakingBoost'
'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'
/kvaults/summary:
get:
summary: Get summary of the KVault program earnings
description: Get an aggregated all-time summary of all Kamino Earn Vault rewards and interest earned, in SOL and USD
tags:
- Season Rewards
parameters:
- schema:
type: string
enum:
- default
- private-credit
default: default
description: Type of vaults queried
example: default
required: false
description: Type of vaults queried
name: type
in: query
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
earnings:
type: object
properties:
interest:
type: object
properties:
usd:
allOf:
- $ref: '#/components/schemas/Decimal'
- description: Amount in USD denomination
sol:
allOf:
- $ref: '#/components/schemas/Decimal'
- description: Amount in SOL denomination
required:
- usd
- sol
description: Earnings from interest
rewards:
type: object
properties:
usd:
allOf:
- $ref: '#/components/schemas/Decimal'
- description: Amount in USD denomination
sol:
allOf:
- $ref: '#/components/schemas/Decimal'
- description: Amount in SOL denomination
required:
- usd
- sol
description: Earnings from vault farm rewards
reserveRewards:
type: object
properties:
usd:
allOf:
- $ref: '#/components/schemas/Decimal'
- description: Amount in USD denomination
sol:
allOf:
- $ref: '#/components/schemas/Decimal'
- description: Amount in SOL denomination
required:
- usd
- sol
description: Earnings from reserve rewards
total:
type: object
properties:
usd:
allOf:
- $ref: '#/components/schemas/Decimal'
- description: Amount in USD denomination
sol:
allOf:
- $ref: '#/components/schemas/Decimal'
- description: Amount in SOL denomination
required:
- usd
- sol
description: Total earnings
required:
- interest
- rewards
- reserveRewards
- total
description: Earnings summary
required:
- earnings
description: KVault Summary Data
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/season-rewards/users/{pubkey}:
get:
summary: Get user season rewards
description: Fetches combined season reward data from both KLend and KVault for a specific user
tags:
- Season Rewards
parameters:
- schema:
$ref: '#/components/schemas/AddressBase58'
required: true
description: Valid base58-encoded address
name: pubkey
in: path
- schema:
type: string
description: Points source identifier
example: Season1
examples:
- Season1
- Season2
- Season3
- Season4
required: false
description: Points source identifier
name: source
in: query
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SeasonUserReward'
'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'
/season-rewards/final-vesting-pool:
get:
summary: Get final vesting pool allocation
description: Calculates total forfeited rewards from all users who claimed early before full vesting
tags:
- Season Rewards
parameters:
- schema:
type: string
description: Points source identifier
example: Season1
examples:
- Season1
- Season2
- Season3
- Season4
required: false
description: Points source identifier
name: source
in: query
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SeasonFinalVestingPoolAllocation'
'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'
components:
schemas:
AddressBase58:
type: string
description: Valid base58-encoded address
example: VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd
Decimal:
type: string
description: Decimal value represented as string
example: '1234.56789'
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
SeasonFinalVestingPoolAllocation:
type: object
properties:
totalForfeitedRewards:
allOf:
- $ref: '#/components/schemas/Decimal'
- description: Total amount of forfeited rewards from all users who claimed early
required:
- totalForfeitedRewards
StakingBoost:
type: object
properties:
boost:
allOf:
- $ref: '#/components/schemas/Decimal'
- description: Boost multiplier value for the staking position in decimal format (multiply by 100 to get percentage %)
name:
type: string
description: Staking boost source name
example: staking_boost
farm:
allOf:
- $ref: '#/components/schemas/AddressBase58'
- description: Optional farm identifier associated with the boost
required:
- boost
- name
SeasonUserReward:
type: object
properties:
wallet:
allOf:
- $ref: '#/components/schemas/AddressBase58'
- description: Wallet address of the user
totalRewards:
type: object
properties:
amount:
allOf:
- $ref: '#/components/schemas/Decimal'
- description: Total reward amount
tokenMint:
allOf:
- $ref: '#/components/schemas/AddressBase58'
- description: Token mint address of the reward
required:
- amount
- tokenMint
description: Total combined season rewards from both KLend and KVault
required:
- wallet
- totalRewards
KvaultRewardMetric:
type: object
properties:
kvault:
allOf:
- $ref: '#/components/schemas/AddressBase58'
- description: Address of the kvault
rewardToken:
allOf:
- $ref: '#/components/schemas/AddressBase58'
- description: Mint address of the reward token
lastCalculated:
type: string
format: date
description: Timestamp of the last calculation
apy:
allOf:
- $ref: '#/components/schemas/Apy'
- description: Annual Percentage Yield from rewards in the kvault
example: '0.2'
tokensPerSecond:
allOf:
- $ref: '#/components/schemas/Decimal'
- description: Number of reward tokens distributed per second
required:
- kvault
- rewardToken
- lastCalculated
- apy
- tokensPerSecond
KvaultRewardMetrics:
type: array
items:
$ref: '#/components/schemas/KvaultRewardMetric'
description: List of kvault reward metrics