diff --git a/openrpc/src/methods/getFeeStats.json b/openrpc/src/methods/getFeeStats.json new file mode 100644 index 000000000..7803076ab --- /dev/null +++ b/openrpc/src/methods/getFeeStats.json @@ -0,0 +1,83 @@ +{ + "name": "getFeeStats", + "summary": "returns statistics about charged transaction fees", + "description": "Statistics about charged transaction fees.", + "externalDocs": { + "url": "https://developers.stellar.org/network/soroban-rpc/api-reference/methods/getFeeStats" + }, + "paramStructure": "by-name", + "params": [], + "result": { + "name": "getFeeStatsResult", + "schema": { + "type": "object", + "properties": { + "sorobanInclusionFee": { + "description": "Inclusion fee distribution statistics for Soroban transactions", + "schema": { + "$ref": "#/components/schemas/FeeDistribution" + } + }, + "inclusionFee": { + "description": "Fee distribution statistics for classic (i.e. non-Soroban) transactions. Statistics are normalized per operation.", + "schema": { + "$ref": "#/components/schemas/FeeDistribution" + } + }, + "latestLedger": { + "$ref": "#/components/schemas/LatestLedger" + } + } + } + }, + "examples": [ + { + "name": "Statistics about charged transaction fees.", + "description": "Example request to the `getFeeStats` method", + "params": [], + "result": { + "name": "getFeeStatsResult", + "value": { + "sorobanInclusionFee": { + "max": "210", + "min": "100", + "mode": "100", + "p10": "100", + "p20": "100", + "p30": "100", + "p40": "100", + "p50": "100", + "p60": "100", + "p70": "100", + "p80": "100", + "p90": "120", + "p95": "190", + "p99": "200", + "transactionCount": "10", + "ledgerCount": 50 + }, + "inclusionFee": { + "max": "100", + "min": "100", + "mode": "100", + "p10": "100", + "p20": "100", + "p30": "100", + "p40": "100", + "p50": "100", + "p60": "100", + "p70": "100", + "p80": "100", + "p90": "100", + "p95": "100", + "p99": "100", + "transactionCount": "7", + "ledgerCount": 10 + }, + "latestLedger": 4519945 + } + + } + } + ] +} diff --git a/openrpc/src/schemas/FeeDistribution.json b/openrpc/src/schemas/FeeDistribution.json new file mode 100644 index 000000000..46f2a218f --- /dev/null +++ b/openrpc/src/schemas/FeeDistribution.json @@ -0,0 +1,67 @@ +{ + "FeeDistribution": { + "type": "object", + "properties": { + "max": { + "description": "Maximum fee.", + "type": "string" + }, + "min": { + "description": "Minimum fee", + "type": "string" + }, + "mode": { + "description": "Fee value which occurs the most often", + "type": "string" + }, + "p10": { + "description": "10th nearest-rank fee percentile", + "type": "string" + }, + "p20": { + "description": "20th nearest-rank fee percentile", + "type": "string" + }, + "p30": { + "description": "30th nearest-rank fee percentile", + "type": "string" + }, + "p40": { + "description": "40th nearest-rank fee percentile", + "type": "string" + }, + "p50": { + "description": "50th nearest-rank fee percentile", + "type": "string" + }, + "p60": { + "description": "60th nearest-rank fee percentile", + "type": "string" + }, + "p70": { + "description": "70th nearest-rank fee percentile", + "type": "string" + }, + "p80": { + "description": "80th nearest-rank fee percentile", + "type": "string" + }, + "p90": { + "description": "90th nearest-rank fee percentile.", + "type": "string" + }, + "p99": { + "description": "99th nearest-rank fee percentile", + "type": "string" + }, + "transactionCount": { + "description": "How many transactions are part of the distribution", + "type": "number" + }, + "ledgerCount": { + "description": "How many consecutive ledgers form the distribution", + "type": "number" + } + } + } +}