Skip to content

Instantly share code, notes, and snippets.

@danhper
Created February 19, 2024 15:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save danhper/fbaee6cb4aa52825b4264a230d5c517a to your computer and use it in GitHub Desktop.
Save danhper/fbaee6cb4aa52825b4264a230d5c517a to your computer and use it in GitHub Desktop.

TLX: Internal documentation

TLX is a permissionless, non-custodial leveraged token platform built on Optimism. It enables users to mint and redeem leveraged tokens (LTs), which are backed by Synthetix perpetual futures contracts.

Overview

Key dates

Audit start: 19.02.2024

$TLX token launch: [Exact date TBD, Shortly after audit]

MVP protocol launch: [Exact date TBD]

Pre-MVP features overview (phase 1)

  • Claim $TLX airdrop
  • Genesis locking
  • Governance

MVP features overview (phase 2)

  • Mint and redeem leveraged tokens
  • Genesis locking
  • Staking
  • Bonding
  • Referral scheme
  • Rebates
  • Governance
  • POL mechanism

$TLX token

General

Total supply: 100 million

Upon launch $TLX will be a pure governance token.

Shortly after protocol launch, there will be a vote on switching on fee participation.

Token allocation

  • 42% Bonding
  • 20% Team (vesting)
  • 10% AMM incentives
  • 10% Airdrop
  • 8% Investors (vesting)
  • 7% Company reserves (vesting)
  • 3% DAO Treasury (vesting)

Token liquidity

The official liquidity pool for the TLX governance token (i.e., the one that is provisioned by the TLX team) will be the TLX/ETH pool on Velodrome. The provision of liquidity to this pool will be facilitated by two different mechanisms which accomplish this in both a direct and indirect manner.

The first mechanism is bribing veVELO holders with $TLX from the 10% allocation to AMM incentives. Bribing veVELO holders is done directly on the Velodrome UI and enables protocols to increase VELO emissions to their pool. By bribing veVELO holders and increasing VELO emissions to the TLX/ETH pool, we will attract liquidity providers and therefore indirectly grow and maintain liquidity in the pool.

The second mechanism for TLX liquidity provision is via TLX POL, whereby 20% of POL acquired through bonding will be re-allocated to the TLX/ETH Velodrome pool on a weekly basis.

Airdrop

Target groups for airdrop:

  • Liquidated Synthetix users
  • Leveraged token holders (Index coop and Toros users)
  • TLX registered users, that are also SNX voters

The allocation between all of these different airdrop categories will be based on how many users there are in each category (with some light filtering based on a min amount and removing duplicates).

The allocation between the users within a category will be based on the amount with some flattening such as log or square root.

Claim period: 6 months

Unclaimed $TLX will be transferred back to treasury.

Leveraged tokens

Leveraged tokens are ERC-20 tokens that offer leveraged exposure to an underlying asset while maintaining the leverage factor within a targeted range. The tokens are built using the Synthetix protocol's Perps V2 engine.

MVP details

Assets supported upon launch: ETH, BTC, SOL, LINK, OP

Leverage factors supported upon launch: 1x, 2x, 5x

Rebalance threshold: [TBD] (target roughly once per day)

Assets supported for minting & redeeming: sUSD, USDC, USDCe, USDT, DAI

Rebalancing

Leveraged tokens reactively rebalance the margin-to-notional ratio as soon as an outer bound of the targeted leverage range is reached. This is achieved by directly adjusting the amount of borrowed funds of the underlying perpetual futures contract on Synthetix V2.

Keepers

TLX uses Chainlink's keeper infrastructure.

Liquidations

While leveraged tokens are designed to minimize the risk of liquidations, the risk is not eliminated. Rapid and significant price fluctuations of the underlying asset could lead to the liquidation of the underlying perpetual futures contract on Synthetix, before rebalancing can be initiated or completed.

In such cases, a new, equivalent leveraged token, bearing the same name and symbol, will be launched. Integrators can differentiate these tokens using the isActive() view function.

Fees

TLX charges users a streaming and a redemption fee. Furthermore, users cover their portion of the rebalancing costs and the fees associated with the underlying perpetual futures contract on the Synthetix platform.

Streaming fee: 2.0%

The streaming fee is an annualized fee that is charged on the notional amount of a leveraged token position. It is charged directly to the position whenever a rebalancing event occurs.

Redemption fee: 0.5%

The redemption fee is charged on the amount of sUSD redeemed multiplied by the target leverage of the position.

TLX does not charge a minting fee.

All platform fees are distributed to the staker contract and become claimable if governance switches on fee participation for stakers.

Rebates and referral program

Users become eligible for rebates by using one of the designated referral links. The program unlocks rebates for users and distributes an additional share to the referrer. The rebates are disbursed in sUSD and can be claimed in the TLX rewards section.

User share: 50% of the redemption fee

Referrer share: 50% of the redemption fee

TLX will not earn redemption fees from trades executed under the referral program.

Referrers will be whitelisted by the core team and need to be added manually.

Genesis locking

Lock period: 26 weeks

Genesis locking $TLX equips lockers with the right to participate in protocol governance.

Besides governance rights, genesis lockers receive liquid $TLX rewards during the initial 26 weeks after the token launch. Of the 10% $TLX supply allocated to the airdrop, 40% will be used for the locking rewards. The rewards will accrue linearly on a per-block basis and can be claimed by lockers at any time.

The lock period is 26 weeks, i.e., a user can automatically unlock $TLX 26 weeks after locking it. There is no need to initiate an unlock period as is the case with staking.

If a user locks more $TLX, after having previously locked an amount, the lock period resets to 26 weeks for all locked $TLX. From a UX perspective, users always have the option to lock $TLX with a different address to avoid extending the lock period of their previously locked $TLX. As a result of this design, there is no partial unlocking, but only one definite date after which all $TLX can be unlocked. There is no kick function, so theoretically, the locked $TLX can sit in the locker indefinitely.

Once $TLX is being unlocked, the tokens are migrated from the locker to the staker. From a user perspective, locked $TLX unlocks in the form of $stTLX, i.e., once the lock period is over, the user can claim the equivalent amount in $stTLX. To convert $stTLX back to $TLX, the user needs to initiate the unstaking period of 5 days and subsequently unstake $stTLX for $TLX, as outlined in the staking section.

If there are no active lockers (i.e., no $TLX has been locked), the liquid $TLX rewards accrue for the user that locks his $TLX next.

Genesis lockers WILL NOT receive protocol fees once this has been enabled by governance.

Staking

Unstaking period: 5 days

$TLX can be staked for $stTLX. $stTLX equips holders with the right to participate in protocol governance.

Unstaking $stTLX is subject to a 5-day unstaking period, i.e., once unstaking is initiated, it will require 5 days until $TLX tokens can be reclaimed.

A user can always stake more $TLX, irrespective of whether an unstaking period has been initiated, and can also initiate unstaking for partial amounts of his $stTLX. Initiating the unstaking period for a partial amount of $stTLX does not affect the unstaking period of previous unstaking events, i.e., if a user initiates unstaking for amount x, and 2 days later initiates unstaking for amount y, amount x can still be unstaked after 3 days.

$stTLX holders will receive protocol fees once this has been enabled by governance. Fee participation will be halted during the unstaking period.

Governance

Locked $TLX and $stTLX holders will be able to participate in protocol governance by proposing or voting on protocol updates on Snapshot.

Bonding

Implementation of the bonding mechanism

The TLX bonding mechanism is implemented using a base amount of $sUSD, which is set by governance, that at any point can be bonded for the whole amount of bondable $stTLX. The amount of bondable $stTLX starts at zero and increases per second linearly. In a bonding event, the available amount of $stTLX decreases by the respective amount, the discount decreases respectively, and bondable $stTLX continues accruing. The amount of $stTLX received can be expressed as:

$stTLX_received = (bondable_$TLX / base_amount) * $sUSD_value_bonded

The precise base amount is TBD, but should be set such that we get roughly one bonding event a day. Achieving this also requires an approximation of the $TLX price.

Example:

Base amount = $50,000

1 $TLX = $2

Accumulation pace = 0.1 $TLX / sec

Given these exemplary parameters, bonding would become profitable 69.44 hours after the beginning of the cycle.

$50,000 / ($2 ∗ 0.1 ∗ 60 sec ∗ 60 min) = 69.44 h

After four days, the accumulated value of $TLX that could be bonded for $50,000 would be worth $69,120 (34,560 $TLX), which is equivalent to a 27.66% discount.

2$ ∗ 0.1 ∗ 60 sec ∗ 60 min ∗ 24 h ∗ 4 days = $69,120

($69,120 - $50,000) / $69,120 = 27.66%

Leveraged tokens worth $10,000 could therefore be bonded for $13,824 worth of $stTLX. Note that in this case only a portion of the base amount would be bonded. The amount of bondable $stTLX would decrease, but the ratio at which $stTLX would be bonded would still be based on the constant base amount. Hence, the available discount at this point in time would have decreased to 9.58%.

$69,120 - $13,824 = $55,296 (value of the remaining bondable $stTLX)

($55,296 - $50,000) / $55,296 = 9.58%

Bonding distribution

The bonding distribution should be based on a simple formula that approximates the following targets:

  • 8% in the first month
  • 40% in the first year
  • 80% in the first 3 years

POL mechanism

The TLX DAO accumulates protocol owned liquidity (POL) every time a user redeems (i.e. bonds) leveraged tokens in exchange for $stTLX tokens. This liquidity, while initially being acquired in the form of leveraged tokens, undergoes a weekly rebalance whereby 80% of newly acquired POL gets allocated to the wstETH/ETH1S Velodrome pool and the remaining 20% gets allocated to the TLX/ETH Velodrome pool.

Changes to POL allocations may be made via DAO votes.

Config params & implementation details

Target rebalance threshold: [TBD]

Initial rebalance fee in sUSD: 5

Maximum rebalance attempts: none

Bonding base amount: [TBD] Goal: One bonding event per day

General vesting duration: 1 year

AMM $TLX allocation handling: Transferred directly to distribution address upon mint (not vesting)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment