How can a crypto fund keep its positions and flows private on-chain?

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.

What a public fund wallet shows

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.

Positions

Every token the fund holds, and how much, updated block by block.

Entries and exits

Each swap shows what the fund bought or sold, when, and at what size.

Counterparties

Transfers show which exchanges, OTC desks and wallets the fund settles with, and how often.

LP flows

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.

Surveyed institutions that name OTC their first-choice execution venue
40%
Stablecoin share of institutional OTC volume in 2025, up from 23% in 2023
78%

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.

How visible flows get copied and front-run

Once an address is known to belong to a fund, its activity becomes a signal for other traders.

Copy trading

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.

Front-running

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.

How Hinkal keeps fund positions and flows confidential

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.

1

Shield into a private balance

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.

2

Swap privately

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.

3

Settle privately

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.

Book a demo

Compliance stays intact

Confidential, not anonymous. Trading counterparties lose sight of the fund's book. Its auditors and regulators can still see it.

1

Screened at entry

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.

2

Checked on every move

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.

3

Re-screened after deposit

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.

Viewing keys

Share full transaction history, or a set of transactions or a time range, with an auditor, regulator or counterparty.

Downloadable history

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.

Which Hinkal product fits a fund

Hinkal Prime, for fund operations

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.

Hinkal API, for trading systems

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.

Hinkal SDK, for platforms that serve funds

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.

Hinkal Pay, for small teams

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.

Public wallet, fresh wallets, Privacy Pools or Hinkal

Four ways a fund can run on-chain today, and what each one gives up.

Approach
What others can see
Compliance and audit
Operational cost
Public wallet
Everything: balances, every entry and exit, each counterparty and every LP inflow or redemption, tied to one address in real time.
Fully auditable from the chain. The same record is open to every counterparty and trader watching the address.
No added tooling or fees. The cost is exposure: trades that can be copied and transfers that signal intent.
Rotating fresh wallets
A new address hides history only until it is funded. Funding transfers, exchange deposits and timing link it back to the fund.
History is split across many addresses. The fund rebuilds one record for its auditor, address by address.
High and manual: more keys to secure, gas for every hop, and reconciliation across wallets.
Privacy Pools
The deposit from the fund's address and its amount are public, and so is each withdrawal amount and recipient. The pool hides which deposit a withdrawal came from.
0xbow runs due diligence on the depositing address at each deposit. Withdrawals prove inclusion in an approved association set, and excluded deposits can only exit publicly (ragequit).
Its operations are deposit, withdraw and ragequit. To trade or settle, funds exit to a public address and the next move starts from there. Deposits carry a vetting fee.
Hinkal
The fund's deposits into the Hinkal contract. After that, balances are not visible, private transfers hide sender, recipient and amount, and private swaps run from an address not linked to the fund.
Chainalysis screening at entry and continuously. Each deposit carries a depositId, and flagged funds can only be withdrawn publicly. Viewing keys and downloadable history for auditors.
Same wallet and chains. Moving funds in is free. Sends, swaps and withdrawals carry a 25 bps Hinkal fee (10 bps through the API) plus gas. Swaps still use public DEX liquidity.

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.

FAQ

How can a crypto fund keep its positions private on-chain?

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.

Can the fund's auditor still see everything?

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.

How is Hinkal different from Privacy Pools?

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.

Does the fund need a new wallet or a custodian?

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.

What does it cost?

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.

See it on your fund's flows

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