- Go to Account → Withdraw.
- Enter the amount (or click Max).
- Sign the withdrawal transaction.

Outcome covers gas, but a flat 1 USDC fee applies per withdrawal. Batch requests to save!
Funds appear in your wallet as soon as the HyperEVM block confirms (~2 s).
Bridge to a CEX
Need to cash out to an exchange? After the withdrawal lands in your wallet, use a bridge to convert
USDC to the chain and token your CEX supports (e.g. Ethereum USDC) before depositing.
Behind the scenes
/**
* @notice Withdraw function that enforces a 1 USDC fee,
* @param usdcToken The USDC token contract address.
* @param data Encoded call data (for example, `transfer(msg.sender, amount)`).
* @param signature The owner’s personal_sign style signature authorizing the transaction.
*/
function withdraw(
address usdcToken,
bytes calldata data,
bytes calldata signature
) external onlyServer nonReentrant {
// Transfer fee to the feeCollector using SafeERC20 for added safety
IERC20(usdcToken).safeTransfer(feeCollector, USDC_DECIMALS);
// Execute the transaction (typically a token transfer).
_executeTransaction(usdcToken, 0, data, signature);
emit WithdrawExecuted(usdcToken, data);
}