Get all user KVault positions
curl --request GET \
--url https://api.kamino.finance/kvaults/users/{pubkey}/positionsconst options = {method: 'GET'};
fetch('https://api.kamino.finance/kvaults/users/{pubkey}/positions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.kamino.finance/kvaults/users/{pubkey}/positions"
response = requests.get(url)
print(response.text)false[
{
"address": "VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd",
"state": {
"vaultAdminAuthority": "VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd",
"baseVaultAuthority": "VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd",
"baseVaultAuthorityBump": 123,
"tokenMint": "VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd",
"tokenMintDecimals": 123,
"tokenVault": "VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd",
"tokenProgram": "VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd",
"sharesMint": "VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd",
"sharesMintDecimals": 123,
"tokenAvailable": "1234.56789",
"sharesIssued": "1234.56789",
"availableCrankFunds": "1234.56789",
"performanceFeeBps": 123,
"managementFeeBps": 123,
"lastFeeChargeTimestamp": 123,
"prevAum": "1234.56789",
"pendingFees": "1234.56789",
"vaultAllocationStrategy": [
{
"reserve": "VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd",
"ctokenVault": "VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd",
"targetAllocationWeight": 123,
"tokenAllocationCap": "<string>",
"ctokenVaultBump": 123,
"ctokenAllocation": "<string>",
"lastInvestSlot": "<string>",
"tokenTargetAllocation": "1234.56789"
}
],
"minDepositAmount": "1234.56789",
"minWithdrawAmount": "1234.56789",
"minInvestAmount": "1234.56789",
"minInvestDelaySlots": 123,
"crankFundFeePerReserve": "1234.56789",
"pendingAdmin": "VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd",
"cumulativeEarnedInterest": "1234.56789",
"cumulativeMgmtFees": "1234.56789",
"cumulativePerfFees": "1234.56789",
"name": "<string>",
"vaultLookupTable": "VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd",
"vaultFarm": "VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd",
"creationTimestamp": 123,
"allocationAdmin": "VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd"
},
"programId": "VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd",
"vaultAddress": "VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd",
"stakedShares": "1234.56789",
"unstakedShares": "1234.56789",
"totalShares": "1234.56789"
}
]{
"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": "An internal error occurred"
}User Data
Get all user KVault positions
Get a list of user positions for each Kamino Earn Vault the user has currently deposited into. Returns staked and unstaked shares.
GET
/
kvaults
/
users
/
{pubkey}
/
positions
Get all user KVault positions
curl --request GET \
--url https://api.kamino.finance/kvaults/users/{pubkey}/positionsconst options = {method: 'GET'};
fetch('https://api.kamino.finance/kvaults/users/{pubkey}/positions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.kamino.finance/kvaults/users/{pubkey}/positions"
response = requests.get(url)
print(response.text)false[
{
"address": "VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd",
"state": {
"vaultAdminAuthority": "VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd",
"baseVaultAuthority": "VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd",
"baseVaultAuthorityBump": 123,
"tokenMint": "VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd",
"tokenMintDecimals": 123,
"tokenVault": "VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd",
"tokenProgram": "VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd",
"sharesMint": "VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd",
"sharesMintDecimals": 123,
"tokenAvailable": "1234.56789",
"sharesIssued": "1234.56789",
"availableCrankFunds": "1234.56789",
"performanceFeeBps": 123,
"managementFeeBps": 123,
"lastFeeChargeTimestamp": 123,
"prevAum": "1234.56789",
"pendingFees": "1234.56789",
"vaultAllocationStrategy": [
{
"reserve": "VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd",
"ctokenVault": "VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd",
"targetAllocationWeight": 123,
"tokenAllocationCap": "<string>",
"ctokenVaultBump": 123,
"ctokenAllocation": "<string>",
"lastInvestSlot": "<string>",
"tokenTargetAllocation": "1234.56789"
}
],
"minDepositAmount": "1234.56789",
"minWithdrawAmount": "1234.56789",
"minInvestAmount": "1234.56789",
"minInvestDelaySlots": 123,
"crankFundFeePerReserve": "1234.56789",
"pendingAdmin": "VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd",
"cumulativeEarnedInterest": "1234.56789",
"cumulativeMgmtFees": "1234.56789",
"cumulativePerfFees": "1234.56789",
"name": "<string>",
"vaultLookupTable": "VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd",
"vaultFarm": "VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd",
"creationTimestamp": 123,
"allocationAdmin": "VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd"
},
"programId": "VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd",
"vaultAddress": "VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd",
"stakedShares": "1234.56789",
"unstakedShares": "1234.56789",
"totalShares": "1234.56789"
}
]{
"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": "An internal error occurred"
}Path Parameters
Valid base58-encoded address of the user wallet
Example:
"AxqtG9SHDkZTLSWg81Sp7VqAzQpRqXtR9ziJ3VQAS8As"
Response
OK
Public key of the vault
Example:
"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd"
Show child attributes
Show child attributes
Public key of the kvault program which owns the vault
Example:
"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd"
Address of the Kamino Earn Vault
Example:
"VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd"
The number of Kamino Earn Vault shares staked in a farm
Example:
"1234.56789"
The number of Kamino Earn Vault shares held in the user wallet
Example:
"1234.56789"
The total number of Kamino Earn Vault shares both held and staked by the user
Example:
"1234.56789"
⌘I