Skip to content

SetFee

[Source]

A SetFee pseudo-transaction marks a change in transaction cost or reserve requirements as a result of fee voting.

Note
You cannot send a pseudo-transaction, but you may find one when processing ledgers.

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:

FieldJSON TypeInternal TypeDescription
BaseFeeDropsStringAmountThe charge, in drops of XRP, for the reference transaction. (This is the transaction cost before scaling for load.)
BytecodeSizeLimitNumberUInt32(Omitted from SetFee pseudo-transactions before the SmartEscrow amendment) The maximum size, in bytes, of a WASM smart function, such as the Bytecode field of a smart escrow.

(Requires the SmartEscrow amendment. Loading: ...)

GasLimitNumberUInt32(Omitted from SetFee pseudo-transactions before the SmartEscrow amendment) The maximum amount of gas that can be consumed by smart functions in a single transaction. Gas is a measure of the resources (including CPU and memory) used by smart function code, defined by the WASM engine.

(Requires the SmartEscrow amendment. Loading: ...)

GasPriceNumberUInt32(Omitted from SetFee pseudo-transactions before the SmartEscrow amendment) The cost of gas, in millionths of a drop of XRP per 1 gas. In other words, a value of 1000000 (1 million) means that 1 gas costs 0.000001 decimal XRP.

(Requires the SmartEscrow amendment. Loading: ...)

LedgerSequenceNumberUInt32(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.
ReserveBaseDropsStringAmountThe base reserve, in drops.
ReserveIncrementDropsStringAmountThe incremental reserve, in drops.