Last updated
Edit

Check

[Source]

A Check entry describes a check, similar to a paper personal check, which can be cashed by its destination to get money from its sender. You can create a check by sending a CheckCreate transaction.

(Added by the Checks amendment.)

Example Check JSON

{
  "Account": "rUn84CUYbNjRoTQ6mSW7BVJPSVJNLb1QLo",
  "Destination": "rfkE1aSy9G8Upk4JssnwBxhEv5p4mn2KTy",
  "DestinationNode": "0000000000000000",
  "DestinationTag": 1,
  "Expiration": 570113521,
  "Flags": 0,
  "InvoiceID": "46060241FABCF692D4D934BA2A6C4427CD4279083E38C77CBE642243E43BE291",
  "LedgerEntryType": "Check",
  "OwnerNode": "0000000000000000",
  "PreviousTxnID": "5463C6E08862A1FAE5EDAC12D70ADB16546A1F674930521295BC082494B62924",
  "PreviousTxnLgrSeq": 6,
  "SendMax": "100000000",
  "Sequence": 2,
  "index": "49647F0D748DC3FE26BDACBC57F251AADEFFF391403EC9BF87C97F67E9977FB0"
}

Check Fields

In addition to the common fields, Check entries have the following fields:

FieldJSON TypeInternal TypeRequired?Description
AccountStringAccountYesThe sender of the Check. Cashing the Check debits this address's balance.
DestinationStringAccountYesThe intended recipient of the Check. Only this address can cash the Check, using a CheckCash transaction.
DestinationNodeStringUInt64NoA hint indicating which page of the destination's owner directory links to this object, in case the directory consists of multiple pages.
DestinationTagNumberUInt32NoAn arbitrary tag to further specify the destination for this Check, such as a hosted recipient at the destination address.
ExpirationNumberUInt32NoIndicates the time after which this Check is considered expired. See Specifying Time for details.
InvoiceIDStringHash256NoArbitrary 256-bit hash provided by the sender as a specific reason or identifier for this Check.
LedgerEntryTypeStringUInt16YesThe value 0x0043, mapped to the string Check, indicates that this object is a Check object.
OwnerNodeStringUInt64YesA hint indicating which page of the sender's owner directory links to this object, in case the directory consists of multiple pages.
PreviousTxnIDStringHash256YesThe identifying hash of the transaction that most recently modified this object.
PreviousTxnLgrSeqNumberUInt32YesThe index of the ledger that contains the transaction that most recently modified this object.
SendMaxString or ObjectAmountYesThe maximum amount of currency this Check can debit the sender. If the Check is successfully cashed, the destination is credited in the same currency for up to this amount.
SequenceNumberUInt32YesThe sequence number of the CheckCreate transaction that created this check.
SourceTagNumberUInt32NoAn arbitrary tag to further specify the source for this Check, such as a hosted recipient at the sender's address.

Check Flags

There are no flags defined for Check entries.

Check Reserve

Check entries count as one item towards the owner reserve of the sender of the Check as long as the entry is in the ledger. This reserve is freed up when the check is cashed or canceled.

Check ID Format

[Source]

The ID of a Check entry is the SHA-512Half of the following values, concatenated in order:

  • The Check space key (0x0043)
  • The AccountID of the sender of the CheckCreate transaction that created the Check
  • The Sequence number of the CheckCreate transaction that created the Check. If the CheckCreate transaction used a Ticket, use the TicketSequence value instead.

See the tutorial showing how to Send a Check.