Skip to main content
The Portal app and its contracts run on Testnet: Whitechain Sepolia (chain ID 1874), Ethereum Sepolia, and Tron Nile. The app runs at bridge.testnet.whitechain.io. Mainnet routes and addresses are published at Mainnet launch.

Overview

This page walks through one Portal transfer in the app, screen by screen. Open bridge.testnet.whitechain.io to follow along. For the trust model, routes, fees, limits, and contract addresses, see Portal bridge. Every route runs both ways. The screens below follow WBT from Whitechain to Ethereum. The reverse direction differs in two places, both called out below. Fees are denominated in the source network’s token, and a token route asks for an approval before the transfer. The app is a browser page that your own wallet signs for. It never holds your keys or your funds, and it never asks for them. The bridge itself is a different matter: while a transfer is in flight, your funds sit in Portal contracts that Whitechain controls. See Custody and the alternative path.

Before you start

The bridge form

The form is explorable before you connect anything. You can pick networks and a token, and read the estimate line, while only the submit button stays gated.
Portal bridge form with From set to WBT on Whitechain Testnet, To set to Ethereum Sepolia, an estimate line showing ETA, bridge fee and gas, a Send to a different address checkbox, and a Connect wallet button

The bridge form with a source network, a destination network, and the estimate line

Choose the asset and the network

Both rows carry an asset chip, and selecting one opens a two-step picker. The first step is the asset.
Select send asset dialog with a search field and an All networks filter, listing USDC, WBT WhiteBIT Token, ETH Ethereum, and USDT Tether USD, each row showing icons for the networks that asset reaches

Each asset row shows the networks it reaches, and the filter narrows the list to one network

Read the icons on the right of each row before you pick. They are the networks that asset reaches, so they tell you which routes exist for it without trial and error. Search filters by name, and All networks narrows the list to a single network. The second step is the network, and it offers only the networks the chosen asset supports. The back arrow returns to the asset list.
Select network dialog with a back arrow and a search field, listing Ethereum Sepolia with the symbol ETH and Whitechain Testnet with the symbol WBT

The network step lists only the networks the chosen asset supports

An asset that the Portal does not carry in the direction you want is not selectable, so a route you cannot build never reaches the point of a failed transaction.
The picker lists ETH, and the route behind it holds WETH on Ethereum. You supply native ETH and the app wraps it for the transfer, so you never have to obtain WETH yourself. On Whitechain the arriving ETH is a bridged ERC-20 that you add by contract address like any other bridged token, and it cannot pay gas. See Supported routes and assets.

Connect a wallet

Select Connect wallet. The dialog has a search field, marks a detected wallet as Installed, and scrolls through the full list.
Connect a wallet dialog with a search field and entries for MetaMask marked Installed, WalletConnect, Trust, Phantom, and OKX Wallet, above a link to the Whitechain Bridge Terms of Use

The top of the list, with MetaMask detected in this browser

The scrolled connect dialog listing OKX Wallet, Coinbase Wallet, Bitget Wallet, Rabby, and WhiteWallet marked Coming soon

The rest of the list, ending with WhiteWallet marked Coming soon

An EVM wallet outside the named set still connects through WalletConnect v2, so the list is a support commitment rather than a whitelist that blocks other wallets. Phantom connects in EVM mode only: no Solana account, network, or route appears anywhere in the flow. A wallet that is not installed shows an install action instead of a connect attempt that fails.

Tron routes need a Tron wallet

Tron routes connect through the TronLink or OKX wallet adapters. A Tron route requires the Tron wallet, and the app never asks an EVM wallet to sign a Tron transaction, or the reverse.
Connect a Tron wallet dialog showing TronLink is not detected in this browser and OKX Wallet is not detected in this browser, each with an Install link

The Tron dialog offers an install action for a wallet it cannot detect

Switch to the source network

Your wallet has to be on the network you are sending from. When it is not, the submit button becomes a switch action naming the network you need, and no transfer can be submitted until you take it.
Portal bridge form with a connected wallet on Sepolia, a WBT balance shown under the From field, and the submit button reading Switch to Whitechain Testnet

The wallet is on Ethereum Sepolia while the transfer starts on Whitechain Sepolia, so the button offers the switch

Enter an amount

Type an amount, or select Max. Once there is an amount, the estimate line prices the transfer.
Portal bridge form with 1 WBT entered, the wallet balance and a Max action under the From field, and an estimate line showing the ETA, a bridge fee in WBT, and gas in WBT

With an amount entered, the estimate line shows the bridge fee and the gas separately

Max resolves to the largest amount you can actually send, which is the tightest of your balance, the remaining daily limit, and the liquidity available on the destination network. The estimate line separates two costs that are easy to confuse. Both are denominated in the native token of the network you are sending from, so they read in WBT leaving Whitechain and in ETH leaving Ethereum. For how the WBT figure is derived, see Fees and limits. If the amount breaks a rule, the form says which one: below the minimum, above your balance, above the remaining daily limit, or above the destination liquidity. Each case names the cause and what to do next, so a rejected amount never reaches your wallet.

Send to a different address

Select Send to a different address to enter a recipient other than the connected wallet. Leave it clear and the funds arrive at the address you connected with.
Portal bridge form with the Send to a different address checkbox selected, an input labelled Enter Ethereum Sepolia wallet address, and a hint reading Funds will arrive at your connected address

The recipient field validates the address against the destination network

The address is checked against the destination network, so a Tron address entered for an EVM destination is rejected with a specific message rather than accepted. A custom recipient asks you to confirm a second time, because the transfer cannot be reversed once it is signed.

Review and confirm

With the wallet on the right network and a valid amount, the submit button becomes Bridge.
Portal bridge form with the wallet on Whitechain Testnet, 1 WBT entered, and an active Bridge button

On the source network with a valid amount, the form is ready to submit

Selecting Bridge opens the review, which is the last screen before any signature.
Review bridge dialog listing amount, route, source network and address, destination network and full recipient address, estimated time, total maximum fee, the amount received, and the bridge contract address, above a Confirm in wallet button

The review screen states every value, including the bridge contract you are about to call

Select Confirm in wallet, then confirm in your wallet.

Token routes ask for two signatures

How many signatures you give depends on what you are sending. The native token of the source network takes one, the transfer itself, which is the case for WBT leaving Whitechain, because WBT is the gas token there. A token contract takes two, first an approval and then the transfer, which is the case for the same WBT leaving Ethereum, where it is an ERC-20. The review screen tells you which one you are in for before you sign anything.
Review bridge dialog for a transfer from Ethereum Sepolia to Whitechain Testnet with the total fee shown in ETH, and a note reading that your wallet will first ask for a one-time approval of exactly this amount and then for the transfer itself

Leaving Ethereum, the review screen says two signatures follow

The app requests an approval for the exact transfer amount, never an unlimited allowance. The tracker then waits on that first signature before it asks for the second, so a transfer sitting at Waiting for the approval to confirm needs you to act in your wallet.
Portal transfer tracker for 1 WBT from Ethereum Sepolia to Whitechain Testnet, showing Submitting on Ethereum Sepolia with the status Waiting for the approval to confirm

The tracker waits for the approval before it requests the transfer

On a token route the Details menu carries a Review token approvals link as well, so you can check what you have granted.
Verify the bridge contract address on the review screen against Contract addresses before you sign. A transfer sent to the wrong contract cannot be recovered.

Track the transfer

After you sign, the app shows a live tracker. You can close the tab: the transfer continues, and you can reopen it from Activity. The tracker moves through three stages, then marks the transfer complete. The screens below show them in order.
Portal transfer tracker with Submitting and Confirming marked Done, Delivering to Ethereum Sepolia in progress, and an open Details menu offering View origin transaction and Watch Ethereum Sepolia for the arrival

The Details menu links the origin transaction and the destination network while the transfer is in flight

Details links the source transaction and the destination network in a block explorer, so you can follow the transfer outside the app. The app labels a transfer that runs past its expected time as delayed rather than failed, and offers the support path. Nothing is lost while it is delayed.
Portal transfer screen showing 1 WBT from Whitechain Testnet to Ethereum Sepolia marked Completed, with View statuses, Support, and New Bridge actions

A finished transfer is marked Completed

Select View statuses to expand the full stage list on a finished transfer.
Portal transfer screen with Submitting on Whitechain Testnet, Confirming on Whitechain Testnet, and Sending on Ethereum Sepolia all marked Done, and the transfer marked Completed

The expanded stage list on a completed transfer

A bridged token does not appear in your wallet on its own. Add the destination token by its contract address, from Token addresses.

When a transfer fails

A stage that fails is marked Failed, and a banner names the network it failed on. The stages before it keep their state, so you can see how far the transfer got.
Portal transfer tracker showing Submitting on Ethereum Sepolia marked Done, Confirming on Ethereum Sepolia marked Failed, a banner reading that the transfer transaction failed on Ethereum Sepolia and to check your wallet activity before retrying, and Support, Try again, and New Bridge actions

A failed source transaction, with the retry and support actions

A source transaction that fails moves no tokens, so the amount stays in your wallet. The source network still charges gas for the attempt. A slow-mining transaction is never reported as a failed transfer. So Failed means the transaction itself failed, not that it was taking a long time. A transfer that is merely slow stays in progress and is labelled as delayed.

Find a past transfer

Activity in the header lists the transfers of the connected wallet, with the amount, the direction, the date, and the status. Filters narrow the list, and every row opens the same tracker as the live transfer.
Portal Activity screen with filters for All, In progress, Action needed, and Completed, above three rows of 1 WBT transfers marked Completed, two from Whitechain Testnet to Ethereum Sepolia and one from Ethereum Sepolia to Whitechain Testnet

Activity lists the connected wallet's transfers in both directions, with status filters

A transfer keeps its own address, so the link survives a reload, a wallet disconnect, and a new browser session. Action needed collects the transfers that are waiting on you.

Manage connected wallets

The wallet button in the header opens a popover listing what is connected. It copies the address, disconnects the wallet, and adds a second one, which is what a Tron route needs alongside an EVM wallet.
Portal wallet manager popover showing one connected wallet with a copy action and a disconnect action, above an Add wallet button

The header popover manages the connected wallets

Custody and the alternative path

The transfer is not trustless, and the app states that on the form and again on the review screen. Your funds sit in the Portal’s Bridge contract on the source network until the relayer releases the matching amount from the Bridge contract on the destination network. No balance moves into a Whitechain wallet. What makes the transfer custodial is control rather than location: Whitechain administers both contracts and authorizes every release, so you depend on the operator instead of a protocol guarantee. Two separate facts are easy to merge into one. The app never holds your keys, because your own wallet signs every transaction. The Bridge contracts hold your funds in transit, and Whitechain decides when they leave. The first fact does not soften the second, and speed is what the second one buys. The OP Stack canonical contracts carry a second path between Ethereum and Whitechain, and it is available programmatically rather than through this app. That path replaces the operator with an on-chain dispute game, which only Whitechain’s configured challenger can play today. See Fault proofs for what the game currently guarantees, and OP Stack canonical bridge for how to use it. It is the slower path: a withdrawal waits out the dispute period.