Draft educational framework for planning issuance and allocation policy. Not legal, tax, accounting, or investment advice.
- Max Supply: Total number of tokens that can ever exist.
- Circulating Supply: Tokens currently unlocked and transferable.
- Locked Supply: Minted or reserved tokens that are not yet transferable (policy/vesting controlled).
- FDV (Fully Diluted Valuation):
max_supply * market_price. - Issuer: Stellar account that creates ALIENGOAT units.
Assume:
MAX_SUPPLY = 1,000,000,000 ALIENGOAT
Example allocation split:
- Seed Supporters:
10%→100,000,000 - Treasury / Community:
30%→300,000,000 - Ecosystem / Grants:
20%→200,000,000 - Team / Advisors (vested):
20%→200,000,000 - Liquidity / Market Ops:
20%→200,000,000
Formula:
bucket_tokens = MAX_SUPPLY * bucket_percent
tokens_awarded = donation_usd / seed_price_usd
If seed_price_usd = 0.002:
- $100 donation →
50,000tokens - $500 donation →
250,000tokens - $1,000 donation →
500,000tokens
tokens_awarded = (donation_usd / seed_price_usd) * time_multiplier
Example multipliers:
- Wave 1 (first 30 days):
1.25x - Wave 2 (next 30 days):
1.10x - Wave 3 (final):
1.00x
Add optional limits:
min_allocation_tokensmax_allocation_tokens_per_wallet
Define hard caps before minting:
seed_cap_tokensmonthly_mint_cap_tokenstreasury_unlocked_cap_tokens
Validation checks before each mint:
remaining_seed = seed_cap_tokens - seed_minted_so_far
mint_allowed = min(remaining_seed, monthly_mint_cap_tokens_remaining)
Reject mint if:
- requested amount >
mint_allowed - destination wallet not in approved allocation table
Let:
S0= circulating supply nowMt= newly unlocked/minted supply in periodt
Then:
S_t = S_(t-1) + M_t
period_dilution_pct = M_t / S_(t-1)
Example:
- Circulating now:
50,000,000 - New unlock this month:
5,000,000
dilution = 5,000,000 / 50,000,000 = 10%
If treasury sells tokens to fund operations:
monthly_burn_usdavg_realized_token_price_usd
tokens_needed_per_month = monthly_burn_usd / avg_realized_token_price_usd
runway_months = treasury_unlocked_tokens / tokens_needed_per_month
- Publish allocation table and formulas before launch.
- Keep a signed ledger (
allocations.csv) of donation → wallet → tokens. - Mint in batches (daily/weekly), not ad-hoc one-offs.
- Use multisig on issuer/distribution accounts.
- Consider issuer flags (
auth-required,auth-revocable) before broad distribution. - Add independent reconciliation after each mint batch.
wallet,donation_usd,wave,multiplier,seed_price_usd,tokens_awarded,status
GXXXX...,500,1,1.25,0.002,312500,pending
GYYYY...,1200,2,1.10,0.002,660000,pending
GZZZZ...,100,3,1.00,0.002,50000,pendingCalculation reference:
tokens_awarded = (donation_usd / seed_price_usd) * multiplier
- Destination trustline exists and is verified
- Wallet appears in approved allocation sheet
- Amount matches formula output
- Mint is within period/bucket cap
- Transaction hash recorded in audit log
- Post-mint balance reconciliation completed
For community transparency, publish:
- Max supply and each bucket %
- Vesting + unlock calendar
- Current circulating supply
- Minted-to-date vs cap
- Method used to convert donations into allocations
This reduces confusion and builds trust around issuance discipline.