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
- Navigate to the SoulPeg Dashboard
- Look for the SPUSD row in your balances
- Click the "Wrap/Unwrap" button
Step 2: Approve the Wrapper Contract
On your first wrap operation:
- Click "Approve" to allow the wrapper to access your sUSDC
- Confirm the transaction in your wallet
- Wait for the approval to complete
Step 3: Wrap Your Tokens
- Enter the amount of sUSDC to wrap
- Review the conversion (always 1:1)
- Click "Wrap"
- Confirm the transaction in your wallet
- Your SPUSD will appear in your wallet immediately
Unwrapping SPUSD to sUSDC
Step 1: Access the Unwrap Feature
- Go to the wrap/unwrap modal
- 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
- Enter the amount of SPUSD to unwrap
- Ensure you have enough unlocked SPUSD
- Click "Unwrap"
- Confirm the transaction
- 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
- Token Address:
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.