For the complete documentation index, see llms.txt. This page is also available as Markdown.

Deposit For Other

Build a deposit transaction into another user's shielded balance (EVM / Tron)

post

Returns an unsigned EVM or Tron transaction that deposits tokens into a recipient's shielded balance. recipientInfo accepts either the recipient's recipientInfo (from GET /recipient-info) or a plain Ethereum address.

Solana: Use /deposit-solana-for-other instead.

Authorized by a normal mode session (secp256k1 request signature, bound to "POST /deposit-for-other") or an EIP-712 mode session with a per-transaction EIP-712 typed-data signature (primary type DepositForOther).

Header parameters
x-hinkal-request-signaturestringOptional

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.

Body
sessionIdstring · uuidRequired
noncestring · uuidRequired
signaturestringOptional

EIP-712 signature (EIP-712 mode only)

chainIdintegerRequired
tokenAddressesstring[]Required
amountsstring[]Required
recipientInfostringRequired

Recipient's recipientInfo from GET /recipient-info, or a plain Ethereum address

Responses
200

Unsigned deposit transaction

application/json
post/deposit-for-other
POST /deposit-for-other HTTP/1.1
Host: api.hinkal.io
Content-Type: application/json
Accept: */*
Content-Length: 282

{
  "sessionId": "ffd74231-0672-48c7-bd82-9f72a803578b",
  "nonce": "bdff2ea1-0245-405b-9cdf-39e03c55c25a",
  "chainId": 10,
  "tokenAddresses": [
    "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85"
  ],
  "amounts": [
    "1000000"
  ],
  "recipientInfo": "0x8e4a7f9c2b3d5a1e6f8c4b2d9a7e5f3c1b4d6a8e2f4c6b8a2d4f6c8e1b3d5a7"
}
{
  "success": true,
  "txData": {
    "type": 2,
    "to": "0x8242dC4a85e1B5Ca5C54F1B37e1b4Ba649e19AB5",
    "gasLimit": "200000",
    "maxFeePerGas": "2000000000",
    "maxPriorityFeePerGas": "1000000000",
    "data": "0x...",
    "value": "0",
    "chainId": 10
  },
  "nonce": "bdff2ea1-0245-405b-9cdf-39e03c55c25a"
}

Build a Solana deposit transaction into another user's shielded balance

post

Solana-specific equivalent of /deposit-for-other. Returns a base64-encoded serialized Solana transaction that deposits tokens into a recipient's shielded balance. recipientInfo accepts either the recipient's recipientInfo (from GET /recipient-info) or a plain Solana address.

The body uses tokenAddresses[] and amounts[] arrays (only the first element of each is used — Solana supports one token per deposit). Authorized by a normal mode session (secp256k1 request signature, bound to "POST /deposit-solana-for-other") or an EIP-712 mode session with a per-transaction ed25519 plain-text signature.

Header parameters
x-hinkal-request-signaturestringOptional

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.

Body
sessionIdstring · uuidRequired
noncestring · uuidRequired
signaturestringOptional

ed25519 signature (EIP-712 mode only)

chainIdintegerRequired

Must be 501 (Solana mainnet)

Example: 501
tokenAddressesstring[]Required

Array with exactly one Solana token mint address

Example: ["EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"]
amountsstring[]Required

Array with exactly one amount in smallest units

Example: ["1000"]
recipientInfostringRequired

Recipient's recipientInfo from GET /recipient-info, or a plain Solana address

Responses
200

Base64-encoded unsigned Solana transaction

application/json
post/deposit-solana-for-other
POST /deposit-solana-for-other HTTP/1.1
Host: api.hinkal.io
Content-Type: application/json
Accept: */*
Content-Length: 281

{
  "sessionId": "ffd74231-0672-48c7-bd82-9f72a803578b",
  "nonce": "f843e47e-1396-435f-bdc4-c928695dd19b",
  "chainId": 501,
  "tokenAddresses": [
    "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
  ],
  "amounts": [
    "1000"
  ],
  "recipientInfo": "3f9a2b5c7e1d4f8a6c2b4e8f1d5b7c9a3e5f7b1d9c2a4f6e8b1c3d5a7f9e2b4c"
}
{
  "success": true,
  "txData": "AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAQAHCx...",
  "nonce": "f843e47e-1396-435f-bdc4-c928695dd19b"
}

Last updated