Kamino Kamino Earn Withdraw API
The Kamino Earn Withdraw API from Kamino — 2 operation(s) for kamino earn withdraw.
The Kamino Earn Withdraw API from Kamino — 2 operation(s) for kamino earn withdraw.
openapi: 3.0.0
info:
version: 1.0.0
title: Kamino Public Airdrop Kamino Earn Withdraw 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: Kamino Earn Withdraw
paths:
/ktx/kvault/withdraw:
post:
summary: Get transaction to withdraw from a kvault
tags:
- Kamino Earn Withdraw
description: Withdraw tokens from a specified Kamino Earn Vault
requestBody:
content:
application/json:
schema:
type: object
properties:
wallet:
description: User wallet address (base58) that will also sign the transaction
format: solana-base58-address
minLength: 32
maxLength: 44
type: string
example: KUMtRazMP7vwvc2kthnGZ9Cq6ZsGRiYC97snMYepNx9
kvault:
description: Target Kamino vault address
format: solana-base58-address
minLength: 32
maxLength: 44
type: string
example: HDsayqAsDWy3QvANGqh2yNraqcD8Fnjgh73Mhb3WRS5E
amount:
description: Amount to withdraw (in decimal format, not lamports), use U64::MAX to withdraw all
format: decimal-positive-amount
type: string
example: '0.1234'
required:
- wallet
- kvault
- amount
required: true
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
transaction:
description: Encoded transaction ready to send
type: string
example: AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAQAEB4U90z775Z0G20Lzbx64AwbcGsJTUS+D6M2d1yQDvRL+MXyh2DY6ZPXvcFUmkblzqU7UrFcH4BAOPAPQXUWHKZS66KvlDTwMypF/H+icat/xVYNA0OvZ+RMaheXL0QJajAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD9ps6fZhmN2HDYqYbzBnXEb4Pi9Sg0h5UvXVBWPj73qMlyWPTiSJ8bs9ECkUjg2DC1oTmdr/EIQEjnvY2+n4WQTZCvHbiTnsNf+U2WQNV9zDJ5S7Phu2b9OuhJqE3NuUsuvLnkdJfjUAGox8/57aeYKvmQtCaruy3qoGNzwovloCBQYAAQAHAxEBAQYRAAsIDw0HAgEQEREEBgoJDgwQ8iPGiVLh8rYA4fUFAAAAAAGC6dRmw0Z9LrKw2cy+tHvb9JXuHBu0d9Dar60DX6fr5AUFLxMJAQYVBAsCBwM=
required:
- transaction
'400':
description: Default Response
content:
application/json:
schema:
type: object
properties:
statusCode:
description: HTTP error code
type: number
example: 400
message:
description: Error message describing the issue
type: string
error:
description: Short description of the http status code
type: string
example: Bad Request
code:
description: Kamino error code
anyOf:
- type: string
enum:
- DECIMAL_TO_LAMPORTS_OVERFLOW
- type: string
enum:
- KLEND_MARKET_NOT_FOUND
- type: string
enum:
- KLEND_OBLIGATION_NOT_FOUND
- type: string
enum:
- KLEND_RESERVE_NOT_FOUND
- type: string
enum:
- KVAULT_NOT_FOUND
- type: string
enum:
- TRANSACTION_SIZE_ERROR
required:
- statusCode
- message
- error
/ktx/kvault/withdraw-instructions:
post:
summary: Get instructions to withdraw from a kvault
tags:
- Kamino Earn Withdraw
description: Instructions to withdraw tokens from a specified Kamino Earn Vault. Additionally includes lookup tables to use to compress transaction size
requestBody:
content:
application/json:
schema:
type: object
properties:
wallet:
description: User wallet address (base58) that will also sign the transaction
format: solana-base58-address
minLength: 32
maxLength: 44
type: string
example: KUMtRazMP7vwvc2kthnGZ9Cq6ZsGRiYC97snMYepNx9
kvault:
description: Target Kamino vault address
format: solana-base58-address
minLength: 32
maxLength: 44
type: string
example: HDsayqAsDWy3QvANGqh2yNraqcD8Fnjgh73Mhb3WRS5E
amount:
description: Amount to withdraw (in decimal format, not lamports), use U64::MAX to withdraw all
format: decimal-positive-amount
type: string
example: '0.1234'
required:
- wallet
- kvault
- amount
required: true
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
instructions:
type: array
items:
type: object
properties:
accounts:
type: array
items:
type: object
properties:
address:
type: string
role:
type: string
signer:
type: object
properties:
address:
type: string
required:
- address
required:
- address
- role
example:
address: 9y7uLMUMW6EiRwH1aJFSp9Zka7dVx2JdZKA3858u6YHT
role: WRITABLE_SIGNER
signer:
address: 9y7uLMUMW6EiRwH1aJFSp9Zka7dVx2JdZKA3858u6YHT
data:
anyOf:
- type: string
- type: 'null'
example: 8iPGiVLh8rYA4fUFAAAAAA==
programAddress:
type: string
example: KvauGMspG5k6rtzrqqn7WNn3oZdyKqLKwK2XWQ8FLjd
required:
- accounts
- data
- programAddress
lutsByAddress:
type: object
additionalProperties:
type: array
items:
description: Referenced LUT address
type: string
example:
9p2oT9J6BojHigd3V5qXzrwsQf4dtgMgLxtrzLVR3rwu:
- sadmBTQm5HJsyzWHEjV4YwG9CiahZKVDVqAyS4Wx1zH
- HDsayqAsDWy3QvANGqh2yNraqcD8Fnjgh73Mhb3WRS5E
- EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
required:
- instructions
- lutsByAddress
'400':
description: Default Response
content:
application/json:
schema:
type: object
properties:
statusCode:
description: HTTP error code
type: number
example: 400
message:
description: Error message describing the issue
type: string
error:
description: Short description of the http status code
type: string
example: Bad Request
code:
description: Kamino error code
anyOf:
- type: string
enum:
- DECIMAL_TO_LAMPORTS_OVERFLOW
- type: string
enum:
- KLEND_MARKET_NOT_FOUND
- type: string
enum:
- KLEND_OBLIGATION_NOT_FOUND
- type: string
enum:
- KLEND_RESERVE_NOT_FOUND
- type: string
enum:
- KVAULT_NOT_FOUND
- type: string
enum:
- TRANSACTION_SIZE_ERROR
required:
- statusCode
- message
- error