Starkgate withdrawals
StarkGate is a bridge app for moving assets out of Starknet. Its canonical Ethereum withdrawals require proof acceptance on Ethereum and a final L1 transaction, submitted manually or by SpaceShard's optional Automatic Withdrawal service. A token-specific security cap can restrict the canonical route when enabled. Native USDC sent through Circle CCTP follows a separate destination-claim process.
Withdrawal decision checklist
- Before signing, confirm that the selected route supports the exact token version and destination network.
- If a canonical withdrawal is awaiting proof acceptance, wait for that stage and monitor the existing transaction in Activity.
- If a manual canonical withdrawal is ready to finalize, keep ETH available for Ethereum gas before submitting Complete Withdrawal.
- If an enabled token cap prevents the requested amount, recheck the remaining capacity before another attempt.
Starknet completion and Ethereum receipt
The canonical bridge's
initiate_token_withdraw
operation burns the withdrawal amount on Starknet and sends a message containing the amount and Ethereum recipient. A successful initiation establishes that first stage. The Ethereum payment still depends on proof settlement and a successful L1
withdraw
transaction.
The recipient is fixed in the withdrawal message. Once that message is recorded in the Starknet Core Contract on Ethereum, any account can submit finalization, including an account other than the recipient. The funds go to the recorded recipient regardless of who submits it. Activity and its explorer links help distinguish the Starknet initiation from the Ethereum transaction that delivers the assets.
Manual and automatic finalization
- Manual Withdrawal
- After proof acceptance, Complete Withdrawal in StarkGate's Activity tab starts an Ethereum transaction for the connected Ethereum wallet to sign. The submitting account needs ETH for gas. The app sets no time limit on completing this canonical finalization step.
- Automatic Withdrawal
- When selected at initiation, SpaceShard's service submits the Ethereum finalization after the proof is verified. The service can send funds only to the original Ethereum address.
StarkGate estimates that canonical Starknet-to-Ethereum processing can take up to eight hours. Proof generation, Ethereum settlement and network conditions affect that wait, so the estimate is not a guaranteed completion deadline. A manual withdrawal also requires its final Ethereum transaction even after the proof is ready.
The initial Starknet transaction has its own fee requirement. Paying that fee with alternative tokens depends on the Starknet wallet's paymaster integration; it does not remove the Ethereum gas requirement for manual finalization.
Token limits and available capacity
Canonical bridge contracts that support withdrawal limits have no cap enabled by default. Starknet's bridge documentation describes an emergency withdrawal limit that a security agent can enable for an affected token during a serious security issue: 5% of that token's total value locked (TVL) per day. This is a shared token-level cap, not a personal allowance equal to 5% of each wallet's balance.
- Live availability
- The enabled protection and remaining token capacity determine whether a cap constrains a particular withdrawal. The documented percentage does not establish the current setting or remaining capacity.
- Remaining quota
-
The
StarkGate functions and events reference
documents
get_remaining_withdrawal_quotaon the L2 bridge. It takes the L1 token address and returns the amount currently withdrawable in units defined by the ERC-20 token contract. Its documented 24-hour period starts at 00:00 UTC. Recheck the applicable contract's current quota before retrying an amount that a cap blocked. - Removing the protection
- Only a security admin quorum can disable the emergency withdrawal limit. A new daily period does not itself disable that protection.
Native USDC claims through CCTP
StarkGate's documented CCTP withdrawal flow requires a destination-chain claim after the USDC burn and Circle's attestation. Activity provides Claim now when the transfer is ready. The claim needs a transaction and gas on the destination network.
The app estimates claim readiness for USDC leaving Starknet at about eight seconds for Fast Transfer and around six hours for Standard Transfer. Fast Transfer is a CCTP V2 feature with an additional Circle service fee and route-dependent availability. These estimates concern readiness to claim; the destination transaction must still be processed.
Circle's CCTP V2 white paper describes a finite Fast Transfer Allowance . If allowance remains insufficient, the transfer falls back to Standard processing once the burn reaches full finality. Selecting Fast therefore does not guarantee the short readiness estimate.
The desktop claim flow also supports a transfer addressed to another account, with the initiating Starknet wallet and the claimant's destination-chain wallet connected. Submitting that claim does not change the selected USDC recipient.
Exit compatibility and legacy tokens
The token contract and destination network must match an available withdrawal route. StarkGate also integrates Hyperlane transfers between Solana and Starknet and transfers for supported assets using LayerZero's Omnichain Fungible Token (OFT) standard. Those routes have their own processing; the canonical Ethereum finalization instructions apply to the canonical route.
DAI v0 can be withdrawn to Ethereum even though depositing through its old bridge is disabled. Withdrawal to Ethereum followed by a deposit through the replacement bridge is one documented way to obtain the new DAI. For wstETH(legacy), StarkGate lists withdrawal to Ethereum alongside the wstETH Migration Hub.
Worth knowing
-
Why is a token missing from my Ethereum wallet after finalization?
- A wallet may not recognize the token contract. First confirm that the Ethereum finalization succeeded and paid the correct recipient. If it did, adding the exact Ethereum token contract shown in StarkGate Activity or the explorer can make the balance visible. Importing a token affects wallet display; it does not complete a pending withdrawal.