Skip to main content

Traditional Two-Step Unstaking

The traditional unstaking process mirrors how Monad's native staking works: a two-step process with a mandatory waiting period. This method charges no fees, but it does require the user to wait until shMonad's Unstaking Period has passed and then submit a second transaction to complete the withdrawal.

How It Works

Step 1: Request Unstake

When you request an unstake:

  1. Your shMON tokens are burned immediately
  2. The system records how much MON you're owed
  3. The exchange rate at this moment determines your MON amount—this rate is locked in
  4. Your unstake request enters a queue

Step 2: Complete Unstake (After Waiting)

Once the waiting period ends:

  1. You call the completion function
  2. The protocol transfers your MON
  3. Your unstake is finalized

Limitations

Only One Active Unstaking Request at a Time

A user may only have one traditional unstaking request active at a time. Submitting a second traditional unstaking request before completing the withdrawal from the first request will merge the two unstaking requests together into a single request. The entirety of the combined amount being unstaked will be available at the completion time of the last unstaking request. Put differently, submitting a second traditional unstaking request "resets" the waiting duration of the first request. Note that Atomic Unstaking requests are exempt-they do not reset the waiting duration of any pending traditional unstaking requests.

Two-Step Unstaking's Wait Duration

The minimum waiting time is approximately 4-5 epochs, which translates to 22-27 hours depending on timing.

This delay exists due to the following factors:

The Worst-Case Scenario

Your unstake request might arrive at the worst possible moment in the epoch cycle:

Epoch N (Request arrives):

  • You request your unstake late in the epoch
  • Too late for validators to process it this epoch

Epoch N+1 (Boundary delays):

  • The system processes epoch-end accounting
  • Last validator updates complete
  • System recognizes your unstake request

Epoch N+2 (Effective processing):

  • Because the previous epoch had boundary timing issues, this becomes the effective processing epoch
  • Your unstake finally enters the validator queue

Epoch N+3 (Waiting period):

  • Monad requires a one-epoch delay for unstaking
  • Your MON is now in the unstaking queue

Epoch N+4 (Collection):

  • The unstake completes
  • MON returns from validators to the protocol

Epoch N+5 (Available):

  • You can now safely complete your withdrawal
  • The protocol has your MON available to transfer

Why Each Step Is Necessary

  1. Epoch boundaries: Validators only process changes at epoch boundaries, not continuously
  2. Queue processing: Multiple users' requests must be batched and processed together
  3. Network delay: Monad enforces a mandatory waiting period before stake can be withdrawn
  4. Safety margins: The system adds buffer time to ensure MON is actually available when you complete

Exchange Rate Lock-In

Critical timing detail: The exchange rate is locked when you request the unstake, not when you complete it.

This means:

  • If equity grows while you're waiting, you don't benefit
  • If equity shrinks while you're waiting, you don't lose
  • Your MON amount is fixed at the moment you burn your shMON

For most users, this is fair—you've already exited your position when you request the unstake. The waiting period is purely a technical requirement of the underlying staking system.

The Same-Epoch "Cost" of Unstaking

If you deposit and then immediately request an unstake in the same epoch, you may receive less MON than you deposited. This happens because:

  1. Deposits include current epoch rewards in the rate (you pay a higher price per shMON)
  2. Unstakes exclude current epoch rewards from the rate (you receive a lower value per shMON)

This mechanism intentionally discourages "flash staking" where users try to capture a few blocks of rewards and immediately exit and is discussed in greater detail in the Exchange Rate section.

When to Use Traditional Unstaking

Choose this method when:

  • You're not in a hurry and can wait a little longer than 1 days
  • You want to avoid paying any fees
  • You're withdrawing a large amount where fees would be significant
  • The atomic pool doesn't have enough liquidity for your withdrawal

The trade-off is simple: time vs. fees. Traditional unstaking takes longer but costs nothing.