Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
- Config, docs, scripts, and backup manifests - Submodule refs unchanged (m = modified content in submodules) Made-with: Cursor
42 lines
2.7 KiB
Markdown
42 lines
2.7 KiB
Markdown
# Thirdweb Bridge Tab vs Custom CCIP Bridge – Do You Deploy a Contract?
|
||
|
||
**Short answer:**
|
||
**No.** For the **Thirdweb** bridge tab in the Interoperability Bridge app, you do **not** deploy any contract. That tab embeds Thirdweb’s hosted bridge (iframe to `thirdweb.com/bridge`). Thirdweb runs the bridge contracts and supports a fixed set of chains (85+). You only need a **Thirdweb Client ID** (from the [thirdweb dashboard](https://thirdweb.com/dashboard)) and `VITE_THIRDWEB_CLIENT_ID` in the dapp env.
|
||
|
||
**Custom CCIP bridge (Custom tab):**
|
||
For the **Custom** tab (Wrap → Approve → Bridge WETH9 via CCIP), **you do** use your own deployed contracts on Chain 138 and mainnet: WETH9, WETH9 Bridge (CCIP), and LINK for fees. Those are already configured in `config/bridge.ts` and the Custom tab uses them. No extra “Thirdweb bridge contract” is required for the Thirdweb tab.
|
||
|
||
---
|
||
|
||
## 1. Thirdweb tab (iframe)
|
||
|
||
- **What it is:** The “ThirdWeb” tab loads Thirdweb’s **hosted** bridge UI in an iframe:
|
||
`https://thirdweb.com/bridge?clientId=...&fromChain=138&toChain=...`
|
||
- **Who runs the contracts:** Thirdweb. Their bridge supports a fixed list of chains (85+). Chain 138 may or may not be in that list.
|
||
- **What you need:**
|
||
- A thirdweb project and **Client ID**.
|
||
- `VITE_THIRDWEB_CLIENT_ID` set in the frontend-dapp env (or the fallback in code).
|
||
- **Do you deploy a contract?** **No.** You do not deploy any contract for this tab.
|
||
|
||
If Chain 138 is not supported by Thirdweb’s bridge, the iframe may show an error or “no entry” until Thirdweb adds Chain 138. For Chain 138 → EVM bridging that you control, use the **Custom** tab with your CCIP contracts.
|
||
|
||
---
|
||
|
||
## 2. Custom tab (CCIP)
|
||
|
||
- **What it is:** Your own UI (BridgeButtons, etc.) that talks to your WETH9 and WETH9 Bridge (CCIP) contracts on Chain 138 and LINK on mainnet.
|
||
- **Who runs the contracts:** You (addresses in `config/bridge.ts` / env).
|
||
- **What you need:** Deployed WETH9, WETH9 Bridge, and LINK (and any allowlists) on Chain 138 and mainnet as per your deployment runbooks.
|
||
- **Do you deploy a contract?** **Yes.** This tab uses **your** deployed CCIP/bridge contracts; no Thirdweb bridge contract is involved.
|
||
|
||
---
|
||
|
||
## 3. Summary
|
||
|
||
| Tab | Contract deployment for the bridge? | Who runs bridge contracts? |
|
||
|----------|--------------------------------------|-----------------------------|
|
||
| ThirdWeb | **No** | Thirdweb (hosted) |
|
||
| Custom | **Yes** (WETH9, WETH9 Bridge, LINK) | You (Chain 138 + mainnet) |
|
||
|
||
So: **there is no separate “Thirdweb bridge contract” for you to deploy.** For the Thirdweb tab you only need a Client ID; for the Custom tab you use your existing CCIP bridge deployment.
|