Revnet Modeler: Simulation Tool
Problem
Planning revnet parameters requires understanding how different configurations affect
treasury dynamics, token distribution, and participant outcomes over time. The modeler
simulates these dynamics before deployment.
Context / Trigger Conditions
- Planning a new revnet deployment
- Comparing different parameter configurations
- Understanding how events (investments, loans, cash-outs) affect the system
- Visualizing treasury and token dynamics
- Explaining chart outputs to users
Solution
Tool Location
Open in browser to use the interactive modeler.
Seven Economic Levers (Per Stage)
Each stage can configure:
| Stage Start Day | When this stage begins | Defines stage transitions |
| Initial Issuance Rate | Tokens minted per $ | Higher = more tokens per payment |
| Issuance Cut % | % reduction per period | Creates supply scarcity over time |
| Issuance Cut Frequency | Days between cuts | Controls cut rate (7, 14, 28 days) |
| Split % | % of minted tokens to splits | Team/reserved allocation |
| Cash-Out Tax Rate | Bonding curve tax (0-100%) | Higher = more treasury retention |
| Auto-Issuances | Automatic token mints | Pre-scheduled distributions |
Event Types
The modeler supports these event types:
| Event | Description | Treasury Effect |
investment | External payment | + backing, + supply |
revenue | Operating revenue | + backing, + supply |
loan | Take loan against tokens | - backing (net of fees) |
payback-loan | Repay loan | + backing |
cashout | Redeem tokens | - backing, - supply |
Events are labeled by participant (e.g., "Team", "Investor A", "Customer").
Available Charts
Treasury & Value Charts
| Treasury Backing | Total backing over time | Overall treasury health |
| Cash Out Value | Per-token redemption value | Floor price dynamics |
| Issuance Price | Token mint cost | Ceiling price with cuts |
| Cash Flows | Inflows/outflows by day | Event impact on treasury |
Token Charts
| Token Distribution | Tokens by holder (liquid + locked) | Who holds what |
| Ownership % | Percentage ownership over time | Dilution visualization |
| Token Valuations | Dollar value of holdings | Participant wealth |
| Token Performance | ROI % by participant | Investment returns |
Loan Charts
| Loan Potential | Max borrowable by holder | Available liquidity |
| Loan Status | Outstanding loan amounts | Current debt |
| Outstanding Loans | Loan values over time | Debt trajectory |
| Tokens Backing Loans % | % of tokens as collateral | Leverage exposure |
Fee Charts
| Fee Flows | Internal vs external fees | Fee destination breakdown |
State Machine Calculations
The modeler uses a state machine (StateMachine.getStateAtDay(day)) that tracks:
{
day: number,
revnetBacking: number, // Treasury balance
totalSupply: number, // Total token supply
tokensByLabel: { // Tokens held by each participant
"Team": 1000,
"Investor A": 500,
...
},
dayLabeledInvestorLoans: { // Outstanding loan amounts by participant
"Team": 50000,
...
},
loanHistory: { // Detailed loan records
"Team": [
{ amount: 50000, remainingTokens: 100, ... }
]
}
}
Key Formulas
Cash-Out Value (Bonding Curve)
calculateCashOutValueForEvent(tokensToCash, totalSupply, backing, cashOutTax) {
const proportionalShare = backing * tokensToCash / totalSupply
const taxMultiplier = (1 - cashOutTax) + (tokensToCash * cashOutTax / totalSupply)
return proportionalShare * taxMultiplier
}
Loan Fees
// Internal fee (to treasury)
const internalFee = loanAmount * 0.025 // 2.5%
// External fee (to protocol)
const externalFee = loanAmount * 0.035 // 3.5%
// Interest (after grace period)
const annualInterest = 0.05 // 5% after 6-month grace period
Pre-Built Scenarios
The modeler includes pre-configured scenarios:
conservative-growth | Steady investment, gradual expansion |
hypergrowth | Rapid investment, high volatility |
bootstrap-scale | Small start, then scale-up |
vc-fueled | Large early investment, then revenue |
community-driven | Many small investments |
boom-bust | Growth followed by cash-outs |
Each has variants:
-with-loans,
-with-exits
Interpreting Results
Treasury Health
- Healthy: Backing grows over time, floor price increases
- Warning: Backing flat or declining, many cash-outs
- Critical: Large loan defaults, negative treasury trajectory
Token Distribution
- Balanced: No single holder > 50%
- Concentrated: Few holders control majority
- Diluted: Early holders significantly diluted
Loan Exposure
- Safe: < 20% of tokens backing loans
- Moderate: 20-50% collateralized
- High: > 50% collateralized (systemic risk)
Using for Planning
Set stages matching your fundraising/growth planAdd events representing expected investments, revenue, exitsRun simulation and review chartsIterate on parameters until dynamics match goalsCompare multiple scenarios to stress-test
Verification
Verify cash-out calculations match bonding curve formulaCheck loan fees sum to expected percentagesConfirm token distribution adds to total supplyValidate treasury balance equals sum of inflows - outflows
Example
Planning a revnet with team allocation and investor entry:
Stage 1 (Days 0-90):
- Issuance: 1,000,000 tokens/$
- Split: 30% to Team
- Cash-out tax: 10%
Events:
Day 1: Team invests $10,000
Day 30: Investor A invests $50,000
Day 60: Revenue $20,000
Day 90: Team takes loan (50% of tokens)
Run simulation → Review:
- Token Distribution: Team 30%, Investor A 50%, Revenue recipients 20%
- Team's loan potential and actual loan
- Treasury backing trajectory
- Cash-out value for each participant
Notes
- Modeler uses simplified fee model (may differ from exact contract implementation)
- Simulations are deterministic given same inputs
- Charts update automatically when parameters change
- Export scenarios for comparison and documentation
- The modeler runs entirely client-side (no data sent externally)
References
- Tool:
- State machine:
- Charts:
- Academic validation: /revnet-economics` skill