FAQ
What is the Hinkal SDK?
The Hinkal SDK enables developers to integrate confidential blockchain transactions into applications without implementing zero-knowledge cryptography themselves.
When should I use the SDK instead of the API?
Use the SDK when building frontend applications, wallets, embedded finance products, or user-facing experiences that require direct wallet interaction.
When should I use the SDK instead of WaaS?
Use the SDK when users control their own wallets. Use WaaS when you need managed wallets and organizational controls.
What can I build with the SDK?
Private payments, payroll systems, treasury tools, settlement platforms, wallets, embedded finance applications, and OTC solutions.
Which chains are supported?
Ethereum, Polygon, Arbitrum, Base, Optimism, Avalanche, Solana, Tron, and supported EVM-compatible networks.
What is the minimum SDK integration flow?
Connect wallet, initialize SDK, create or restore identity, retrieve balances, execute transactions, and track status.
What signer interface is required?
The signer must support message signing and transaction authorization.
Why do I need storeAndGetInitialSignature()?
Some wallet providers generate different signatures for identical messages.
Why did my identity change after reconnecting?
The wallet produced a different signature than the one originally used.
Can identities be backed up?
Identity persistence should be implemented by the integrating application.
How should I persist user sessions?
Store identity-related information securely according to your application's requirements.
Why is my balance empty?
Possible reasons include identity mismatch, unsupported assets, or synchronization delays.
How does balance synchronization work?
The SDK synchronizes balance information with supported networks and services.
Which transaction flows are supported?
Public→Public, Public→Private, Private→Private, and Private→Public.
What is depositAndWithdraw()?
A private send flow that deposits funds and delivers them to recipients.
What is depositAndWithdrawExtended()?
An enhanced version of depositAndWithdraw() that provides additional tracking information.
What is the difference between txHash and scheduledId?
txHash tracks blockchain execution while scheduledId tracks the full payout lifecycle.
How are relayer fees calculated?
Relayer fee = a flat fee plus a variable fee: flatFee + (amount × variableRate ÷ 10000), where variableRate is in basis points. The flat fee covers the on-chain gas cost of the transaction, estimated by the relayer (per chain), converted to USD, then priced in the chosen fee token.
Why is my transaction stuck?
Possible causes include network congestion, insufficient funds, pending approvals, or processing delays.
Why is my private send still pending?
The deposit may not have been detected yet or recipient payouts may still be processing.
Last updated