Deposit
Returns an unsigned transaction that moves tokens from the caller's public balance into their Hinkal shielded balance.
EVM / Tron: Returns an unsigned txData object (EVM TransactionRequest shape or Tron transaction object). Authorized by a normal mode session (secp256k1 request signature via x-hinkal-request-signature header) or an EIP-712 mode session with a per-transaction EIP-712 typed-data signature (primary type Deposit).
Solana: Returns txData as a base64-encoded serialized transaction for the client to sign and broadcast. Only one token is supported per Solana deposit. Authorized by a normal mode session (secp256k1 request signature) or a per-transaction ed25519 plain-text signature.
Normal mode: include sessionId and nonce in the body; add x-hinkal-request-signature: secp256k1_sign(SHA256("POST /deposit\n" + JSON.stringify(body))) header.
EIP-712 mode: include sessionId, nonce, and signature in the body.
Required for normal mode sessions: hex-encoded compact secp256k1 signature secp256k1_sign(SHA256(binding + "\n" + JSON.stringify(body))), where binding is "POST <routePath>" for this endpoint. Omit for EIP-712 mode sessions — include signature in the request body instead. See Authentication for the full signing scheme.
Session identifier from POST /create-session
Per-request UUID. Echoed back in the response.
EIP-712 or ed25519 signature (EIP-712 mode only; omit for normal mode)
One or more token addresses. Solana supports exactly one token per deposit.
Amounts in smallest units, index-aligned with tokenAddresses
Unsigned deposit transaction.
- EVM/Tron:
txDatais an EVM TransactionRequest or Tron transaction object. - Solana:
txDatais a base64-encoded serialized transaction.
Validation error
Invalid signature or reused nonce
Request nonce already consumed. Each nonce is single-use; generate a fresh UUID for every request.
Server error
POST /deposit HTTP/1.1
Host: api.hinkal.io
Content-Type: application/json
Accept: */*
Content-Length: 198
{
"sessionId": "ffd74231-0672-48c7-bd82-9f72a803578b",
"nonce": "61b1b133-7ff6-4503-aa3a-10411ac95814",
"chainId": 10,
"tokenAddresses": [
"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85"
],
"amounts": [
"1000000"
]
}{
"success": true,
"txData": {
"type": 2,
"to": "0x8242dC4a85e1B5Ca5C54F1B37e1b4Ba649e19AB5",
"gasLimit": "180000",
"maxFeePerGas": "2000000000",
"maxPriorityFeePerGas": "1000000000",
"data": "0xa9059cbb000000000000000000000000742d35cc6634c0532925a3b844bc454e4438f44e00000000000000000000000000000000000000000000000000000000000f4240",
"value": "0",
"chainId": 10
},
"nonce": "61b1b133-7ff6-4503-aa3a-10411ac95814"
}Last updated