SIP-180: Aelin Protocol

Author
Discussions-ToAelin Discord
StatusDraft
Created2021-08-31

Simple Summary

This SIP establishes the Aelin Protocol.

Abstract

This SIP proposes the creation of the Aelin Protocol, Aelin is an open and permissionless set of factory contracts that enables anyone to instantiate a pool of capital that can be used to source deals within the Ethereum ecosystem.

Motivation

Aelin is a new decentralised deal coordination protocol. This SIP leverages the established decentralised governance framework of Synthetix to launch this new protocol in a fair and transparent manner. A portion of the AELIN tokens will be distributed to SNX stakers as a sign of appreciation for the effort that has gone into Synthetix governance enabling Aelin to launch via this SIP.

Establishing a new protocol and community is a challenging proposition, there are very few examples of projects that have been fair launched and managed to become self-sustaining. By leveraging the exisiting Synthetix governance process and rewarding SNX stakers Aelin will be able to create a new governance system that inhereits the legitimacy of Synthetix governance. The decision to leverage Synthetix governance relied on the past success of Thales and Kwenta in establishing independent communities.

Specification

Overview

The Aelin contracts have been written by a team of volunteer engineers. It will be up to Aelin governance to decide whether to utilise funds from the AelinDAO to reward these efforts. The contracts will be deployed once this SIP has been approved by the Spartan Council after they have been audited.

The purpose of these contracts is to create a new protocol that satisifies the following high level specification: Aelin enables (a Sponsor) to create a pool that anyone (purchaser) can deposit funds into. In exchange for their deposit they get a token representing a claim on the pool of funds. The sponsor then structures a deal with a counterparty (the Holder). The Sponsor and the Holder formalise the deal terms in a Deal Contract. Once the terms are finalised, conversions are enabled between the pool contract and the deal contract. aePool token holders can choose to redeem their aePool tokens for the underlying funds in the pool, rejecting the deal terms. Alternatively, they can redeem their aePool tokens under the terms of the deal. The protocol collects a fixed percentage of each deal determined by protocol governance, 2% initially. The Sponsor can also elect to capture a percentage of the deal in addition to this protocol fee. In both cases, these fees are paid in tokens under the deal terms.

Rationale

Over the last few years the crypto fundraising process has matured significantly. We see far fewer huge pre-product raises. Most seed rounds are in the low single digit millions. The issue is that this means it is almost impossible for the wider community to participate in early stage projects. There are solutions such as LBPs by Balancer and other projects, but Aelin will allow for a project to launch a new token with a fixed outcome in terms of valuation without needing to negotiate with thousands of people or relying on a market driven mechanism that may result in a highly variable outcome. Using Aelin a pre-token project will be able to find a sponsor with a pool of funds that meets their funding needs and negotiate a resonable valuation with vesting terms that ensure long term alignment. Additionally for established projects OTC deals that help generate treasury liquidity will be possible resulting in much wider token distribution.

Technical Specification

Factory Contract

The factory contracts allow anyone to initialise a new aePool contract and then a Deal Contract.

aePool Contracts have the following variables:

Pool Variables
Pool name (aePool-name)
Pool token symbol (aeP-symbol)
Purchase Token (Dai, sUSD, USDC, wETH, WBTC, etc)
Purchase Token Cap: Cap in token (0 for uncapped. Uncapped deals are proRate)
Duration: period after which aePool tokens can be redeemed for the Purchase Token. When a deal is presented the aePool tokens may also be redeemed if the purchaser does not want to participate
Sponsor Fee % (Optional - set from 0 up to 98%)
Purchase Expiry: period after which pool tokens are no longer purchasable

Deal Contracts have the following variables:

Deal Variables
Deal name (aeDeal-name) - name is inherited from the pool
Deal token symbol (aeD-symbol) - symbol is inherited from the pool
Underlying deal token (YFI, SNX, AAVE, UNI, CRV, essentially any ERC-20 token)
Underlying deal Ratio (Deal Token/Purchase Token Ratio)
Underlying deal token total - how many Deal tokens in total are available in the offering
Pro-rata redemption period: An initial period in which purchasers can claim their pro rata portion of the deal
Open redemption period: At the end of the pro rata period, if necessary, anyone who claimed their full pro rata share can continue to redeem the rest of their pool tokens for any unredeemed deal tokens based on the number of purchasers who opted out. This period only exists if the pro-rata share of pool ownership is less than 1:1
Vesting Period: Time before all underlying deal tokens are released which starts from the end of the vesting cliff
Vesting Cliff: Time before underlying deal token begins vesting
Vesting curve: Initially linear but could be more complex in future versions
Holder: the holder of the underlying deal token entering into an agreement with the sponsor who negotiates on behalf of the purchasers

AELIN Token Information

Description Value
Total Supply 5,000
Initial FDV $30m USD
Token Price $6,000

Token Distribution

Description % Tokens
Aelin Launch Pool 5% 250 AELIN
DeFi Mega Pool Farming 5% 250 AELIN
AelinDAO 5% 250 AELIN
SNX Staker Distribution 15% 750 AELIN
Inflation veAelin 70% 3500 AELIN

Staking Rewards Distribution

Spec for the staking rewards contract TBC MVP is a multisig with distribution later

Inflation Distribution

Insert spec for Andre's options scheme

User Journeys

Sponsor Journey

  1. aePool Contract Creation

    1. Sponsor creates an UNCAPPED (0 cap) pool with a NAME and SYMBOL for the token
    2. Sponsors inputs USDC as PURCHASE TOKEN
    3. Sponsor inputs one month as PURCHASE EXPIRY
    4. Sponsor inputs six months as DURATION
    5. Sponsor inputs 2% as SPONSOR FEE
  2. Deal negotiation

    1. Sponsor approaches Holder to purchase XYZ token
    2. Sponsor agrees to $20m USD of XYZ
    3. 20% discount to spot
    4. Six month cliff and six month linear vesting
  3. Deal Contract Creation

    1. Sponsor inputs UNDERLYING DEAL TOKEN XYZ
    2. Sponsor inputs UNDERLYING DEAL TOKEN TOTAL
    3. Sponsors inputs UNDERLYING DEAL TOKEN to PURCHASE TOKEN RATIO (XYZ/USDC) (1/250)
    4. Sponsor inputs PRO RATA REDEMPTION PERIOD 24 hours
    5. Sponsor inputs OPEN REDEMPTION PERIOD 24 hours
    6. Sponsor inputs VESTING PERIOD 12 months
    7. Sponsor inputs VESTING CLIFF 6 months
    8. Sponsor inputs VESTING CURVE linear
    9. Sponsor inputs HOLDER address (so they can recieve PURCHASE TOKENS)

Purchaser Journey

  1. Purchase

    1. Purchaser sends 500 USDC
    2. Purchaser receives 500 aePool tokens
  2. No Deal Case (DURATION elapses before deal announced)

    1. Six month redemption window expires
    2. Purchaser calls redeem on contract and burns 500 aePool tokens for 500 USDC
  3. Deal Accepted

    1. Sponsor announces deal
    2. Holder funds deal with underlying deal tokens
    3. Purchaser burns 500 aePool tokens for 480 aeDeal tokens
    4. Contract sends 10 aeDeal tokens to Sponsor address
    5. Contract sends 10 aeDeal tokens to veAelin inflation fee pool
    6. Purchaser waits six months + 1 day
    7. Purchaser can now start burning aeDeal tokens as they wish according to their vesting schedule for their underlying XYZ tokens. On day one after the six month vesting cliff with a one year vesting period they are entitled to 1/365 of their underlying token.
  4. Deal Expired

    1. Sponsor announces deal
    2. Purchaser misses redemption window of 24 hours
    3. Purchaser burns 500 aePool tokens for 500 USDC
  5. Deal Rejected

    1. Sponsor announces deal
    2. Purchase burns 500 aePool tokens for 500 USDC

Test Cases

Test cases for an implementation are mandatory for SIPs but can be included with the implementation.

Configurable Values (Via SCCP)

All variables will be configurable once Aelin governance is established by AELIN token holders.

Copyright and related rights waived via CC0.