Skip to main content
POST
Get transaction to withdraw from a kvault

Body

application/json
wallet
string<solana-base58-address>
required

User wallet address (base58) that will also sign the transaction

Required string length: 32 - 44
Example:

"KUMtRazMP7vwvc2kthnGZ9Cq6ZsGRiYC97snMYepNx9"

kvault
string<solana-base58-address>
required

Target Kamino vault address

Required string length: 32 - 44
Example:

"HDsayqAsDWy3QvANGqh2yNraqcD8Fnjgh73Mhb3WRS5E"

amount
string<decimal-positive-amount>
required

Vault share amount in token units, not lamports. To withdraw all shares, use the decimal string "18446744073709551615".

Example:

"0.1234"

useStagingProgram
boolean

Optional. If omitted, the value is false. Set it to true to target a vault owned by the staging kvault program instead of the mainnet program.

Example:

true

memo
string<memo>

The memo is optional. If provided, it must be non-empty and at most 64 UTF-8 bytes. The API includes it in the vault withdrawal transaction.

Required string length: 1 - 64
closeUserState
boolean

Optional. If omitted, the value is false. Set it to true to request user-state closure on a full withdrawal. Closure is not guaranteed.

Example:

true

Response

Default Response

transaction
string
required

Base64-encoded unsigned transaction. Sign it before submission.

Example:

"AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAQAEB4U90z775Z0G20Lzbx64AwbcGsJTUS+D6M2d1yQDvRL+MXyh2DY6ZPXvcFUmkblzqU7UrFcH4BAOPAPQXUWHKZS66KvlDTwMypF/H+icat/xVYNA0OvZ+RMaheXL0QJajAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD9ps6fZhmN2HDYqYbzBnXEb4Pi9Sg0h5UvXVBWPj73qMlyWPTiSJ8bs9ECkUjg2DC1oTmdr/EIQEjnvY2+n4WQTZCvHbiTnsNf+U2WQNV9zDJ5S7Phu2b9OuhJqE3NuUsuvLnkdJfjUAGox8/57aeYKvmQtCaruy3qoGNzwovloCBQYAAQAHAxEBAQYRAAsIDw0HAgEQEREEBgoJDgwQ8iPGiVLh8rYA4fUFAAAAAAGC6dRmw0Z9LrKw2cy+tHvb9JXuHBu0d9Dar60DX6fr5AUFLxMJAQYVBAsCBwM="