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

# Custom Bridges

> The LayerZero bridges Derive runs for collaterals with no native Ethereum token.

The Derive exchange settles to Ethereum L1, and most collaterals are native L1 ERC-20s.
Bridge those in and out of any other chain with the bridge of your choice.

Some collaterals have no L1 representation, e.g. HYPE and SOL. For these, the protocol runs
[LayerZero OApp](https://docs.layerzero.network/v2/developers/evm/oapp/overview) bridges. The
Derive app exposes them in its UI. To integrate them programmatically, use the addresses below.

<Note>
  These bridges exist on **mainnet** only. On testnet every collateral is a mintable mock ERC-20 —
  click "deposit" in testnet UX.
</Note>

## How the bridges work

Each bridge is a LayerZero [OFT](https://docs.layerzero.network/v2/concepts/applications/oft-standard)
with Ethereum as the hub:

* **Origin adapter** — escrows the token on its home chain.
* **Ethereum OFT** — minted against that escrow. This is the L1 token the exchange holds as collateral.

To bridge in, call `send` on the origin adapter with `dstEid` set to Ethereum's `30101`. To
bridge out, call `send` on the Ethereum OFT with the origin chain's EID. Quote the fee with
`quoteSend` first. See LayerZero's [OFT quickstart](https://docs.layerzero.network/v2/developers/evm/oft/quickstart)
for the `SendParam` fields.

Every bridge uses 6 shared decimals. `send` moves only whole multiples of 10⁻⁶ tokens, and any
finer remainder stays with the sender.

Once the tokens are on Ethereum, deposit them like any other collateral. See
[Programmatic Onboarding](/getting-started/depositing).

## EVM bridges

| Currency | Origin chain | Origin EID | Origin token | Origin adapter | Ethereum OFT |
| - | - | - | - | - | - |
| `CBBTC_B` | Base (`8453`) | `30184` | `0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf` | `0x0eCA5fA53b2951F78E916C9B29F45C8D909F1cb2` | `0x2e3023ca882Ee359EBfa69b740bE318dF1B5cD7c` |
| `FXRP` | Flare (`14`) | `30295` | `0xAd552A648C74D49E10027AB8a618A3ad4901c5bE` | `0x8F8c29B0271D4c60435DaF148df4a84edcB21c98` | `0x13FD17b60735Be034b874E31Ef4aeD2cd613c9F9` |
| `HYPE` | HyperEVM (`999`) | `30367` | Native HYPE | `0x1E0470Ef72d029Bdc87D3B8543Fb62fc04db9670` | `0x0762365e088Fb8D285b295d782BB7b23690713e2` |

* The `HYPE` adapter escrows native HYPE, so there is no ERC-20 to approve.
* `CBBTC_B` is cbBTC bridged from Base. It is a separate collateral from `CBBTC`, which is
  cbBTC's native Ethereum token.

## Solana bridges

Both Solana bridges run under the OFT program `46KaqgEC2gkZPQaZF1x71z8G2SiAGyezZ5aTu1dr4tYf`.
Solana's EID is `30168`. See LayerZero's [Solana OFT docs](https://docs.layerzero.network/v2/developers/solana/oft/overview).

| Currency | Origin mint | OFT store | Token escrow | Ethereum OFT |
| - | - | - | - | - |
| `SOL` | `So11111111111111111111111111111111111111112` | `9iPYJoMdWyQsYw5xB2v5heqPNZL2w13xUecaMeRpxRZJ` | `HUGSCrLAuvHF5TTGiq4eAsPqLqerpZcVSJzQHtcwrtFQ` | `0xb5EaD284CD00fD0EB37E84327a4ee781172A07D6` |
| `JITOSOL` | `J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn` | `9aeaRHgETzGgd4c7i13eMte5ZMMceRi1n2Veegk3ZEJF` | `Hfv2kYo8qUJLJnJJdEg11VWP66tRHPh3CCwscFgXpXjr` | `0xc2908Db337AA16fB22b01bd4e8fF91460b23fF4B` |

`SOL` bridges wrapped SOL (the `So111…112` mint), so wrap native SOL before sending.


## Related topics

- [Programmatic Onboarding](/getting-started/depositing.md)
- [private/register_bridge_deposit](/api-reference/onchain-actions/privateregister_bridge_deposit.md)
- [public/get_pending_deposits](/api-reference/onchain-actions/publicget_pending_deposits.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.