How To Wrap

Step-by-step guide for converting between sUSDC and SPUSD

How to Wrap and Unwrap

This guide walks you through the process of converting between soul-bound sUSDC and tradeable SPUSD tokens.

Prerequisites

Before you begin, ensure you have:

  • sUSDC tokens in your wallet (from staking USDC)
  • BNB for gas fees
  • Connected wallet to SoulPeg dashboard

Wrapping sUSDC to SPUSD

Step 1: Access the Wrap Feature

  1. Navigate to the SoulPeg Dashboard
  2. Look for the SPUSD row in your balances
  3. Click the "Wrap/Unwrap" button

Step 2: Approve the Wrapper Contract

On your first wrap operation:

  1. Click "Approve" to allow the wrapper to access your sUSDC
  2. Confirm the transaction in your wallet
  3. Wait for the approval to complete

Step 3: Wrap Your Tokens

  1. Enter the amount of sUSDC to wrap
  2. Review the conversion (always 1:1)
  3. Click "Wrap"
  4. Confirm the transaction in your wallet
  5. Your SPUSD will appear in your wallet immediately

Unwrapping SPUSD to sUSDC

Step 1: Access the Unwrap Feature

  1. Go to the wrap/unwrap modal
  2. Switch to the "Unwrap" tab

Step 2: Check Lock Status

The interface will show:

  • Your available SPUSD balance
  • Any locked SPUSD (if applicable)
  • Maximum unwrappable amount

Step 3: Unwrap Your Tokens

  1. Enter the amount of SPUSD to unwrap
  2. Ensure you have enough unlocked SPUSD
  3. Click "Unwrap"
  4. Confirm the transaction
  5. Your sUSDC will be returned to your wallet

Important Considerations

Locked Tokens

If you received SPUSD through the investor distribution:

  • Locked tokens cannot be unwrapped until the vesting period ends
  • You can only unwrap your unlocked balance
  • The UI will prevent unwrapping locked amounts

Gas Optimization

  • Wrap larger amounts in single transactions to save gas
  • Both wrap and unwrap operations cost similar gas (~100k gas units)

No Time Restrictions

  • Unlike unstaking sUSDC, wrapping/unwrapping has no time locks
  • Convert between sUSDC and SPUSD instantly
  • No penalties or fees for conversions

Troubleshooting

"Insufficient Balance" Error

  • Ensure you have enough sUSDC (for wrapping) or SPUSD (for unwrapping)
  • Check if tokens are locked (investor distributions)

"Transaction Failed"

  • Ensure you have enough BNB for gas
  • Try increasing gas limit if transaction runs out of gas
  • Check if you've approved the wrapper contract

Balance Not Updating

  • Refresh the page after transaction confirms
  • Add SPUSD token to your wallet:
    • Token Address: 0x40fF3deA2EEC93a7B71879874DC4407918DA77A6
    • Symbol: SPUSD
    • Decimals: 18

Smart Contract Interaction

For developers or advanced users, you can interact directly with the contracts:

Wrapper Contract Methods

// Wrap sUSDC to SPUSD
function wrap(uint256 amount) external

// Unwrap SPUSD to sUSDC
function unwrap(uint256 amount) external

// Check lock info
function getLockInfo(address account) external view 
    returns (uint256 locked, uint256 unlockTime)

Contract Addresses

  • StUSDCWrapper: 0x0e8fB2E774b827711e0F86069931C1321113238e
  • SPUSD Token: 0x40fF3deA2EEC93a7B71879874DC4407918DA77A6

Next Steps

Now that you have SPUSD, learn how to trade it on DEXs or explore DeFi opportunities.