Last updated
Edit

Pseudo-Transactions

Pseudo-transactions are never submitted by users, nor propagated through the network. Instead, a server may choose to inject pseudo-transactions in a proposed ledger directly according to specific protocol rules. If enough servers propose the exact same pseudo-transaction, the consensus process approves it, and the pseudo-transaction is included in that ledger's transaction data.

Special Values for Common Fields

Some of the required common fields for normal transactions do not make sense for pseudo-transactions. Pseudo-transactions use following special values for these common fields:

FieldJSON TypeInternal TypeValue
AccountStringAccountIDACCOUNT_ZERO
FeeStringAmount0
SequenceNumberUInt320
SigningPubKeyStringBlob"" (Empty string)
TxnSignatureStringBlob"" (Empty string)

Pseudo-transactions use the following common fields as normal:

  • TransactionType
  • Flags
FieldJSON TypeInternal TypeDescription
TransactionTypeStringUInt16(Required) The type of transaction.
FlagsNumberUInt32(Optional) A set of bit-flags for this transaction. The meaning of specific flags varies based on the transaction type.