Skip to main content

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
ComponentDescription
Gas LimitMaximum gas willing to consume
Gas UsedActual gas consumed
Gas PriceLYTH 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:

  1. Gas price set in Wei (converted from LYTH)
  2. Gas consumed during execution
  3. Fee calculated and split 90/10
  4. 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 TransactionsAvg FeeDaily Burn (90%)
100,0000.00005 LYTH4.5 LYTH
1,000,0000.00005 LYTH45 LYTH
10,000,0000.00005 LYTH450 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.