Withdraw a Status predeposit
Use this guide to reclaim a Status predeposit through Etherscan. The reclaim transaction runs on Ethereum and returns GenericUnit, which you can redeem for a stablecoin.
Check the Status withdrawal values
Use these exact Ethereum values throughout the reclaim:
| Value | Use |
|---|---|
| BridgeCoordinatorL1 | 0x0503F2C5A1a4b72450c6Cfa790F2097CF5cB6a01 |
Status chainNickname | 0xa4fdc657c7ba2402ba336e88c4ae1c72169f7bc116987c8aefd50982676d9a17 |
Native GenericUnit whitelabel | 0x0000000000000000000000000000000000000000 |
| GenericUnit received | 0x8c307baDbd78bEa5A1cCF9677caa58e7A2172502 |
You reclaim this predeposit on Ethereum Mainnet. Do not switch your wallet to Status for these steps.
Recover the original remote recipient
The contract stores each balance under the depositor wallet and a 32-byte remoteRecipient. You must use the same remoteRecipient recorded during the deposit.
Deposits made through the Generic app used the depositor wallet address, left-padded with 24 zero bytes. For this example wallet:
Wallet: 0x1234567890123456789012345678901234567890
remoteRecipient: 0x0000000000000000000000001234567890123456789012345678901234567890If you supplied another destination address, recover the original value from the deposit transaction:
- Find the transaction that created the predeposit.
- Open Logs on its Etherscan transaction page.
- Find the
Predepositedevent from BridgeCoordinatorL1. - Copy the 32-byte
remoteRecipientvalue without changing it.
Do not shorten a bytes32 value back to a 20-byte wallet address. The read and write functions require all 64 hexadecimal characters after 0x.
Confirm that the Status pool allows withdrawals
The Status pool must be in the WITHDRAWN state before you can reclaim funds:
- Open the BridgeCoordinatorL1 Read as Proxy page.
- Find
getChainPredepositState. - Enter the Status
chainNicknameshown above. - Select Query.
The returned enum value must be 3, which represents WITHDRAWN:
| Result | State | Can you reclaim? |
|---|---|---|
0 | DISABLED | No |
1 | ENABLED | No |
2 | DISPATCHED | No |
3 | WITHDRAWN | Yes |
Stop if the result is not 3. A transaction submitted in another state will revert.
Read your reclaimable balance
Check the exact record before opening the write tab:
- Stay on the BridgeCoordinatorL1 Read as Proxy page.
- Find
getPredeposit. - Enter these parameters:
| Parameter | Enter |
|---|---|
chainNickname | 0xa4fdc657c7ba2402ba336e88c4ae1c72169f7bc116987c8aefd50982676d9a17 |
sender | The wallet that made the predeposit |
remoteRecipient | The original 32-byte recipient |
- Select Query and record the returned
amount.
The amount uses 18 decimals. A result of 0 means that this exact wallet and recipient pair has no remaining predeposit.
Withdraw the predeposit
The write returns the complete amount from the record you checked:
- Open the BridgeCoordinatorL1 Write as Proxy page.
- Select Connect to Web3 and connect the original depositor wallet.
- Find
withdrawPredeposit. - Enter these parameters:
| Parameter | Enter |
|---|---|
chainNickname | 0xa4fdc657c7ba2402ba336e88c4ae1c72169f7bc116987c8aefd50982676d9a17 |
remoteRecipient | The same 32-byte value used in getPredeposit |
recipient | Your connected Ethereum wallet address |
whitelabel | 0x0000000000000000000000000000000000000000 |
- Select Write and review the transaction in your wallet.
- Confirm that the destination is BridgeCoordinatorL1.
- Submit the transaction and wait for Etherscan to show Success.
- Read your GenericUnit
balanceOfto confirm receipt.
The zero whitelabel value returns GenericUnit directly. This avoids an extra GUSD unwrap transaction.
Redeem the returned GenericUnit
Continue at Choose a collateral vault in the Ethereum guide. Skip the GUSD unwrap section because this transaction returned GenericUnit.
Resolve common Status errors
Use the state and balance reads to identify the cause:
Predeposit_WithdrawalsNotEnabled: the Status pool is not in state3Predeposit_ZeroAmount: the connected wallet orremoteRecipientdoes not match an open balance, or the balance was already claimed- The read shows a balance but the write fails: confirm the connected wallet matches the
senderused ingetPredeposit - The transaction succeeded but GenericUnit is missing: inspect the
recipientfield and thePredepositWithdrawnevent