Skip to content

Inflation module

The inflation module provides inflation and mint parameter functionality for the Akash Network, enabling queries of inflation rates, annual provisions, and minting parameters.

InflationClient Class

from akash import AkashClient

client = AkashClient("https://akash-rpc.polkachu.com:443")

inflation = client.inflation

Queries

get_params()

Queries mint module parameters including inflation settings.

def get_params() -> Optional[Dict[str, Any]]

Returns: Dict - Mint parameters with the following fields:

  • mint_denom (str): Token denomination being minted
  • inflation_rate_change (str): Rate of inflation change per year
  • inflation_max (str): Maximum inflation rate
  • inflation_min (str): Minimum inflation rate
  • goal_bonded (str): Target bonded token ratio
  • blocks_per_year (str): Expected blocks per year

Note: Returns None if the query fails.

Example:

from akash import AkashClient

client = AkashClient("https://akash-rpc.polkachu.com:443")

params = client.inflation.get_params()

if params:
    print(f"Mint denom: {params['mint_denom']}")
    print(f"Inflation rate change: {params['inflation_rate_change']}")
    print(f"Inflation max: {float(params['inflation_max']) * 100:.1f}%")
    print(f"Inflation min: {float(params['inflation_min']) * 100:.1f}%")
    print(f"Goal bonded: {float(params['goal_bonded']) * 100:.1f}%")
    print(f"Blocks per year: {params['blocks_per_year']}")
else:
    print("Failed to fetch parameters")

get_inflation()

Queries the current inflation rate.

def get_inflation() -> Optional[str]

Returns: str - Current inflation rate as decimal string, or None if query fails

Note: Returns the inflation rate as a decimal string (e.g., "0.13" for 13%).

Example:

from akash import AkashClient

client = AkashClient("https://akash-rpc.polkachu.com:443")

inflation_rate = client.inflation.get_inflation()

if inflation_rate:
    rate_percent = float(inflation_rate) * 100
    print(f"Current inflation rate: {rate_percent:.2f}%")
    print(f"Raw value: {inflation_rate}")
else:
    print("Failed to fetch inflation rate")

get_annual_provisions()

Queries the current annual provisions (amount of new tokens minted per year).

def get_annual_provisions() -> Optional[str]

Returns: str - Annual provisions in base units, or None if query fails

Note: Returns the total amount of new tokens that will be minted in the current year, expressed in base units (uakt).

Example:

from akash import AkashClient

client = AkashClient("https://akash-rpc.polkachu.com:443")

provisions = client.inflation.get_annual_provisions()

if provisions:
    provisions_akt = int(provisions) / 1_000_000
    print(f"Annual provisions: {provisions_akt:,.0f} AKT")
    print(f"Raw provisions: {provisions} uakt")
else:
    print("Failed to fetch annual provisions")

get_all_mint_info()

Retrieves all minting information in a single call.

def get_all_mint_info() -> Dict[str, Any]

Returns: Dict - Complete minting information with the following fields:

  • params (Dict): Mint parameters
    • mint_denom (str): Token denomination being minted
    • inflation_rate_change (str): Rate of inflation change per year
    • inflation_max (str): Maximum inflation rate
    • inflation_min (str): Minimum inflation rate
    • goal_bonded (str): Target bonded token ratio
    • blocks_per_year (str): Expected blocks per year
  • current_inflation (str): Current inflation rate
  • annual_provisions (str): Annual provisions in base units
  • status (str): Query status ("success", "partial", or "error")
  • error (str, optional): Error message if status is "error"

Example:

from akash import AkashClient

client = AkashClient("https://akash-rpc.polkachu.com:443")

mint_info = client.inflation.get_all_mint_info()

if mint_info['status'] == 'success':
    print("Akash network inflation overview:")
    current_rate = float(mint_info['current_inflation']) * 100
    print(f"Current inflation rate: {current_rate:.2f}%")

    provisions = mint_info['annual_provisions']
    provisions_akt = int(provisions) / 1_000_000
    print(f"Annual provisions: {provisions_akt:,.0f} AKT")

    params = mint_info['params']
    print(f"Target bonded ratio: {float(params['goal_bonded']) * 100:.1f}%")
    print(f"Max inflation: {float(params['inflation_max']) * 100:.1f}%")
    print(f"Min inflation: {float(params['inflation_min']) * 100:.1f}%")
else:
    print(f"Failed to fetch mint info: {mint_info.get('error', 'Unknown error')}")