From 87ba50a4b38d42d428f8ed34a784e1c4943e5141 Mon Sep 17 00:00:00 2001 From: Linus Kendall <5172293+linuskendall@users.noreply.github.com> Date: Mon, 14 Sep 2026 06:22:26 +0000 Subject: [PATCH] feat(spec): add getRecentPrioritizationFees specification --- methods/http/getRecentPrioritizationFees.md | 11 ++++++ methods/http/getRecentPrioritizationFees.yaml | 37 ++++++++++++++++++ .../0046-get-recent-prioritization-fees.md | 39 +++++++++++++++++++ spec-info.yaml | 2 +- 4 files changed, 88 insertions(+), 1 deletion(-) create mode 100644 methods/http/getRecentPrioritizationFees.md create mode 100644 methods/http/getRecentPrioritizationFees.yaml create mode 100644 proposals/0046-get-recent-prioritization-fees.md diff --git a/methods/http/getRecentPrioritizationFees.md b/methods/http/getRecentPrioritizationFees.md new file mode 100644 index 0000000..27cec5e --- /dev/null +++ b/methods/http/getRecentPrioritizationFees.md @@ -0,0 +1,11 @@ +# getRecentPrioritizationFees + +Returns recent prioritization fees, optionally for transactions locking the supplied accounts. + +## Semantics + +Omit accounts to request the node general recent fees. When present, each key must be a valid public key and the list may contain at most MAX_TX_ACCOUNT_LOCKS, currently 128, keys. Each record reports a slot and its fee in micro-lamports. + +## Implementation notes + +- [**Agave**](../../implementations/agave.md): reference implementation. See the pinned [handler and input bound](https://github.com/anza-xyz/agave/blob/6dd9d38771e46103b9680357a855804165612602/rpc/src/rpc.rs#L4416-L4436). diff --git a/methods/http/getRecentPrioritizationFees.yaml b/methods/http/getRecentPrioritizationFees.yaml new file mode 100644 index 0000000..b72b136 --- /dev/null +++ b/methods/http/getRecentPrioritizationFees.yaml @@ -0,0 +1,37 @@ +name: getRecentPrioritizationFees +status: standard +summary: Returns recent prioritization fees, optionally scoped to writable accounts. +params: + - name: accounts + required: false + summary: Up to 128 account public keys used to select fee records. + schema: + type: array + maxItems: 128 + items: { $ref: '#/components/schemas/Pubkey' } +result: + name: fees + summary: Recent slot and prioritization-fee pairs. + schema: + type: array + items: + type: object + required: [slot, prioritizationFee] + properties: + slot: { $ref: '#/components/schemas/Slot' } + prioritizationFee: { $ref: '#/components/schemas/U64' } +errors: [] +examples: + - name: account-fees + summary: Return records applicable to one writable account. + params: + - name: accounts + value: ["Vote111111111111111111111111111111111111111"] + result: + name: fees + value: + - { slot: 348125, prioritizationFee: 1000 } +implementations: + agave: { status: full } + cloudbreak: { status: none } + superbank: { status: none } diff --git a/proposals/0046-get-recent-prioritization-fees.md b/proposals/0046-get-recent-prioritization-fees.md new file mode 100644 index 0000000..f337666 --- /dev/null +++ b/proposals/0046-get-recent-prioritization-fees.md @@ -0,0 +1,39 @@ +--- +number: 0046 +title: Add getRecentPrioritizationFees method specification +authors: [rpcpool] +status: draft +created: 2026-09-14 +reference-implementations: + - https://github.com/anza-xyz/agave/tree/6dd9d38771e46103b9680357a855804165612602 +--- + +# Add getRecentPrioritizationFees method specification + +## Summary + +Add the public getRecentPrioritizationFees RPC method. + +## Motivation + +Clients need a portable contract for this public Agave RPC method. + +## Specification + +Add the paired HTTP method files. The optional account list is limited to Agave 128 transaction-account locks. + +## Return-type impact + +Adds the result shape defined by the paired method source. + +## Compatibility + +This is additive. Agave conforms. Cloudbreak and Superbank do not serve the method. + +## Reference implementation + +- [Agave implementation](https://github.com/anza-xyz/agave/blob/6dd9d38771e46103b9680357a855804165612602/rpc/src/rpc.rs#L4416-L4436) + +## Security considerations + +The account-list bound limits work and aligns with the transaction account-lock limit. diff --git a/spec-info.yaml b/spec-info.yaml index 892ea85..bca4391 100644 --- a/spec-info.yaml +++ b/spec-info.yaml @@ -1,5 +1,5 @@ title: Solana JSON-RPC API -version: 0.1.0 +version: 0.2.0 license: name: MIT url: https://opensource.org/license/mit/