SPIN — A Self-Sovereign Token Protocol
SPIN is an ERC-20 token on Ethereum with zero initial supply, no operator, and no off-switch. Every token in existence was minted against real ETH paid by a real buyer. The protocol is a set of immutable smart contracts — no admin keys, no upgrade paths, no team allocation. The code enforces the rules. The market determines the price.
1. Bonding Curve
SPIN lives on a continuous bonding curve. There is no order book, no liquidity pool in the traditional sense, and no market maker other than mathematics.
q(e) = K * (1 - e^(-e/S)) K = 3^21 = 10,460,353,203
S = 800 ETH
marginal price:
p(e) = (S / K) * e^(e/S)
ETH returned for selling b tokens:
Δe = S * ln((K - q + b) / (K - q))Properties:
- Supply starts at zero and grows with each buy
- Price rises exponentially — early buyers pay less, late buyers pay more
- The curve is asymptotic: maximum theoretical supply is 3^21 SPIN, unreachable in practice
- Every sell burns tokens, pushing the ceiling further away
- All computation happens on-chain with no oracles
At small ETH values relative to S=800, the curve is near-linear. A 1 ETH buy yields approximately 13 million SPIN. Significant curvature emerges as cumulative ETH approaches S.
2. Buy and Sell
SPIN trades through a custom router that interacts with a Uniswap v4 pool. The pool is backed by a hook that implements the bonding curve math.
Buy:
Send ETH to the router. The router settles with the PoolManager. The hook mints SPIN at the current curve price and delivers it to the buyer, minus tax.
Sell:
Send SPIN to the router. The hook burns the after-tax portion and returns ETH to the seller from the cumulative reserve.
Tax:
Every buy and every sell pays a tax in SPIN. The tax enters the lock pool — the protocol's reward reserve for stakers. Tax rates:
- Phase 1: 0.2% (2 bps per 1000)
- Phase 2: 0.5% (5 bps per 1000)
MEV Protection:
1-block cooldown per address and globally. Deadline parameter prevents stale transactions. Standard Uniswap-style slippage controls protect against front-running. Three layers of defense:
- Cooldown: 1 block per address, 1 block globally — no same-block sandwiching
- Deadline: user-set transaction expiry — no stale execution
- Slippage: min output / max input — no value extraction
3. Two Phases
SPIN has two phases, gated by circulating supply reaching 3^17 (129,140,163 SPIN).
| Phase 1 | Phase 2 | |
|---|---|---|
| Trigger | Initial state | Circulating supply >= 3^17 |
| Tax | 0.2% | 0.5% |
| Max Buy | 1 ETH | Unlimited |
| NFT Minting | Closed | Opens |
| Staking Rewards | Accumulates | Releases |
The transition is automatic, irreversible, and requires no human intervention. Phase 1 accumulates the treasury. Phase 2 distributes it.
4. Lock Pool and Staking
The lock pool is the protocol's memory. Every tax payment flows into it. In Phase 2, it releases SPIN to stakers every 10+ blocks.
Release Algorithm:
deficit = 3^17 - circulatingSupply
release = (deficit * 5 * blocksElapsed) / 100000
capped at 1,000,000 SPIN per releaseThe release rate is proportional to the deficit — the further supply is from the threshold, the faster the lock pool distributes. As supply approaches the threshold, releases slow naturally.
Key Properties:
- No inflation — stakers earn only what traders paid
- No printed yield — every reward token came from a real tax event
- Release is automatic and block-driven
- User reward formula:
(userWeight * accRewardPerWeight / 10^36) - rewardDebt
5. Vortex NFT
Vortex is the foundational equity credential. Maximum 19,683 (3^9) will ever exist.
| Parameter | Value |
|---|---|
| Cost | 13,000 SPIN (locked 7 days) |
| Max Supply | 19,683 |
| Mint Opens | Next day UTC 14:00 after Phase 2 |
| Pre-registration | 1 hour before (UTC 13:00) |
Minting:
One Vortex per address. Pay with SPIN or ETH. 13,000 SPIN is locked for 7 days, after which the original minter can withdraw it — even if the NFT was transferred or staked.
Staking Weight (tiered by quantity):
| Quantity | Weight per NFT |
|---|---|
| 1–3 | 100 each |
| 4–10 | 50 each |
| 11+ | 10 each |
This rewards distribution over concentration. NFTs are soft-staked — they remain in your wallet.
Pre-Registration:
After Phase 2 triggers, anyone can pre-register on-chain. Pre-registered addresses get 1-hour priority minting before public access opens. The mint schedule follows two rules:
- Phase 2 triggers →
enableMinting(block.timestamp)is called on-chain - publicMintTime is set to the next day UTC 14:00
- Pre-registered users can mint from UTC 13:00 (1 hour early)
- Non-registered users must wait until UTC 14:00
6. Singularity NFT
Forged by burning Vortex and SPIN. A higher-tier permanent staking credential.
| Parameter | Value |
|---|---|
| Cost | 13,000 SPIN + 2 Vortex (burned) |
| Max Supply | 5,000 |
| Activation | Hook balance >= 15 ETH |
| Per Address | Maximum 3 |
Rarity Distribution:
| Rarity | Chance | Weight |
|---|---|---|
| Common | 50% | 200 |
| Rare | 25% | 300 |
| Epic | 15% | 500 |
| Legendary | 8% | 1,000 |
| Mythic | 2% | 2,500 |
Rarity is determined on-chain via prevrandao at forge time. Forging burns 2 Vortex permanently and locks 13,000 SPIN in the lock pool forever. Singularity has no lock period — it is purely a permanent high-weight staking credential. The forging process:
- User selects 2 un-staked Vortex from wallet
- User approves 13,000 SPIN for the NFT contract
- Forge burns both Vortex, transfers SPIN to lock pool
- Rarity rolled via
keccak256(prevrandao, sender, totalMinted) % 10000 - Singularity minted with ID 30000+, weight stored on-chain
No premine. No team allocation. No admin key. No upgrade path. Every parameter is hardcoded. Every rule is enforced by immutable code. If everyone who built SPIN disappeared tonight, the contracts would run tomorrow. Same rules. Same prices.
no operator. no off-switch. just code.