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.