A valid request URL is required to generate request examples{
"data": {
"address": "0x1111111111111111111111111111111111111111",
"chainId": 1,
"snapshotAt": 1791454800,
"blockNumber": 26124800,
"items": [
{
"id": "0x1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a-214",
"type": "REDEEM_REQUEST",
"status": "claimable",
"vault": {
"slug": "stable-vault",
"address": "0xcDA323c2DF692d989B24BA51D0aCCa924cf9a344"
},
"timestamp": 1791331200,
"transactionHash": "0x1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a",
"logIndex": 214,
"requestId": "41",
"assets": null,
"shares": "250000000000000000000"
},
{
"id": "0x2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b-33",
"type": "DEPOSIT",
"status": "completed",
"vault": {
"slug": "balanced-vault",
"address": "0xA5AE405242f42C47996a0C6857ff10a77F9bdeE6"
},
"timestamp": 1791158400,
"transactionHash": "0x2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b",
"logIndex": 33,
"requestId": null,
"assets": "1000000000",
"shares": "997820000000000000000"
},
{
"id": "0x3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c-87",
"type": "WITHDRAW",
"status": "completed",
"vault": {
"slug": "stable-vault",
"address": "0xcDA323c2DF692d989B24BA51D0aCCa924cf9a344"
},
"timestamp": 1790985600,
"transactionHash": "0x3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c",
"logIndex": 87,
"requestId": null,
"assets": "150300000",
"shares": "150000000000000000000"
}
],
"nextCursor": "eyJ2IjozLCJhc09mIjoxNzkxNDU0ODAwLCJ0cyI6MTc5MDk4NTYwMCwibG9nIjo4NywidHgiOiIweDNjM2MzYzNjM2MzYzNjM2MzYzNjM2MzYzNjM2MzYzNjM2MzYzNjM2MzYzNjM2MzYzNjM2MzYzNjM2MzYzNjM2MiLCJtYWMiOiIxNmNkMGQxNTNjY2ExMWZjODIzNmZhMzNiNzhjNjdjYSJ9"
},
"asOf": 1791454901
}List wallet transactions
Transaction history of one wallet in every active vault, or in one vault with slug, with the request statuses the Kamui app shows.
- Rows are newest first: by timestamp, then log index (higher first), then transaction hash (higher first).
typeskeeps only the listed types. - Amounts are integer strings in base units:
assetsin the deposit asset (USDC, 6 decimals),sharesin vault shares (18 decimals). A field the event does not carry is null. - A request row is
pendinguntil settled, thenawaiting_shares(deposit) orclaimable(redeem request) until claimed, thencompleted. A canceled request and its cancel row arecanceled. Every other row iscompleted. - Paging: send
nextCursorback ascursor, with the sameaddress,slugandtypes. Stop whennextCursoris null. A page can hold fewer rows thanlimit, even none. A cursor that does not decode, or that comes from other filters, answers 400invalid_cursor. - The rows of one cursor chain stop at
snapshotAt, so an event indexed late never repeats or shifts a row. Request statuses read the chain atblockNumber, the latest block when the page is read, so a status can change between pages. - A wallet with more than 1,000 request, cancel and claim rows, or more than 1,000 rows at one timestamp, answers 503
history_unavailable. Any data source failure answers the same 503, never a partial page. - A legacy slug resolves to its canonical vault, and rows carry the canonical slug.
A valid request URL is required to generate request examples{
"data": {
"address": "0x1111111111111111111111111111111111111111",
"chainId": 1,
"snapshotAt": 1791454800,
"blockNumber": 26124800,
"items": [
{
"id": "0x1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a-214",
"type": "REDEEM_REQUEST",
"status": "claimable",
"vault": {
"slug": "stable-vault",
"address": "0xcDA323c2DF692d989B24BA51D0aCCa924cf9a344"
},
"timestamp": 1791331200,
"transactionHash": "0x1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a",
"logIndex": 214,
"requestId": "41",
"assets": null,
"shares": "250000000000000000000"
},
{
"id": "0x2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b-33",
"type": "DEPOSIT",
"status": "completed",
"vault": {
"slug": "balanced-vault",
"address": "0xA5AE405242f42C47996a0C6857ff10a77F9bdeE6"
},
"timestamp": 1791158400,
"transactionHash": "0x2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b",
"logIndex": 33,
"requestId": null,
"assets": "1000000000",
"shares": "997820000000000000000"
},
{
"id": "0x3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c-87",
"type": "WITHDRAW",
"status": "completed",
"vault": {
"slug": "stable-vault",
"address": "0xcDA323c2DF692d989B24BA51D0aCCa924cf9a344"
},
"timestamp": 1790985600,
"transactionHash": "0x3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c",
"logIndex": 87,
"requestId": null,
"assets": "150300000",
"shares": "150000000000000000000"
}
],
"nextCursor": "eyJ2IjozLCJhc09mIjoxNzkxNDU0ODAwLCJ0cyI6MTc5MDk4NTYwMCwibG9nIjo4NywidHgiOiIweDNjM2MzYzNjM2MzYzNjM2MzYzNjM2MzYzNjM2MzYzNjM2MzYzNjM2MzYzNjM2MzYzNjM2MzYzNjM2MzYzNjM2MiLCJtYWMiOiIxNmNkMGQxNTNjY2ExMWZjODIzNmZhMzNiNzhjNjdjYSJ9"
},
"asOf": 1791454901
}Authorizations
The client's own API key (kmi_<id>_<secret>), issued by Kamui. A missing, malformed, unknown, revoked or expired key answers 401 unauthorized.
Headers
Your id for this request: 1 to 128 letters, digits, ., _, : or -. It is echoed in the response. Any other value is replaced with a new UUID.
^[A-Za-z0-9._:-]{1,128}$Body
Ethereum address: 0x and 40 hex characters, in lowercase or with a valid EIP-55 checksum. Other mixed case, all-uppercase hex, a 0X prefix and the zero address answer 400.
42^0x[0-9a-fA-F]{40}$Vault slug, matched exactly: lowercase letters, digits and single hyphens (stable-vault). Case and whitespace count, so Stable-Vault and stable-vault answer 400. A legacy slug works; the response carries the canonical one.
1 - 64^[a-z0-9]+(?:-[a-z0-9]+)*$1 - 8 elementsDEPOSIT, DEPOSIT_REQUEST, DEPOSIT_CLAIM, DEPOSIT_CANCEL, REDEEM_REQUEST, REDEEM_CANCEL, WITHDRAW, WITHDRAW_INSTANT 1 <= x <= 100The previous page's nextCursor, unchanged. It is opaque and signed: a changed cursor, or one sent with another address, slug or types, answers 400 invalid_cursor.
1 - 256^[A-Za-z0-9_-]+$