Skip to main content
The Confidential Bridge is a single-intent cross-chain transfer. The user publishes an offer on the source chain (token pair, amount, reward, destination chain) and an encrypted recipient bundle off-chain. Solvers see batched offers in plaintext to decide what to fill; only the winning solver decrypts the recipient info and delivers to fresh stealth addresses on the destination.
Live on testnet. Mainnet coming soon.

Where it fits

  • A wallet adding “private receive” as a primary action
  • A treasury moving funds between chains without leaking the counterparty
  • A user paying someone without exposing the relationship on-chain

What’s confidential

On-chain (source)Solver batch broadcast (pre-bid)Post-bid (to winning solver)
Sender address✓ (calls createIntent)
Token pair, amount, reward✓ (batched with others)
Destination chain
Recipient addressEncrypted blob only (relayer key)✓ (re-encrypted to solver)
Per-intent amountAggregated across batch
Sender ↔ recipient linkageSolver sees both, but only for intents they won
Settlement on destinationFresh stealth address
The sender’s on-chain action on the source chain is visible. The recipient and the linkage between sender and recipient are not derivable from public data. See privacy guarantees for the full threat model.

Integration shape (two-step flow)

Today, submission is two steps: createIntent on source chain, plus POST /store-recipients on the relayer. See the bridge guide for the full code path. Planned SDK call:
const { intentId } = await tachyon.intent.submit({
  sourceChain: "base_mainnet",
  destChain:   "horizen_mainnet",
  tokenIn:  USDC_BASE,
  tokenOut: USDC_HORIZEN,
  amountIn:     1_000_000_000n,
  minAmountOut:   999_000_000n,
  reward:          50_000_000n,
  deadline: Math.floor(Date.now() / 1000) + 600,
  recipients: [{ address: "0xRecipient...", amount: 999_000_000n }],
}, wallet);
The SDK packages both halves, the public on-chain call and the encrypted recipient bundle, into a single call.

Settlement timing

Solvers fill on the destination chain immediately after bid win. Typical settlement is well under a minute end-to-end on directly supported chains. If your user’s source chain isn’t directly supported, an additional public hop (via Near Intents or Relay) precedes the confidential leg, the hop is public, but the final delivery is always private.

Use the hosted UI

If you don’t want to integrate yet, the hosted Tachyon app supports the bridge end-to-end:

Open the hosted bridge

Connect a wallet and send a confidential transfer without writing code.

Try it

Bridge integration guide

Step-by-step integration on testnet, using the real createIntent + /store-recipients flow.