Fee Model
This guide provides detailed information about Monolythium's transaction fee model.
Overview
Monolythium uses a 90% burn / 10% distribute fee model:
Transaction Fee
│
├── 90% → Burn Address (permanent removal)
│
└── 10% → Fee Pool (staker rewards)
This creates deflationary pressure proportional to network usage.
Fee Components
Gas
Gas measures computational work:
Fee = Gas Used × Gas Price
| Component | Description |
|---|---|
| Gas Limit | Maximum gas willing to consume |
| Gas Used | Actual gas consumed |
| Gas Price | LYTH per unit of gas |
Minimum Gas Price
Minimum: 0.025 alyth per gas
Transactions below this price are rejected by validators.
Fee Flow
Step 1: Fee Deduction
When a transaction is included:
Sender Balance -= Transaction Fee
Step 2: Fee Split
The fee handler splits the fee:
burnAmount := fee.Amount.Mul(sdk.NewDecWithPrec(90, 2)) // 90%
distributeAmount := fee.Amount.Sub(burnAmount) // 10%
Step 3: Burn
90% is sent to the burn module:
Burn Module Account += 90% of Fee
Total Supply -= 90% of Fee
Step 4: Distribution
10% goes to the distribution module:
Fee Pool += 10% of Fee
→ Distributed to validators/delegators per-block
EVM Integration
EVM Fee Handling
EVM transactions use the same fee model:
- Gas price set in Wei (converted from LYTH)
- Gas consumed during execution
- Fee calculated and split 90/10
- Same burn mechanism applies
Gas Price Conversion
1 LYTH = 10^18 Wei (EVM)
1 LYTH = 10^18 alyth (Cosmos)
MetaMask gas prices in Gwei convert directly.
Dynamic Fee Market
Current Model
Monolythium uses a minimum gas price floor model:
- Transactions must meet minimum (0.025 alyth)
- Higher prices prioritized during congestion
- No EIP-1559 style base fee adjustment
Prioritization
Validators typically order transactions by gas price:
Block Contents = Highest Gas Price First (within gas limit)
Fee Estimation
Cosmos CLI
# Dry run to estimate gas
monod tx bank send <from> <to> <amount> \
--gas=auto \
--dry-run
# Execute with estimated gas + buffer
monod tx bank send <from> <to> <amount> \
--gas=auto \
--gas-adjustment=1.3 \
--gas-prices=0.025alyth
EVM RPC
// eth_estimateGas
const gasEstimate = await provider.estimateGas({
to: recipient,
value: amount,
data: data
});
// Add buffer
const gasLimit = gasEstimate * 1.2;
Fee Scenarios
Native Transfer
Operation: Send 100 LYTH
Gas Used: ~65,000
Gas Price: 0.025 alyth
Fee: 1,625,000 alyth (0.000001625 LYTH)
Burned: 0.0000014625 LYTH
Distributed: 0.0000001625 LYTH
Smart Contract Deploy
Operation: Deploy ERC-20 contract
Gas Used: ~1,500,000
Gas Price: 0.025 alyth
Fee: 37,500,000 alyth (0.0000375 LYTH)
Burned: 0.00003375 LYTH
Distributed: 0.00000375 LYTH
Staking Operation
Operation: Delegate 1000 LYTH
Gas Used: ~200,000
Gas Price: 0.025 alyth
Fee: 5,000,000 alyth (0.000005 LYTH)
Burned: 0.0000045 LYTH
Distributed: 0.0000005 LYTH
Fee Economics
Network Revenue
Total daily fees depend on:
- Transaction count
- Average gas per transaction
- Average gas price
Burn Rate Impact
| Daily Transactions | Avg Fee | Daily Burn (90%) |
|---|---|---|
| 100,000 | 0.00005 LYTH | 4.5 LYTH |
| 1,000,000 | 0.00005 LYTH | 45 LYTH |
| 10,000,000 | 0.00005 LYTH | 450 LYTH |
Break-Even with Inflation
At 8% inflation (~171,000 LYTH/day):
Required daily burn to offset: 171,000 LYTH
At 90% burn rate: 190,000 LYTH in fees needed
At 0.00005 LYTH avg fee: 3.8 billion transactions/day
This shows that without extremely high volume, supply will grow at 8% inflation.
Advanced Topics
Fee Grants
Allow one account to pay fees for another:
# Grant fee allowance
monod tx feegrant grant <granter> <grantee> \
--spend-limit 1000000alyth \
--expiration "2025-12-31T23:59:59Z"
# Use the grant
monod tx bank send <from> <to> <amount> \
--fee-granter <granter>
Use cases:
- Onboarding users without LYTH
- Application-sponsored transactions
- Batched operations
Multi-Message Transactions
Combine multiple operations in one transaction:
monod tx multi-send \
--from <sender> \
<recipient1> <amount1> \
<recipient2> <amount2>
More efficient than separate transactions.
Fee Parameters
Genesis Parameters
{
"fee_burn_rate": "0.90",
"minimum_gas_prices": "0.025alyth"
}
Governance
The burn rate (90%) is not modifiable via governance - it requires a chain upgrade.
Minimum gas price can be adjusted by validators individually in their app.toml.
Monitoring Fees
Query Fee Pool
monod query distribution fee-pool
Track Burns
Monitor the burn address:
monod query bank balances mono1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqnrql8a
Transaction Fees
View fee for a specific transaction:
monod query tx <txhash> | jq '.tx.auth_info.fee'
FAQ
Why 90% burn instead of 100%?
The 10% distribution to stakers maintains validator incentives beyond inflation, ensuring network security even in low-inflation scenarios.
Can gas prices go below minimum?
No. Transactions with gas prices below 0.025 alyth are rejected by compliant validators.
Do validators keep extra fees?
No. Validators don't extract additional value - all fees follow the 90/10 split.
Are fee burns visible on-chain?
Yes. Each block records the burn amount, and the burn address balance can be queried.
What if I set gas too low?
The transaction will fail with "out of gas" error. You lose the gas consumed up to that point.
Related
- Transaction Fees - User guide
- Burning - Burn mechanics
- Tokenomics - Economic model