Bulk get KVault transactions
curl --request POST \
--url https://api.kamino.finance/kvaults/transactions \
--header 'Content-Type: application/json' \
--data '
{
"instruction": "buy"
}
'const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({instruction: 'buy'})
};
fetch('https://api.kamino.finance/kvaults/transactions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.kamino.finance/kvaults/transactions"
payload = { "instruction": "buy" }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)false{
"result": [
{
"ix": {
"tokenAmount": "835.924775",
"numberOfShares": "814.34612",
"solPrice": "138.7776002",
"sharePrice": "1.0263403430350673002",
"tokenPrice": "0.99984713"
},
"timestamp": "2025-03-01T12:00:00.000Z",
"signature": "2XWcSQVtR4NoHBhzYpDkYkmYtEFkFXC5ZwrKiPok1kvA86GvnN15qP7RNP6eTeNWgJqgnR1GA2M3QPp1hucW7e1v",
"kvault": "HDsayqAsDWy3QvANGqh2yNraqcD8Fnjgh73Mhb3WRS5E",
"wallet": "AxqtG9SHDkZTLSWg81Sp7VqAzQpRqXtR9ziJ3VQAS8As",
"rawJson": "<string>"
}
],
"paginationToken": "eyJsYXN0SWQiOjgxfQ=="
}{
"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"
}
]
}{
"error": "Not authorized for this request. Please include the basic auth headers."
}{
"error": "An internal error occurred"
}Kamino Earn Vaults
Bulk get KVault transactions
Bulk get all Kamino Earn Vault transactions with paginated access (max 1000 transactions returned in each response). Private (authorized) API access only, please add a basic auth header to your request.
POST
/
kvaults
/
transactions
Bulk get KVault transactions
curl --request POST \
--url https://api.kamino.finance/kvaults/transactions \
--header 'Content-Type: application/json' \
--data '
{
"instruction": "buy"
}
'const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({instruction: 'buy'})
};
fetch('https://api.kamino.finance/kvaults/transactions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.kamino.finance/kvaults/transactions"
payload = { "instruction": "buy" }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)false{
"result": [
{
"ix": {
"tokenAmount": "835.924775",
"numberOfShares": "814.34612",
"solPrice": "138.7776002",
"sharePrice": "1.0263403430350673002",
"tokenPrice": "0.99984713"
},
"timestamp": "2025-03-01T12:00:00.000Z",
"signature": "2XWcSQVtR4NoHBhzYpDkYkmYtEFkFXC5ZwrKiPok1kvA86GvnN15qP7RNP6eTeNWgJqgnR1GA2M3QPp1hucW7e1v",
"kvault": "HDsayqAsDWy3QvANGqh2yNraqcD8Fnjgh73Mhb3WRS5E",
"wallet": "AxqtG9SHDkZTLSWg81Sp7VqAzQpRqXtR9ziJ3VQAS8As",
"rawJson": "<string>"
}
],
"paginationToken": "eyJsYXN0SWQiOjgxfQ=="
}{
"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"
}
]
}{
"error": "Not authorized for this request. Please include the basic auth headers."
}{
"error": "An internal error occurred"
}Query Parameters
Fetch transactions from this program id
Whether to include raw JSON of the instruction. Also accepts other truthy/falsy strings such as "1"/"0", "yes"/"no", "on"/"off".
Available options:
true, false Body
application/json
Kvault instruction name
Examples:
"buy"
"sell"
"deposit"
"withdraw"
"invest"
"withdrawAvailable"
Date input (ISO 8601 string or epoch in ms)
Example:
"2024-01-01T00:00:00.000Z"
Date input (ISO 8601 string or epoch in ms)
Example:
"2024-01-01T00:00:00.000Z"
Optional pagination token
Example:
"eyJsYXN0SWQiOjgxfQ=="