Hubble Bridge
How to Use Hubble Bridge

Withdrawals on Hubble Bridge

This guide will provide a step-by-step process to assist in making a withdraw on the Hubble Bridge.

Withdrawal Inputs

You have made an deposit on the bridge and are now ready to withdraw from the shielded pool. It is important to note to protect and preserve your privacy you should wait some time for subsequent deposits to be made prior to withdrawing your funds. This will ensure that your withdrawal transaction is not linked to your deposit transaction.

You will notice the Withdraw button to be disabled initially. We must provide the details of our transaction before we can withdraw.

withdraw light

1. Select Source Chain

To get started we want to make sure we are connected to the network of the source chain of the shielded assets we're looking to withdraw from. Note that you will be withdrawing to the connected network. In this case, Polygon Mumbai.

select source chain light

2. Select Shielded Pool to Withdraw From

Once we have selected the network we wish to withdraw from we will need to select what token to withdraw from the shielded pool. In this example, it is shown that the user has 1.45webbETH on Polygon Mumbai.

select shielded pool light

Note: The amount displays your availability on the connected network. If you switch network, the amount availability will update accordingly.

3. Select Amount

3.1. Fixed Amount

To maximize privacy, the default state for withdrawal amount is set to fixed amounts, as it is harder for an outside observer to link deposits to withdrawals, as many transactions have the same amount. This technique is often referred to as "denominations" in privacy protocols.

fixed amount light

3.2. Custom Amount

To withdraw a custom amount user will need to toggle the switch component. This will enable arbitrary amount input for withdrawal.

custom amount light

Note: while arbitrary amounts provides flexibility and convenience, it can make it easier for an outside observer to link the withdrawal to the deposit, as unique withdrawal amount could serve as finger print that makes the transaction traceable.

4. Select Withdrawal Token

When we make a deposit on the Hubble bridge the depositing asset is wrapped into a Webb based asset. Thus, during the withdraw process we can either unwrap the asset into a supported underlying asset of the specified shielded pool or we can withdraw the Webb wrapped asset as is (e.g. webbETH).

select token light

Note: in order to unwrap and withdraw the underlying asset there must be sufficient liquidity on the destination chain. Otherwise, you will be required to withdraw the Webb wrapped asset as is or wait for sufficient liquidity on that particular chain. That does not mean you are unable to unwrap and withdraw the underlying asset completely, only that you will need to withdraw the Webb wrapped asset and then perform a separate transaction to unwrap the asset on a destination chain that has sufficient liquidity if you want to withdraw the underlying asset (e.g. ETH).

5. Update Relayer (Optional)

At default state, withdrawal method uses a preselected relayer, as relayers act as intermediaries that broadcast transactions to the network on behalf of users, maximizing privacy.

The bridge has preselected a default relayer for simplicity but also allow users to select their own relayer if they prefer.

select relayer light

We can also use a custom relayers by inputing a custom relayer URL in the search component. Please ensure the custom relayer is compatible with the connected network (the network you intend to transact on) for the system to return search result(s).

custom relayer light
custom relayer no result light

If you are not using a relayer and instead using your wallet as the preferred withdrawal method by enabling No Relayer option, make sure that you have sufficient tokens to pay for gas fee. The anonymity of the withdrawal will be compromised without the usage of a relayer. It is recommended to use a relayer.

no relayer light

Note: please ensure you have sufficient balance in native tokens to pay for gas fees if you are not using a relayer.

6. Input Recipient Wallet Address

To maximize the privacy of your transaction it is recommended to use a new address (clean address) for withdrawal. A "clean address" refers to a new or unused address that has no transaction history associated with it. This means that it cannot be linked to any previous transactions, making it more private.

recipient light

7. Enable Refund + Input Recipient (Optional)

The refund feature enables native tokens be sent to the provided recipient address so that they maintain their privacy and are able to execute subsequent transactions (e.g. pay for gas).

In our ecosystem we call this mechanism a refund, as users select a relayer they will also be given the option to receive native tokens in exchange for the wrapped asset. The relayer will have a configured option indicating the max refund amount of any given supported chain.

refund light

Confirming Withdraw Details

Upon clicking the Withdraw button you will be presented with the details of your transaction. It is important to review these transaction details to ensure they're accurate.

1. Verify Withdraw Details

Review the transaction details of the withdrawal. Pay close attention to the recipient address you have provided and ensure its accuracy.

confirm light

2. Confirm Change Note is Copied

Within the withdraw in-progress view, you will need to confirm that you have copied the change note. A change note is a new note generated from your remaining balance. The change note should be kept in confidence as anyone who gains access to the note will be able to withdraw your funds from the bridge. Your notes are stored locally as you transact through this application as well as encrypted on-chain for persistent storage.

confirmed light

3. Withdrawal In-Progress

Before the withdraw transaction can be completed we transition through the following stages:

  • Fetching transaction leaves
  • Generate zero knowledge proof
  • Send transaction to recipient address

You may observe the progress of each stage within the withdraw in-progress view. If you would like to proceed with an additional transaction you can click New Transaction and begin on your next transaction. The Hubble dApp conveniently keeps a notification card with transaction details and progress on the right side to keep you informed when the transaction is successful.

in progress light

4. Successful Withdraw

When the withdraw transaction is completed you can observe a successful confetti filled message in the notification card! If you want to see the transaction in a block explorer, click on the Successfully Withdraw link within the notification card.

success light