Sperax
  • USDs (Sperax USD)
    • Minting and Redeeming
    • Auto Yield
      • Smart Contracts can opt in for the rebase feature (Auto-yield).
    • Stability Mechanism
    • Key parameters and functions
    • Technical documents
      • Sequence diagrams
      • Smart contracts
        • Vault
        • USDs
        • CollateralManager
        • SPA Buyback
        • MasterPriceOracle
        • Yield Reserve
        • Fee Calculator
        • RebaseManager
        • Dripper
        • BaseStrategy
      • Deployed contracts
  • Buyback Contract
  • Staking Protocol
    • Locking SPA
    • Withdrawing SPA
    • Staking Rewards
  • Demeter Protocol
    • How does Demeter Work?
    • Technical documents
      • Smart contracts
        • E721 Farms
          • E721Farm
          • Camelot V3
            • CamelotV3FarmDeployer
            • CamelotV3Farm
        • Base contracts
          • Farm
          • FarmStorage
          • FarmRegistry
          • FarmDeployer
        • Features
          • ClaimableFee
          • ExpirableFarm
          • OperableDeposit
        • Rewarder
          • Rewarder
          • RewarderFactory
      • Deployed contracts
  • Getting Started on Our DApp
    • Minting & Redeeming USDs
    • Stake SPA
  • Governance
  • Bug Bounty Program
  • FAQ
    • SPA Tokenomics
    • xSPA token
    • Smart Contract Addresses
    • How to Transfer SPA from Ethereum to Arbitrum
  • Quick Links
    • Audit Reports
    • Sperax Dapp
    • Demeter Dapp
    • Discord
    • Forum
    • Snapshot
Powered by GitBook
On this page
  • How to get, deposit and redeem xSPA token.
  • Getting xSPA from SPA:
  • Depositing xSPA for redeeming SPA:
  • Redeeming xSPA for SPA:
  • Redeeming xSPA for veSPA:

Was this helpful?

Export as PDF
  1. FAQ

xSPA token

xSPA is a reward token of the Sperax ecosystem. xSPA can be either staked for veSPA with a lockup of 180 days or more, or redeemed within 15 to 180 days giving 50% to 100% SPA upon redemption.

PreviousSPA TokenomicsNextSmart Contract Addresses

Last updated 9 months ago

Was this helpful?

Summary / Abstract

Earlier in 2023, SperaxDAO decided on the SPA budget for emission through Gauge () and redirecting veSPA emissions to bribes on Gauge (). Every week, Gauge emits 2.9 M SPA and veSPA voters are bribed 383K SPA. This SPA should be used more prominently and assertively to drive USDs growth and bring new adoption.

Motivation

Since the start of SPA Gauge, USDs total supply has decreased from $2M to $1.78M. In the meantime, SPA Gauge has emitted about 80M SPA amounting to $392K. The SPA circulating supply has increased from 1.593B to 1.658B.

Emitting SPA in a predetermined manner and without assessing the market dynamics is improper utilization of resources. Since our target is to increase USDs adoption which will help in growing the Sperax ecosystem and its participants, we must rethink our overall strategy.

Overview

Apart from maintaining the target to make SPA deflationary, SperaxDAO should ensure that the emission is invested back into the ecosystem and contributes directly towards increasing the USDs adoption and supply.

All SPA emissions should have a looping effect such that a good portion of SPA distributed should be invested back into the ecosystem in the form of veSPA and increase the burning rate of SPA. Since the emissions are not helping in increasing either USDs adoption or the locked tokens. The recent increment in veSPA numbers is primarily driven by the team token allocation in veSPA. The Sperax ecosystem is steadily moving towards complete decentralization of protocols and hence should have more governance participation.

The Sperax ecosystem should have a new reward token. A token which can be staked as veSPA or redeemed for SPA. After drawing some inspiration from the Camelot emission strategy, the core team proposes the launch of a new token called xSPA. Users can either stake 1 xSPA for one veSPA or redeem 1 xSPA for 1 SPA.

Technical overview

Users can redeem 1 xSPA token for SPA by depositing their xSPA token through the redemption contract. Users can stake 1 xSPA in veSPA to increase their staked SPA balance. The relation between xSPA, SPA, and veSPA will be governed by the following rules

  • 1 xSPA will be equivalent to 1 SPA.

  • Users can redeem 1 xSPA for 1 SPA if they lock the xSPA in the redemption contract for 180 days, the maximum redemption period.

  • Users can redeem 1 xSPA for 0.5 SPA if they lock the xSPA in the redemption contract of 15 days, the minimum redemption period.

  • If the redemption period is ‘x’, between 15 and 180 days, the amount of SPA a user gets is governed by the following equation: Receivable spaAmount = (_xSpaAmount * (_redeemDuration + 150 days)) / 330 days

  • A redemption request cannot be modified or canceled.

  • The redemption contract will instantly burn any differential SPA

    • In case of the minimum locking period of 15 days, half the SPA tokens will be burnt right away and users can claim their SPA tokens after 15 days.

    • In case of a maximum locking period of 180 days, no SPA will be burnt and users can claim their SPA token after 180 days.

    • In case of a period between 15 and 180 days, SPA burnt is: SpaBurnt = _xSpaAmount - Receivable spaAmount Users can claim their SPA tokens after the locking period.

  • Users can stake 1 xSPA token in the veSPA contract to increase their staked SPA balance by 1 SPA token for the existing lockup period if the lockup period is greater than 180 days.

    • If the user has 0 staked balance, the system will throw an error and will ask the user to create a staked position with a minimum staking period of 180 days

    • If the user has staked balance but the lockup is less than 180 days, the system will throw an error and ask the user to increase the locking period to a minimum of 180 days

    • Users will be able to increase their staked position if the lockup period is above 180 days.

  • xSPA token is transferrable.

  • The staking and redemption criteria can be updated/modified through governance.

How to get, deposit and redeem xSPA token.

Getting xSPA from SPA:

Depositing xSPA for redeeming SPA:

  • The minimum redemption period is 15 days in which you will receive only 100/2 = 50 SPA after 15 days.

  • The maximum redemption period is 180 days in which you will receive all your 100 SPA back for your 100 xSPA.

Redeeming xSPA for SPA:

Redeeming xSPA for veSPA:

Allow xSPA token contract to transfer SPA from your account by calling function on token contract by passing spender as 0x0966E72256d6055145902F72F9D3B6a194B9cCc3 xSPA’s address and amount as the desired amount of xSPA you would like to have. Note: To allow 1 SPA pass 1000000000000000000 i.e 1e18 as amount in the approve function.

Call mint function on xSPA contract by passing the amount if you want to receive xSPA on your account or mint function by passing the address of the receiver account and amount if you want to receive the xSPA on another account.

Check your xSPA balance by calling function on by passing in your account’s address.

If you select any period between 15 days to 180 days, the SPA amount redeemed would be calculated on pro rata basis between 50% to 100% of SPA for your xSPA. You can get this amount by calling function on the xSPA contract by passing the xSPA amount with precision and your redeemDuration in seconds between 1296000 (15 days) to 15552000 (180 days) and it will return the SPA amount you will receive at the end of your redemption period.

To create a redemption request you can call on the xSPA contract by passing the xSPA amount with precision and the redeem duration between the range specified above. It returns the redemption request ID which will be used to track and claim later.

Once you have created a redemption request in the above step, you can see and track your redemption request by calling function on the xSPA contract by passing your redemption request ID, it returns the requester’s address, unlock time in unix epoch and spa amount which will be unlocked.

Once the current unix epoch time is more than the unlock time of the redemption request, you can call the function by passing in your redemption request ID if you want to receive the SPA tokens on your account otherwise you can call function by passing an address of another account as receiver and your request ID to send the SPA to another account.

For this redemption you must have an existing veSPA lock for at least 180 days or more, if you do not have, you can call function on the veSPA contract by passing the amount, lock duration (minimum 180 days) and auto cooldown preference.

If you have an active veSPA lock for at least 180 days or more, you can call function on the xSPA token contract and your veSPA balance would be increased immediately.

SIP-32
SIP-33
approve
SPA
this
this
balanceOf
getSpaforxSPA
createRedemptionRequest
redemptionRequests
redeemSPA
this
createLock
stakeXSpa