Balance
Read-only — requires an active session. Pass sessionId and nonce as query parameters and include x-hinkal-request-signature: secp256k1_sign(SHA256("GET /balance\n" + queryString)) in the headers. Works for EVM, Tron, and Solana chains.
Session identifier UUID from POST /create-session
ffd74231-0672-48c7-bd82-9f72a803578bPer-request UUID. Echoed back in the response.
14e199c7-8bb2-474f-ae26-3748a720d58bChain ID (e.g. 10 for Optimism, 501 for Solana mainnet, 728126428 for Tron mainnet)
10Hex-encoded compact secp256k1 signature: secp256k1_sign(SHA256(binding + "\n" + payload)), where binding is "<METHOD> <routePath>" (this route's own method and path, e.g. "POST /refresh-cache" or "GET /balance") and payload is JSON.stringify(body) for POST requests or the raw query string for GET requests. Binding the route into the signed digest stops a signature captured for one endpoint from being replayed against another. See Authentication for the full signing scheme.
Shielded balances
Invalid signature or reused nonce
Server error
GET /balance?sessionId=ffd74231-0672-48c7-bd82-9f72a803578b&nonce=14e199c7-8bb2-474f-ae26-3748a720d58b&chainId=10 HTTP/1.1
Host: api.hinkal.io
x-hinkal-request-signature: text
Accept: */*
{
"success": true,
"balances": [
{
"chainId": 10,
"tokenAddress": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",
"balance": "5000000"
},
{
"chainId": 10,
"tokenAddress": "0x94b008aA00579c1307b0EF2c499aD98a8ce58e58",
"balance": "2000000"
}
],
"nonce": "14e199c7-8bb2-474f-ae26-3748a720d58b"
}Last updated