How do OTC desks settle trades without revealing counterparties and size on-chain?

To settle trades without revealing counterparties and size on-chain, OTC desks move the settlement leg into Hinkal, a smart contract on the public chains they already use that keeps the sender, recipient and amount of a private transfer off the public ledger. Settlement still finalizes on-chain, every deposit is screened against Chainalysis, and viewing keys let the desk show its records to an auditor or regulator.

What public settlement shows your counterparties

An OTC trade is negotiated privately. Its settlement is public. Each leg that lands on a public chain is a transfer with a sender, a recipient, an amount and a timestamp, and the first party to read it is the counterparty on the other side.

A client settlement exposes the desk's wallet, and through it the desk's balance and its other clients.

A hedge with a liquidity provider exposes the desk's inventory and which way it leans.

A treasury move between desk wallets exposes how much capital the desk holds and where it sits.

A block settlement exposes the client's size and wallet to every counterparty the desk deals with next.

A counterparty who can read the desk's inventory and client list prices against it in the next negotiation. And more OTC flow settles in stablecoins every year.

Stablecoin share of institutional OTC volume in 2025, up from 23% in 2023
78%
Stablecoin share of total OTC trades, H1 2026
81%
Growth in crypto OTC volume year over year, H1 2026
76%
Institutions that name OTC their first-choice execution venue
40%

Sources: Finery Markets, Crypto OTC Trading Report 2026 and Stablecoins 2035. In the same H1 2026 data, centralized exchange volume fell 38%. Finery Markets also reports that 75% of liquidity providers saw spread capture decline in 2025 versus 2024, so a desk has little margin to hand to a counterparty through its settlement data.

How a counterparty rebuilds a desk's book from settlement data, step by step: Reading the Tape. More figures on B2B and OTC flows are in our stablecoin settlement statistics.

The workarounds desks use today, and what they cost

Desks already work around public settlement. Four methods are common. Each one hides part of the picture and adds cost somewhere else.

Rotating wallets

A fresh address for each settlement. Every new address has to be funded, and the funding transfer points back to the desk's treasury. Each one also has to be shared with the counterparty and checked before it can receive. The amount and timing stay public.

Splitting transfers

One block becomes several smaller transfers. Each tranche pays its own network fee and adds time to settlement. The counterparty still receives the full size, and transfers of similar size from related addresses are easy to add back together.

Internal netting

Offsetting client flows on the desk's own books, so only the net amount moves on-chain. It works only when opposing flows exist at the same time, it adds reconciliation and credit exposure between the parties, and the net amount still settles in public.

Custodial settlement on a venue

Both sides hold funds at the same exchange or custodian and settle by book entry. The trade leaves no on-chain transfer, and the venue sees all of it. Capital sits pre-funded at the venue, both sides carry the venue's custody risk, and every deposit to and withdrawal from the venue is a public transfer.

None of the four keeps the sender, the recipient and the amount private on the same settlement while the desk keeps its own wallets and custody. That is what Hinkal is built for.

Settlement approaches compared

Each approach against the three questions a desk gets asked: what the other side sees, what the auditor sees, and what it costs to run.

Approach
What the counterparty and market see
Compliance and audit trail
Operational cost
Public on-chain settlement
Sender, recipient, amount and time of every leg. From the desk's address, its balance and every other client it settles with.
A complete public trail, readable by auditors and by every counterparty alike. Screening counterparties is up to the desk.
Network fee only. The cost is the information handed over on every trade.
Rotating wallets and split transfers
Amount and timing of each transfer. Funding links and repeated sizes let a counterparty group the addresses back to the desk.
The trail is spread across many addresses, which the desk's own auditors have to piece back together.
Network fees per address and per tranche, address funding and whitelisting, slower settlement, more reconciliation.
Custodial settlement on a venue
No on-chain transfer for the trade itself. The venue sees both sides in full, and deposits and withdrawals to the venue are public.
The venue keeps the records and runs its own checks. The desk depends on the venue for its audit trail.
Capital pre-funded at the venue, custody risk on the venue, venue fees, and settlement limited to clients on the same venue.
Hinkal
An interaction with the Hinkal smart contract. A private transfer shows neither the new owner nor the amount. A recipient at a public address sees a transfer from the Hinkal contract, with no link to the desk's wallet. Top ups and withdrawals to the desk's own wallet show as contract interactions.
Chainalysis screening at entry and continuously, a depositId on every deposit, flagged funds withdrawable only publicly. Viewing keys and downloadable history for auditors and regulators.
Hinkal fee of 10 to 25 bps on most transfers, with top ups free. Same wallets, chains, stablecoins and custody. Integration work only on the API and SDK route.

For a wider look at the tools desks evaluate, see our comparison of confidential OTC settlement tools with audit trails.

How OTC settlement runs with Hinkal

Hinkal is a smart contract on the public chains a desk already uses. It gives the desk's existing wallet a private balance inside the contract. The wallet stays the key: it signs every move, and Hinkal never holds its keys.

Funds enter the private balance through a deposit, screened at entry. Inside, a private transfer is recorded on-chain as old commitments spent and new ones created, without the new owner or the amount. Funds leave as a standard transfer from the Hinkal contract to any public address.

Desks use it three ways: Hinkal Pay for desk-to-client settlement, Hinkal Prime for treasury and batch flows, and the Hinkal API and SDK inside the desk's own platform. The wallets, chains, stablecoins and custody stay the same.

Desk-to-client settlement with Hinkal Pay

For desks that want to settle from a ready app at pay.hinkal.io, with no integration work.

1

The client shares a deposit address

The client opens Receive in Hinkal Pay and copies its Hinkal Deposit Address. It works like a regular wallet address and is linked to the client's private balance.

2

The desk sends privately

The desk connects its existing wallet, chooses Send privately, pastes the address and sends from its wallet balance or its private balance. The send goes through the Hinkal smart contract. From the private balance, no public wallet address links desk and client.

3

The client receives privately

The deposit is screened and moves into the client's private balance automatically. The client connects its own wallet in Hinkal Pay to hold, send or withdraw it, with no new wallet, seed phrase or custodian.

The other leg works the same way. When the client pays the desk, the desk shares its own deposit address, and the client sends from any wallet, exchange or payment provider as a normal transfer, with no Hinkal account.

The summary shows the network fee and the Hinkal fee before the desk confirms. For larger tickets, Randomize timing executes a same-chain, same-token send from the wallet balance at a random moment within 15 minutes to 24 hours, so the moment the desk pressed Send can't be matched to the moment funds land. Recipients paid at a deposit address get their funds right away. One send can pay several recipients, and Bridge & Send delivers a different token or network in one step. More on Hinkal Pay

Treasury and batch flows with Hinkal Prime

For desks that run settlement as a team, with a split between who prepares a payment and who signs it.

1

Set up the organization

The team signs in at prime.hinkal.io with Google. The Owner connects the organization wallet, which holds the public balance, controls the private balance and signs every payout. Members work without a wallet.

2

Shield before the run

The Owner shields funds from the organization wallet into the private balance, so the payouts originate privately.

3

Prepare single or batch payouts

A Member enters a single payout, or uploads a CSV with recipient, amount, token and delivery method, up to 500 rows. Every row is validated before anything is signed.

4

Approve and sign once

The payout waits in Pending Payouts. An Owner reviews every row, approves, and signs once for the whole batch, which settles as one authorized run.

5

Deliver confidentially or directly

With Confidential Settlement, funds are deposited into the Hinkal contract and associated with the recipient's public address, so no transfer arrives at that address on-chain. Direct delivery is a standard transfer. The method is chosen per row.

6

Reconcile per recipient

Transaction History records each batch per recipient, with amount, token, network, source and delivery method, so reconciliation works row by row.

A recipient paid by Confidential Settlement connects that same wallet in Hinkal Pay to see the balance. Incoming legs use Receive: a request link set against the private balance, which the client pays from Hinkal Pay. Nothing arrives at the organization's public address, so incoming settlement volume is not visible on-chain. More on Hinkal Prime

Private settlement inside your platform with the Hinkal API and SDK

For desks that want private settlement as an option inside their own product, so clients settle privately without leaving the desk's interface.

1

Authenticate with the desk's own wallet

The desk signs a session request with its existing EVM, Solana or TRON wallet. No API key is needed to authenticate. Any wallet that produces a standard signer works, including Turnkey, DFNS, Privy, Dynamic and Openfort. The API server runs inside a secure enclave, and the desk keeps its own wallet.

2

Settle with one call

POST /private-send pays one or more recipients in a single order. The desk deposits public tokens, and the enclave detects the deposit and schedules a private withdrawal to each recipient, so the on-chain link between sender and recipients is never visible. POST /deposit-for-other deposits straight into a client's private balance instead.

3

Offer it inside your product

The SDK puts private balances and private sends inside the desk's own app. With a Hinkal Partner key, the desk adds its own fee of 0 to 100 bps on top of Hinkal's 10 bps and tracks volume and commission at partner.hinkal.io.

Private Send Bridge pays recipients in another token or on another chain. The SDK covers TypeScript, React Native, Go, iOS and Android, with no changes to custody, compliance processes or routing logic. More on the Hinkal API and SDK

Book a demo

Compliance: confidential, not anonymous

A desk's settlement stays confidential to counterparties and the market, and stays open to the desk's compliance team, auditors and regulators.

1

Screened at entry

Every deposit is screened against Chainalysis before it enters a private balance. Each deposit gets a depositId, permanently linked to the wallet that made it.

2

Checked on every move

To deposit, transfer privately or withdraw, the user proves in zero knowledge that the funds are not tied to a sanctioned or high-risk depositId. The proof is checked against the current Chainalysis state.

3

Re-screened continuously

Depositor addresses are re-screened as new risk signals emerge. If an address is flagged after deposit, its funds lose access to private transfers and can only be withdrawn publicly, back to the original address.

Viewing keys

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

Downloadable history

Export a complete record of the desk's own activity when an audit or review needs it.

For a desk receiving from many clients, the Hinkal Deposit Address adds a buffer. Funds that fail screening stay public at the deposit address, separate from the private balance, so an unsolicited or high-risk transfer cannot enter it.

Hinkal screens wallet addresses, not people. The desk's own client onboarding and compliance processes stay as they are. See how Hinkal compliance works.

FAQ

How do OTC desks settle trades without revealing counterparties and size on-chain?

They route the settlement leg through Hinkal. The desk sends from a private balance controlled by its existing wallet, the client receives into its own private balance through a Hinkal Deposit Address, and the chain records an interaction with the Hinkal contract without the sender, recipient or amount of the private transfer. Hinkal Pay, Hinkal Prime and the Hinkal API and SDK all run this flow.

Does the client need a Hinkal account or a new wallet?

No. A client paid at a regular address receives a normal transfer, routed through Hinkal so it is not linked to the desk. A client who wants the funds in a private balance shares a Hinkal Deposit Address and connects its existing wallet in Hinkal Pay to use them.

Does Hinkal take custody of settlement funds?

No. The private balance is controlled by the wallet that connects to it, and Hinkal never holds its keys or moves its funds. Through the API, the desk keeps its own wallet and signs every request.

How does a desk's compliance team audit confidential settlements?

With viewing keys, which share full history, specific transactions or a time range with an auditor or regulator, and with downloadable transaction history. In Hinkal Prime, Transaction History records each batch per recipient. Every deposit is screened against Chainalysis at entry and re-screened continuously.

What does confidential settlement cost?

In Hinkal Pay, topping up and sending from the wallet to a Hinkal Deposit Address are free, and other sends, swaps and withdrawals are 25 bps. In Hinkal Prime, public to private sends are free and other sends are 25 bps, charged per recipient in a batch. Through the API, Hinkal's fee is 10 bps plus a flat fee for network and relaying costs, and deposits are free. Network gas is separate.

Which chains does Hinkal support for OTC settlement?

Ethereum, Arbitrum, Polygon, Base, BNB Chain, Tempo, Robinhood Chain, Arc, Solana and TRON. Step-by-step guides cover confidential OTC settlement on Ethereum, Solana and TRON.

Settle your desk's flow privately

Keep your wallets, chains and custody. Take counterparties, size and inventory off the public record, with screening and viewing keys built in. Move money, not metadata.

Book a demo