TriportRPC

getInflationGovernor

POSThttps://api.triport.io/v1/sol

Returns the cluster's current inflation governor — the set of fractions that govern how SOL is issued as staking rewards.

Solanasol_read_rpcfree+ — 20 / 60 / 200 / 600 RPS (free / basic / pro / business)

getInflationGovernor returns the cluster's inflation governor: the rule-set that determines the annual inflation rate over time. Unlike getInflationRate, which reports the realized inflation values for the current epoch, the governor describes the parameters that those values are derived from — the starting rate, the floor it tapers down to, the rate of that taper, and the share routed to the foundation.

Every field is a fraction in the range 0.01.0 (for example, 0.08 means 8% annual inflation). These values are governed by cluster configuration and change only rarely, so the result is effectively static between protocol parameter changes. Use it to model expected staking yields or to display the network's long-term issuance schedule.

The reading is taken relative to a slot governed by the optional commitment config. Pass minContextSlot to require that the serving node has already reached at least a given slot before it answers.

Parameters

JSON-RPC params is a positional array: [config?]. The single argument is optional — omit it (send params: []) to use the node defaults.

configobjectoptional
Optional configuration object (see below).
commitmentstringoptional
Commitment level: processed, confirmed, or finalized.
minContextSlotintegeroptional
Minimum slot the request must be evaluated at.

Response

Response fields

FieldTypeDescription
resultobjectInflationGovernor object.
result.initialnumberThe initial inflation rate applied at the start of the schedule, as a fraction (e.g. 0.08 = 8%).
result.terminalnumberThe terminal (floor) inflation rate the schedule tapers down to, as a fraction.
result.tapernumberThe rate at which inflation tapers from initial toward terminal each year, as a fraction.
result.foundationnumberThe fraction of total inflation allocated to the foundation.
result.foundationTermnumberThe duration, in years, over which the foundation allocation applies.

Errors

Errors are returned in the standard JSON-RPC error envelope. See the shared errors reference for the full envelope shape and shared codes.

CodeMeaningWhen it happens
-32602Invalid paramsconfig is malformed (e.g. an unknown commitment value).
401UnauthorizedMissing or invalid Authorization: Bearer key.
429Rate limitedMore than your tier's RPS for sol_read_rpc (20 / 60 / 200 / 600).

Examples

JavaScript (fetch)

const res = await fetch("https://api.triport.io/v1/sol", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.TRIPORT_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    jsonrpc: "2.0",
    id: 1,
    method: "getInflationGovernor",
    params: [],
  }),
});


const { result } = await res.json();
console.log(`Initial ${result.initial * 100}% tapering to ${result.terminal * 100}%`);

TypeScript SDK (@triport/sdk)

import { TriportClient } from "@triport/sdk";


const client = new TriportClient({ apiKey: process.env.TRIPORT_API_KEY });


const gov = await client.solana.getInflationGovernor({ commitment: "finalized" });


console.log(`Initial ${gov.initial * 100}% → terminal ${gov.terminal * 100}% (taper ${gov.taper})`);

Python (triport-sdk)

import os
from triport import TriportClient


client = TriportClient(api_key=os.environ["TRIPORT_API_KEY"])


gov = client.solana.get_inflation_governor(commitment="finalized")


print(f"Initial {gov['initial'] * 100}% -> terminal {gov['terminal'] * 100}% (taper {gov['taper']})")

Notes

  • Governor vs. rate: getInflationGovernor returns the parameters of the inflation schedule; getInflationRate returns the realized total / validator / foundation values for the current epoch.
  • All values are fractions: results are in the 0.01.0 range (0.08 = 8%), except foundationTerm, which is expressed in years.
  • Effectively static: these values are governed by cluster configuration and change only when protocol parameters change, so the result is safe to cache for long periods.
  • Commitment defaults: when commitment is omitted, the node's default commitment applies. Pass finalized for the strongest consistency guarantee.
  • Related methods: see getInflationReward for per-address staking rewards in a given epoch.