PART III. A New Smart Contract Solution to Building a Pre-Order Book and Automating Token Issuance
In this third part, we take a closer look at the smart contract that will help build our pre-order book and how its design reduces regulatory risk.
Token issuance models vary, from algorithmic “immaculate conception” distributions to manual and often opaque pre-sales using analog legal documentation.
We spent a fair bit of time thinking how to make our forthcoming token issuance simple, fair, and transparent.
We also wanted to see if there would be an easy way to test community interest without having to worry too much about regulatory restrictions at the pre-sale stage.
In what follows, we explain why we made to the design choices we made, followed by a closer look at our proposed token issuance smart contract. We conclude with more details on our OtoCo token sale process.
1. The idea behind our design
The idea behind our approach comes largely from our belief that we've been doing capital formation all wrong, or at least that the way we have been raising capital for venture building in the past is no longer relevant to crypto and blockchain projects.
In the blockchain space, community interest precedes product. Ideas and roadmaps rather than products get staked, and founders want a quick way to translate this interest into funding that helps them get their project off the ground.
The idea here is that once you’ve received some initial funding, you can then figure out, together with the community, what's best for your project.
So we started tinkering with a “new new” capital formation tool that would help projects, including OtoCo itself, raise flash funds onchain, ICO-style, without the fear of regulatory reprisals. At the same time, we wanted our design to be simple, fair and transparent.
No fear
First, we looked at ways to raise initial funds without the fear for regulatory reprisals.
The challenge was to find a way to raise capital from the widest possible group of investors without offending securities regulators.
We looked at a number of models from outside the blockchain space. i.e. pre-orders of still-to-be-launched products, pre-paid phone cards, voucher schemes etc.
We then stumbled on a key insight: you can ask people for money as long as you hold it in escrow and you give them their money back if they want out.
In the simplest terms: as long as you can’t get your hands on other people’s money, they haven’t invested in you.
This got us started on a rudimentary escrow smart contract.
Blockchain does escrow really well, compared to the paper mill and costs of an offchain, lawyer-mediated escrow arrangement.
DeFi provides a self-custodied variant of escrow, by letting you stake and unstake using your own wallet: you lock some crypto assets e.g. when you stake a liquidity pool on a decentralized exchange, and simply unstake when you do no longer want to provide liquidity.
Applying this principle, we became comfortable that if we would ask people to stake us over an initial period during which they could also unstake, such staking in itself would not be considered a securities offering.
As a result, the risk for regulatory reprisals during this initial phase, which we refer to as the “token pre-order window”, could be significantly reduced.
Simple
The above approach has the added benefit that it is simple: anybody can open a token-pre-order window and invite their followers to stake.
In its simplest implementation, all stakers do is secure a place in the queue. By unstaking, they leave the queue. All along, the smart contract keeps track of who is in what place in the queue.
Transparent
The use of blockchain also guarantees the transparency of the process.
This becomes especially relevant when rewards are linked to people’s place in the queue.
In the context of a capital raise, such rewards are typically bigger discounts to those who commit early as a premium for their higher risk.
The still widely used Simple Agreement for Future Tokens (or “SAFT”, which is in itself an investment instrument even if the underlying token may not be a security) does precisely that: the earlier you contribute, the higher your discount on the future token price.
However, the discount applied in a SAFT is a matter of bilateral negotiation between the issuer of the SAFT and each contributor. From what we have seen, this process is often open to favoritism or quickly deteriorates into horse trading.
To take our the human factor, in our proposed smart contract we inserted a simple bonding curve function, essentially an algorithm that sets the price for each token pre-purchase slot along an upward sloping curve, rewarding stakers with a lower price the earlier they join the queue.
In addition, when we’re ready to open our OtoCo token pre-order window to stakers, we’ll publish the slope of this curve to ensure full transparency on pricing and discounting.
Fair
Our last design imperative was to make our token issuance fair.
The transparency on price described above goes a long way in creating fairness.
In addition, using smart contracts guarantees better enforcement of whichever fairness parameters are embedded in its code.
For instance, we consider capping the maximum amount any single staker can stake, though we realize this is easily circumvented when the same staker uses several wallets.
We’re still iterating on this and our smart contract design more broadly and if you want to help please join our OtoCo’s official Telegram channel.
2. Our proposed staking smart contract
A first release of our staking smart contract reflecting the above design can be found in OtoCo’s GitHub, together with initial technical documentation.
The staking contract lets anybody who wants to pre-purchase the OtoCo token reserve a slot in a pre-order queue over a specific period of time.
During this token pre-order period, stakers can:
Secure a place in the pre-order queue
They can do so by simply staking any amount of crypto assets - up to a given maximum - into a smart contract that keeps track of the amounts staked and the order in which staking happened.
Lock in their pre-order token price
The bonding curve function of the smart contract generates a price Y for each slot X in the pre-order queue. The curve slopes upwards, so the later you pre-order the higher the price.
Our front-end will show what place in the queue is available next and the corresponding token price for that specific slot.
Stakers who unstake at any time during the pre-order period but will lose their place in the queue and hence forfeit the price they had locked in.
Each staking and unstaking triggers an event at the smart contract level which dynamically recalculates the pre-order price for each staker. By simply connecting their wallet, stakers can see at all times how their price adjusted when other stakers left the queue.
As long as stakers stay staked throughout the entire pre-order period, their price can only move in their favor, since they move back down the sloping curve. This is a very powerful incentive for stakers to stay in the queue!
Click into the deal
At the end of the pre-order period, stakers will automatically be issued the number of tokens equivalent to the amount they staked divided by their final pre-order token price, as calculated above.
The cut-off date and time will be clearly announced and - at least in our proposed implementation - anybody who remained staked up to that point will automatically see their stake convert into committed capital. They clicked into the deal.
Get yourself sorted!
What this deal precisely entails is entirely up to the sponsors of the project to decide.
The idea here is very much that the pre-order period gives project leads sufficient time to work on deal terms with early stakers and communicate with the community at large about what they will do with the committed capital in the next phase for the project, including figuring out the legals and regs.
This design gives full freedom to future users to at that stage determine if for instance:
tokens will automatically flow to the wallets of participants since there is no need to whitelist them. This would be the case for projects that do not issue a security token, such as OtoCo;
or there’s a hold period during which everybody will be asked to whitelist and accredit e.g. under a Reg D+S type security token offering. In such case, there would also need to be a way for the sponsor to return funds to those participants who do not cooperate or otherwise fail to whitelist, and future versions of our smart contract may cater for this.
3. The OtoCo token sale process
We smartcontractified the bookbuilding process described above first and foremost for our own token sale process but we hope the solution may help other projects too.
Once we’ve tested it on ourselves, we will most likely offer it as a solution to our otoco.io users who want to get their token pre-sold the same way.
Before we do so, we have some more work to do, including an audit of our smart contract before we use it for our own purposes.
Expect an announcement in the next weeks with a firm date of the start of our pre-order period together with details of our token distribution via our official “Road to OtoCo” Telegram channel.