LPsLux Proposals
Research
LP-6481

LuxDA Fee Markets

Draft

LuxDA Fee Markets specification for LuxDA Bus

Category
Core
Created
2026-01-02

Abstract

This LP defines the fee markets for LuxDA Bus services: header inclusion, blob dispersal, storage, and retrieval.

Specification

1. Fee Components

ServiceUnitBase Fee
Header Inclusionper header0.001 LUX
Blob Dispersalper KB0.0001 LUX
Blob Retrievalper KB0.00005 LUX
Long-term Storageper KB/day0.00001 LUX
Queryper query0.0001 LUX

2. Fee Proof Types

type FeeProof struct {
    Type      FeeProofType
    Data      []byte
}

type FeeProofType uint8
const (
    FeeProofPrepaid     FeeProofType = 1  // Pre-purchased quota
    FeeProofOnChain     FeeProofType = 2  // On-chain payment
    FeeProofChannel     FeeProofType = 3  // Payment channel voucher
    FeeProofStake       FeeProofType = 4  // Stake-proportional free tier
)

3. Dynamic Pricing

EIP-1559-style mechanism:

type FeeMarket struct {
    BaseFee       *big.Int
    TargetUsage   float64  // 50% utilization target
    MaxChange     float64  // 12.5% max change per block
}

func (fm *FeeMarket) UpdateBaseFee(actualUsage float64) {
    if actualUsage > fm.TargetUsage {
        delta := min((actualUsage - fm.TargetUsage) / fm.TargetUsage, fm.MaxChange)
        fm.BaseFee = fm.BaseFee * (1 + delta)
    } else {
        delta := min((fm.TargetUsage - actualUsage) / fm.TargetUsage, fm.MaxChange)
        fm.BaseFee = fm.BaseFee * (1 - delta)
    }
}

4. Fee Distribution

Header Fee:    70% Validator, 20% Treasury, 10% Burn
DA Fee:        80% DA Operators, 10% Treasury, 10% Burn
Retrieval:     90% Provider, 10% Treasury
Storage:       90% Provider, 10% Treasury

LP-6481 v1.0.0 - 2026-01-02