Docs
How Vellum works
Status
Vellum is in pre-launch. This site runs the curve maths and the bond rules in TypeScript, with tests. The on-chain program that will enforce them is not written or deployed yet, so no coin can be created or traded. Everything below describes the design the program will follow.
The idea
A memecoin roadmap costs nothing to write and nothing to ignore. Vellum makes the dev put the roadmap on the coin itself, as a short list of promises with deadlines, and makes each promise carry money. Keeping a promise returns the money. Missing the deadline hands it to the people who held the coin.
The charter
A charter has between one and 6 promises. Each promise is a sentence of up to 140 characters, a deadline counted in days after launch, a proof, and a share of the bond money. The shares add up to 100%. The charter is stored with the coin when it is created and has no instruction to edit it.
Proofs
Every promise names how it will be checked. There are four proofs.
- Program live. A program is deployed and executable at the address in the charter. It shows that code exists at that address, not that the code is good.
- Burn. The creator's wallet has burned the promised share of the supply.
- Hold. On the deadline, the creator's wallet still holds the promised share of its first buy. Tokens the creator burned count as held. This one can only settle on the deadline itself.
- Witness. For work the chain can't see, a wallet named in the charter signs that it was delivered. The witness can't be the creator's wallet. If it doesn't sign by the deadline, the promise is broken.
Bonds
Each promise has a bond, held by the program. Bonds fill in two ways. The creator can put SOL in up front, in the launch transaction, split between the promises by their shares. And 0.6% of every trade (the creator's part of the 1% fee) is split between the promises that are still open, by their shares. A settled promise takes nothing more, so the open ones share its part.
Once every promise is settled, that 0.6% goes to the creator directly.
Settling a promise
Anyone can send the settle instruction; it pays only the network fee. Before the deadline it succeeds only if the proof is there, and the bond returns to the creator. After the deadline it always succeeds: with a proof dated in time the promise is kept, without one it is broken. A proof that lands late doesn't count.
Paying a broken bond
A broken bond is paid to holders in proportion to their tokens, counted at the deadline. The curve pool and the creator's wallet are left out of the count. Rounding dust goes to the largest holder. If nobody holds the coin, the bond goes to the protocol treasury and never to the creator. No cut is taken from a bond.
The curve
Coins trade on a constant product curve with 30 virtual SOL and a supply of one billion tokens. All maths are integer, and every rounding favours the pool, so a buy followed at once by a sell never makes a profit.
Limits
- Promises per charter: 1 to 6.
- Deadline: 1 to 365 days after launch.
- Burn promise: at most 50% of the supply.
- Up-front bond: at most 100 SOL.
- Dev buy: at most 50 SOL.
- Trade fee: 1%. Launch fee: 0.05 SOL.