LogoLogo
WebsiteSubstrate Block ExplorerEVM Block ExplorerFaucet
  • Learn
    • Architecture
    • Staking
      • Proof of stake
    • Smart Contracts
    • Accounts
    • Infrastructure
      • Nodes
      • Agents
      • Models
      • IPFS
    • Security
      • OPOC
      • TSS
      • IPFS Integrity
      • Model Updates Integrity
    • Fees
    • Finney Testnet RPC Endpoints
  • Build
    • Address format
    • ink! Environment
    • Wasm Smart Contracts
      • Smart Contract Stack
      • Domain-Specific Languages (DSLs)
      • ink! Development
      • ask! Development
      • Basic ink! Contract
    • EVM Smart Contracts
      • Introduction to EVM Smart Contracts
      • HardHat
      • Your first EVM Smart Contract
      • Debug EVM Transactions
      • Precompiles
        • SR25519
        • Substrate ECDSA
        • XC20
    • Run a node
      • Run an archive node
        • Binary
      • Run a full node
      • Become a validator
        • Learn about Validators
        • Validator requirements
        • Spin up a validator
        • Set your identity
    • Build an Agent
      • Introduction
      • Development
      • Installing WASP
      • Agents API Reference
      • Available AI Models
Powered by GitBook
On this page
  • Transaction Fees in UOMI
  • Overview
  • Native Transaction Fees
  • Ethereum-Compatible Fees
  • Fee Market Dynamics
Export as PDF
  1. Learn

Fees

PreviousModel Updates IntegrityNextFinney Testnet RPC Endpoints

Last updated 3 months ago

Transaction Fees in UOMI

Overview

UOMI implements a dual fee system to support both native Substrate transactions and Ethereum-compatible operations. This hybrid approach ensures efficient resource allocation and network stability while maintaining compatibility with both ecosystems.

Native Transaction Fees

Fee Components

The native fee calculation follows the standard Substrate model:

Fee = Length Fee + Base Fee + (Weight Fee × Adjustment) + Tip

Where:

  • Length Fee: Proportional to transaction byte size

  • Base Fee: Fixed cost per transaction

  • Weight Fee: Computational resources cost

  • Adjustment: Dynamic scaling factor based on network congestion

  • Tip: Optional priority payment

Implementation Details

The fee adjustment mechanism ensures network stability by:

  • Scaling fees based on block space utilization

  • Implementing surge pricing during high congestion

  • Maintaining predictable base costs for standard operations

Ethereum-Compatible Fees

Dynamic Fee Model

Based on the provided pallet code, UOMI implements EIP-1559 style fee calculation:

Fee = Gas Used × (Base Fee Per Gas + Priority Fee Per Gas)

Key Features

  1. Base Fee Adjustment:

let weight_used = Permill::from_rational(
    weight.total().ref_time(), 
    max_weight.ref_time()
).clamp(lower, upper);
  1. Elasticity Mechanism:

  • Adjusts base fee according to block utilization

  • Implements upper and lower bounds

  • Maintains target block utilization

Technical Implementation

The base fee adjusts according to network conditions:

if usage > target {
    // Increase base fee when above target utilization
    let coef = Permill::from_parts(
        (usage.deconstruct() - target.deconstruct()) * 2u32
    );
} else if usage < target {
    // Decrease base fee when below target utilization
    let coef = Permill::from_parts(
        (target.deconstruct() - usage.deconstruct()) * 2u32
    );
}

Fee Market Dynamics

Network Congestion Response

  • Fees automatically adjust based on block fullness

  • Target block utilization maintained through elasticity

  • Smooth fee transitions prevent sudden spikes

Economic Incentives

  1. For Users:

    • Predictable base fees

    • Optional priority fees for faster inclusion

    • Protection against fee spikes

  2. For Validators:

    • Stable reward structure

    • Additional incentives during high demand

    • Protection against spam attacks