Skip to content

SetRemarks

[Source]

(Added by the [Remarks amendment][].)

{
"TransactionType": "SetRemarks",
"Account": "rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXm",
"Flags": 0,
"ObjectID": "AABBCCDDEEFF00112233445566778899AABBCCDDEEFF00112233445566778899",
"Remarks": [
{
"Remark": {
"RemarkName": "CAFE",
"RemarkValue": "DEADBEEF",
"Flags": 0
}
}
]
}
FieldJSON TypeInternal TypeDescription
AccountStringAccountIDThe address of the account submitting the transaction (must be the owner/issuer of the object)
ObjectIDStringHash256The ledger object ID to which the remarks are attached (see Supported Objects)
RemarksArrayArrayArray of remark objects to set, update, or delete (see Remarks Format)
Flag NameHex ValueDecimal ValueDescription
tfImmutable0x000000011Marks the remark as immutable (cannot change or delete)

Each entry in the Remarks array is an object with a single Remark field, which itself is an object with the following fields:

FieldJSON TypeInternal TypeRequiredDescription
RemarkNameStringBlobYesThe name/key of the remark (1–256 bytes, must be unique per object)
RemarkValueStringBlobNoThe value of the remark (1–256 bytes). Omit to delete the remark.
FlagsNumberUInt32NoSet to 1 (tfImmutable) to make the remark immutable. Default is 0.

Remarks can be attached to the following ledger object types. Only the specified party (owner or issuer) may create, update, or delete remarks on each object:

Ledger Object TypeWho Can Set Remarks?Notes
AccountRootOwnerThe account itself (the address in the object)
OfferOwnerThe account that created the offer
EscrowOwnerThe account that created the escrow
TicketOwnerThe account that created the ticket
PayChannelOwnerThe account that created the payment channel
CheckOwnerThe account that created the check
DepositPreauthOwnerThe account that created the deposit preauthorization
URI TokenIssuerThe account that issued the URI token (field sfIssuer)
Trustline (RippleState)IssuerOnly the issuer side of the trustline (the account that issued the IOU) can set remarks.
  • Maximum 32 remarks per object.
  • Each RemarkName and RemarkValue must be 1–256 bytes.
  • Each RemarkName must be unique per object.
  • Once a remark is marked as immutable (Flags: 1), it cannot be changed or deleted.

The base transaction cost is increased by 1 drop per byte of all RemarkName and RemarkValue fields in the transaction.

Error CodeDescription
temDISABLEDThe Remarks amendment is not enabled.
temINVALID_FLAGInvalid flags set on the transaction.
temMALFORMEDThe transaction is malformed (e.g., too many remarks, duplicate names, invalid field sizes).
terNO_ACCOUNTThe sending account does not exist.
tecNO_TARGETThe target object does not exist.
tecNO_PERMISSIONThe sender is not the owner/issuer of the object.
tecIMMUTABLEAttempted to modify or delete an immutable remark.
tecTOO_MANY_REMARKSThe number of remarks on the object would exceed the limit of 32.