SetFee
A SetFee
pseudo-transaction marks a change in transaction cost or reserve requirements as a result of Fee Voting.
Example SetFee JSON
{ "Account": "rrrrrrrrrrrrrrrrrrrrrhoLvTp", "BaseFee": "000000000000000A", "Fee": "0", "ReferenceFeeUnits": 10, "ReserveBase": 20000000, "ReserveIncrement": 5000000, "Sequence": 0, "SigningPubKey": "", "TransactionType": "SetFee", "date": 439578860, "hash": "1C15FEA3E1D50F96B6598607FC773FF1F6E0125F30160144BE0C5CBC52F5151B", "ledger_index": 3721729, }
SetFee Fields
In addition to the common fields, SetFee pseudo-transactions use the following fields:
Field | JSON Type | Internal Type | Description |
---|---|---|---|
BaseFee | String | UInt64 | The charge, in drops of XRP, for the reference transaction, as hex. (This is the transaction cost before scaling for load.) |
ReferenceFeeUnits | Unsigned Integer | UInt32 | The cost, in fee units, of the reference transaction |
ReserveBase | Unsigned Integer | UInt32 | The base reserve, in drops |
ReserveIncrement | Unsigned Integer | UInt32 | The incremental reserve, in drops |
LedgerSequence | Number | UInt32 | (Omitted for some historical SetFee pseudo-transactions) The index of the ledger version where this pseudo-transaction appears. This distinguishes the pseudo-transaction from other occurrences of the same change. |
If the XRPFees amendment is enabled, SetFee
pseudo-transactions use these fields instead:
Field | JSON Type | Internal Type | Description |
---|---|---|---|
BaseFeeDrops | String | Amount | The charge, in drops of XRP, for the reference transaction. (This is the transaction cost before scaling for load.) |
ReserveBaseDrops | String | Amount | The base reserve, in drops |
ReserveIncrementDrops | String | Amount | The incremental reserve, in drops |
LedgerSequence | Number | UInt32 | (Omitted for some historical SetFee pseudo-transactions) The index of the ledger version where this pseudo-transaction appears. This distinguishes the pseudo-transaction from other occurrences of the same change. |
In the full history of the XRP Ledger, there is an exception to the rule that transaction hashes are unique. Two early SetFee pseudo-transactions had the exact same fields, resulting in the same hash, 1C15FEA3E1D50F96B6598607FC773FF1F6E0125F30160144BE0C5CBC52F5151B
. The first of these transactions appears in ledger 3715073 and the second is in ledger 3721729. Newer SetFee pseudo-transactions include a LedgerSequence
field so that they are guaranteed to be unique.