SetFee
A SetFee pseudo-transaction marks a change in transaction cost or reserve requirements as a result of fee voting.
Example SetFee JSON
This transaction has two formats, depending on whether the XRPFees amendment was enabled at the time:
{
    "Account": "rrrrrrrrrrrrrrrrrrrrrhoLvTp",
    "BaseFeeDrops": "10",
    "Fee": "0",
    "LedgerSequence": 92508417,
    "ReserveBaseDrops": "1000000",
    "ReserveIncrementDrops": "200000",
    "Sequence": 0,
    "SigningPubKey": "",
    "TransactionType": "SetFee",
    "date": 786494751,
    "ledger_index": 92508417
}SetFee Fields
In addition to the common fields, SetFee pseudo-transactions use the following fields:
SetFee Fields
The fields of a SetFee pseudo-transaction depend on whether the XRPFees amendment was enabled at the time. In addition to the common fields, they can use the following:
| 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 SetFeepseudo-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.