A crypto fund can keep its positions and flows private on-chain by holding its assets in a private balance and trading, settling and paying from there. With Hinkal, the fund keeps its own wallet, observers see deposits into the Hinkal contract, and its positions and counterparties stay off the public record. Every deposit is screened against Chainalysis, and viewing keys keep the books auditable.
A fund wallet on a public chain is a live record of the book. The desk that receives one settlement can look up the address and read everything else.
Every token the fund holds, and how much, updated block by block.
Each swap shows what the fund bought or sold, when, and at what size.
Transfers show which exchanges, OTC desks and wallets the fund settles with, and how often.
Subscriptions and redemptions show when capital arrives and leaves, so AUM changes can be read from the chain.
Large transfers between desks, counterparties and internal wallets broadcast inventory movements, AUM changes and trading intent. For the same pattern in corporate wallets, see The On-Chain Treasury Exposure Report.
Institutions already keep much of their execution off public order books. Settlement still lands on-chain, more and more in stablecoins, and that is where the book becomes readable again.
Source: Finery Markets, Crypto OTC Trading Report 2026. In the first half of 2026, crypto OTC volume grew 76% year on year while centralized exchange volume fell 38%, according to Finery Markets' Stablecoins 2035 report.
Once an address is known to belong to a fund, its activity becomes a signal for other traders.
A wallet that buys early or rebalances on a schedule gets followed. Other traders mirror its entries and crowd into the same positions while the fund is still building them.
A transfer from the fund to an exchange or OTC desk shows that a trade is coming. Traders who see it can move first, and the fund pays for it in worse prices.
Rotating to fresh wallets helps for a while. Each new address still has to be funded, and funding transfers, exchange deposit addresses and timing tie it back to the fund. As a historical baseline, a 2020 study by Friedhelm Victor of TU Berlin used public heuristics such as exchange deposit-address reuse to cluster 17.9% of active Ethereum externally owned accounts into multi-address entities (Financial Cryptography 2020).
OTC desks and market makers see the same problem from the other side of the trade. Read how counterparties reverse-engineer an OTC desk's book and Best Privacy Solutions for Crypto Market Makers.
Hinkal is a smart contract on the public chains the fund already uses. It adds a private balance controlled by the fund's existing wallet keys. The fund trades and settles from that balance, and its public wallet is never tied to private inflows or outflows.
The fund wallet deposits assets into the Hinkal contract. Chainalysis screens the deposit first, and it gets a depositId linked to the depositing address. After shielding, the same wallet controls the balance, but it does not show as a public balance.
To enter or exit a position, the fund swaps from its private balance. A relayer submits the proof to the Hinkal contract, which routes the trade through LI.FI on EVM chains or OKX on Solana. Observers see a trade by an address not linked to the fund, and the output returns to the private balance.
Private-to-private transfers keep sender, recipient and amount off the public ledger. When a counterparty needs funds at a public address, the recipient is visible, while the fund as sender and its history stay private.
On-chain, only commitments, nullifiers and Merkle roots appear. The fund can withdraw to its own wallet or any public address when it needs to, for an exchange deposit or a process that reads a public balance. More on the swap flow: Private Swaps: The Crypto Privacy Risks They Remove.
What a private swap leaves in place: the trade still executes against public DEX liquidity, so the swap itself is visible as a trade. What goes away is its link to the fund and its history. Each proof is bound to its exact transaction details, including the relayer, by a calldata hash, so those details cannot be altered in flight.
Confidential, not anonymous. Trading counterparties lose sight of the fund's book. Its auditors and regulators can still see it.
Every deposit is screened against Chainalysis before it enters the private balance. Each deposit gets a depositId, permanently linked to the wallet that made it.
To transfer privately or withdraw, the fund proves in zero knowledge that its funds are not tied to a sanctioned or high-risk depositId. The proof runs against Chainalysis data as it stands now.
If a depositor address is flagged later, its funds lose access to private transfers and can only be withdrawn publicly, back to the original address.
Share full transaction history, or a set of transactions or a time range, with an auditor, regulator or counterparty.
Export a complete record of the fund's own activity when it is needed. In Hinkal Prime, batch payouts are recorded per recipient, so reconciliation works row by row.
Screening covers wallet addresses, not identity, and needs no personal information. Every deposit stays linked to the address that made it. See how Hinkal compliance works and Security at Hinkal.
Treasury and payouts on private balances, with roles, approvals and compliance controls. The Owner connects the fund wallet and signs every payout, shield and unshield. Members prepare payouts without holding keys. Batch payouts run from a CSV of up to 500 rows with one signature, and each recipient gets confidential or direct delivery. On single direct payouts from the wallet balance, a delivery window means settlement time is not tied to approval time.
A REST API whose server runs inside a secure enclave. Private deposits, withdrawals, transfers and swaps are callable from the fund's or a platform's own backend. The caller keeps its own wallet. The enclave holds only the shielded key that operates the privacy layer.
For OTC desks, treasury systems and other platforms. Private balances, sends, swaps and cross-chain flows run inside the platform's own product, with selective disclosure for compliance. Available for TypeScript, React Native, Go, iOS and Android.
Teams trading from one wallet can swap privately from a private balance in Hinkal Pay, and fund trading accounts or exchange deposit addresses with randomized delivery timing.
Prime runs treasury and payouts. Private swaps run through the API, the SDK or Hinkal Pay. Hinkal is live on Ethereum, Arbitrum, Polygon, Base, BNB Chain, Tempo, Robinhood, Arc, Solana and TRON. See Hinkal Prime and Hinkal API and SDK. For a wider survey of options, read Best ZK Privacy Tools for Crypto Hedge Funds.
Four ways a fund can run on-chain today, and what each one gives up.
Privacy Pools details come from its documentation and terms of use. For the two compliance models side by side, read Association Sets vs Selective Disclosure.
Hold the assets in a private balance and trade, settle and pay from it. With Hinkal, the fund deposits into the Hinkal contract from its own wallet after Chainalysis screening. From there, its balances, swaps and transfers do not show against its address, and viewing keys give the auditor the full record.
Yes. A viewing key shares full transaction history, or a set of transactions or a time range, with an auditor, regulator or counterparty. The full history can also be downloaded. Counterparties without a key see deposits into the Hinkal contract and nothing tied to the fund.
Privacy Pools, run by 0xbow, hides which deposit a withdrawal came from and uses an association set to approve deposits. It has three operations, deposit, withdraw and ragequit, and deposit and withdrawal amounts are public. Hinkal gives the fund a private balance it can hold, swap and transfer from, with Chainalysis screening, viewing keys and downloadable history.
No. The fund's existing wallet controls the private balance, and Hinkal never holds that wallet's keys. In Hinkal Prime, only the Owner with the fund wallet connected can sign. Through the API, the enclave holds only the shielded key that operates the privacy layer, never the caller's wallet key.
Moving funds into a private balance is free. In Hinkal Pay and Hinkal Prime, sends, swaps and withdrawals carry a 25 bps Hinkal fee, and Prime batches are charged per recipient. Through the API, the Hinkal fee is 10 bps. Network gas and relaying costs are separate.
We can walk through how your treasury, trading and settlement would run from a private balance, and what your auditor would receive.
Book a demo