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.
Returns: Dict
- Mint parameters with the following fields:
mint_denom
(str
): Token denomination being mintedinflation_rate_change
(str
): Rate of inflation change per yearinflation_max
(str
): Maximum inflation rateinflation_min
(str
): Minimum inflation rategoal_bonded
(str
): Target bonded token ratioblocks_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.
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).
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.
Returns: Dict
- Complete minting information with the following fields:
params
(Dict
): Mint parametersmint_denom
(str
): Token denomination being mintedinflation_rate_change
(str
): Rate of inflation change per yearinflation_max
(str
): Maximum inflation rateinflation_min
(str
): Minimum inflation rategoal_bonded
(str
): Target bonded token ratioblocks_per_year
(str
): Expected blocks per year
current_inflation
(str
): Current inflation rateannual_provisions
(str
): Annual provisions in base unitsstatus
(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')}")