Withdrawal Flow

Two withdrawal paths: Standard Withdraw with optional 2FA, or Emergency Exit for immediate access with a penalty.

Standard Withdrawal Process

Request

Cooldown

2FA Check

Complete

Step-by-Step

1. Initiate Withdrawal

  • • Call withdraw() with your position NFT tokenId
  • • Specify amount (partial or full withdrawal)
  • • Transaction initiates cooldown period

2. Cooldown Period

  • • Default: 1 hour cooldown
  • • Allows time for system checks
  • • Can be cancelled during this period

3. Guardian 2FA (if enabled)

  • • Sign approval message with guardian wallet
  • • Off-chain signature (no gas required)
  • • Submit signature to complete withdrawal

4. Receive Funds

  • • Funds sent to your wallet
  • • Performance fee deducted from yield only
  • • Position NFT burned (if full withdrawal)

Guardian 2FA Protection

If you enabled Guardian 2FA during deposit, withdrawals require an additional signature from your guardian wallet.

Primary Key

+

Guardian Sig

=

Approved

Contract Interface

Standard Withdraw

function withdraw(
    uint256 tokenId,       // Position NFT ID
    uint256 amount,        // Amount to withdraw (0 = full)
    bytes calldata guardianSig  // Guardian signature (if enabled)
) external;

Emergency Exit

function emergencyExit(
    uint256 tokenId        // Position NFT ID
) external;

// After 24 hours:
function claimEmergencyExit(
    uint256 tokenId
) external;