Add new file
This commit is contained in:
parent
918578dbec
commit
d72f3727a7
129
spec/006_Self_Service_Token.md
Normal file
129
spec/006_Self_Service_Token.md
Normal file
@ -0,0 +1,129 @@
|
||||
# Current Platform Incentives spec
|
||||
|
||||
<!--
|
||||
valid status values are: Pre-draft|Draft|Proposal|Accepted
|
||||
-->
|
||||
* Authors: Will Ruddick <willruddick@gmail.com> (grassecon.org)
|
||||
* Date: 2020.05.18
|
||||
* Version: 1
|
||||
* Status: Pre-draft
|
||||
|
||||
## Rationale
|
||||
Enabeling users to create their own tokens is one of the main goals of CICs
|
||||
|
||||
## Intro
|
||||
Today users only receive tokens created by Grassroots Economics - the reserves of these tokens are donors giving to Grassroots Economics.
|
||||
This means Users have very little ‘feeling’ of reserve depletion because it is not their token and not their money behind it.
|
||||
We want users to be able to create their tokens to create more ownership and diffusion.
|
||||
|
||||
## Token creation process - UI
|
||||
(I will describe this for USSD be a web interface should also be made)
|
||||
1. Existing User calls Sarafu
|
||||
*. New user dials *483*46# where she selects
|
||||
*. My Account -> Create Token
|
||||
|
||||
Note that this ability is whitelisted- to be whitelisted the user must have:
|
||||
1. Been in the system as an active user for some time (at least 1 month)
|
||||
1. Have a substantial balance (his CIC converted to reserve) to reach at least 25% reserve. Minimum 100 USD in value DAI. Which will staked into the converter and leveraged into $400 of CIC tokens (the value changes as reserve is removed).
|
||||
|
||||
2. Default Token Options
|
||||
*. Based on the users location the system has preset defaults:
|
||||
1. 25% Target Reserve Ratio (1:1 with reserve)
|
||||
1. Minimum initial reserve is $100 USD in value
|
||||
|
||||
3. Chosen Options
|
||||
1. Token Name (limited to 9 characters (auto converted to lowercase no special letters) (TOKEN_NAME)
|
||||
2. Reserve amount (the minimum is 10,000 Kenyan Shillings in value- higher amount means a higher price of the final tokens) - Max is the user’s current balance. Note that this10,000 Kenyan Shillings can be in the form of other tokens and converted to Sarafu.
|
||||
3. How many initial members? (NUM)MEMBERS)
|
||||
4. How much will initial members receive (INITAL_NEWUSER_AMT) (maximum is MAX_CIC_CREATED/NUM_MEMBERS)
|
||||
5. Note that members must ‘join’ the token (via USSD) using the TOKEN_NAME to receive this.
|
||||
|
||||
4. Pin
|
||||
“Enter PIN
|
||||
_______________”
|
||||
|
||||
Repeat Pin
|
||||
“Enter PIN again
|
||||
_______________”
|
||||
|
||||
Pop Up:
|
||||
“Your TOKEN_NAME token is being created.
|
||||
You’ll receive an SMS when your token is ready.”
|
||||
|
||||
Error:
|
||||
If the user doesn’t repeat the same password pop up with the text
|
||||
“Wrong PIN, please try again”
|
||||
|
||||
Clicking back will lead to Repeat Pin screen
|
||||
|
||||
5. “You will receive an SMS when your TOKEN_NAME token is ready”
|
||||
|
||||
|
||||
6. Approval
|
||||
|
||||
At this stage, the wallet creation starts confirmation SMS will be sent only when the Backend process (see below) is over.
|
||||
|
||||
If token creation succeeds:
|
||||
Send an SMS to the user with the following text
|
||||
|
||||
SMS:
|
||||
“You have just created the TOKEN_NAME token!
|
||||
Dial *483*46# Airtel or *384*96# to use TOKEN_NAME token
|
||||
Tell your members to JOIN TOKEN_NAME via My Account”
|
||||
|
||||
If account creation fails:
|
||||
Send an SMS to the user with the following text:
|
||||
“Whoops! There was a problem creating your token. To try again Dial *483*46#. If issues persist contact support: 0757628885”
|
||||
|
||||
Token creation process - Backend
|
||||
|
||||
Start this process between step 5 to 6,
|
||||
Save all the information created in the process on the SEMPO DB.
|
||||
Generate a token and converter on xDAI and store private and public keys
|
||||
|
||||
Mint the standard amount of tokens. (40,000)
|
||||
Convert the users tokens into nDAI and put them into the converter. (min 10,000)
|
||||
The new token should have a value of at least 1:1 with nDAI and be at least at 25% reserve
|
||||
|
||||
Put the TOKEN_NAME tokens into the User’s wallet (Group wallet) - note that when other users later join (via my account -> join Chama) the TOKEN_NAME they will receive tokens from this wallet. - there is a contract here.
|
||||
|
||||
The token owner should not be able to transfer more tokens than he has committed to new users.
|
||||
|
||||
The token owner should have his community token for auto-convert set to TOKEN_NAME
|
||||
|
||||
This account is now considered a GROUP account!? Meaning that only it can cash out 50% a month from it’s own reserve.
|
||||
|
||||
If the token has been created send the SMS for the token creation approval.
|
||||
|
||||
Else send error.
|
||||
|
||||
|
||||
Action items:
|
||||
Token Value Alerts
|
||||
Whenever the token is converted to another token or nDAI and the price changes more than 10% an alter is sent to the token holders
|
||||
Message Alert your BALANCE TOKEN_NAME tokens have changed in +10% / -10% value and are now worth (value of Balance in nDAI)
|
||||
Note that the receipt messages for token transfers that include a conversion should also show the tokens exchange value (this is already ont he USSD system)
|
||||
|
||||
|
||||
|
||||
## Implementation
|
||||
|
||||
### Workflow
|
||||
|
||||
### Variables
|
||||
|
||||
### Interface
|
||||
|
||||
|
||||
## Testing
|
||||
<!--
|
||||
Please describe what test vectors that are required for this implementation
|
||||
-->
|
||||
|
||||
## Changelog
|
||||
<!--
|
||||
Please remember to describe every change to this document in the changelog using
|
||||
serial number:
|
||||
|
||||
* version 1:
|
||||
-->
|
Loading…
Reference in New Issue
Block a user