CheckCreate
Create an on-ledger check, which is a deferred payment that can be cashed by its intended destination. The sender of this transaction is the sender of the check.
Requires the Checks amendment. Loading...
Example CheckCreate JSON
{
  "TransactionType": "CheckCreate",
  "Account": "rUn84CUYbNjRoTQ6mSW7BVJPSVJNLb1QLo",
  "Destination": "rfkE1aSy9G8Upk4JssnwBxhEv5p4mn2KTy",
  "SendMax": "100000000",
  "Expiration": 570113521,
  "InvoiceID": "6F1DFD1D0FE8A32E40E1F2C05CF1C15545BAB56B617F9C6C2D63A6B704BEF59B",
  "DestinationTag": 1,
  "Fee": "12"
}CheckCreate Fields
In addition to the common fields, CheckCreate transactions use the following fields:
| Field | JSON Type | Internal Type | Description | 
|---|---|---|---|
| Destination | String | AccountID | The unique address of the account that can cash the Check. | 
| SendMax | Currency Amount | Amount | Maximum amount of source currency the Check is allowed to debit the sender, including transfer fees on non-XRP currencies. The Check can only credit the destination with the same currency (from the same issuer, for non-XRP currencies). For non-XRP amounts, the nested field names MUST be lower-case. | 
| DestinationTag | Number | UInt32 | (Optional) Arbitrary tag that identifies the reason for the Check, or a hosted recipient to pay. | 
| Expiration | Number | UInt32 | (Optional) Time after which the Check is no longer valid, in seconds since the Ripple Epoch. | 
| InvoiceID | String | UInt256 | (Optional) Arbitrary 256-bit hash representing a specific reason or identifier for this Check. | 
Error Cases
- If the Destinationaccount is blocking incoming Checks, the transaction fails with the result codetecNO_PERMISSION.Requires the DisallowIncoming amendment. Loading... 
- If the Destinationis the sender of the transaction, the transaction fails with the result codetemREDUNDANT.
- If the Destinationaccount does not exist in the ledger, the transaction fails with the result codetecNO_DST.
- If the Destinationaccount has theRequireDestflag enabled but the transaction does not include aDestinationTagfield, the transaction fails with the result codetecDST_TAG_NEEDED.
- If SendMaxspecifies a token which is frozen, the transaction fails with the resulttecFROZEN.
- If the Expirationof the transaction is in the past, the transaction fails with the resulttecEXPIRED.
- If the sender does not have enough XRP to meet the owner reserve after adding the Check, the transaction fails with the result tecINSUFFICIENT_RESERVE.
- If either the sender or the destination of the Check cannot own more objects in the ledger, the transaction fails with the result tecDIR_FULL.