> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tachyon.pe/llms.txt
> Use this file to discover all available pages before exploring further.

# Confidential Bridge

> Move tokens between chains with recipient-side confidentiality. Live on testnet, mainnet imminent.

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.

<Note>
  Live on testnet. Mainnet coming soon.
</Note>

## 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 address          | Encrypted blob only (relayer key) |                                  | ✓ (re-encrypted to solver)                      |
| Per-intent amount          | ✓                                 | Aggregated across batch          | ✓                                               |
| Sender ↔ recipient linkage |                                   |                                  | Solver sees both, but only for intents they won |
| Settlement on destination  | Fresh 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](/concepts/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](/guides/private-bridge) for the full code path.

Planned SDK call:

```ts theme={null}
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](/concepts/supported-chains#reaching-unsupported-source-chains)) 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:

<Card title="Open the hosted bridge" icon="globe" href="https://www.tachyon.pe/bridge">
  Connect a wallet and send a confidential transfer without writing code.
</Card>

## Try it

<Card title="Bridge integration guide" icon="play" href="/guides/private-bridge">
  Step-by-step integration on testnet, using the real `createIntent` + `/store-recipients` flow.
</Card>
