Last updated



Added by the Escrow amendment.

Sequester XRP until the escrow process either finishes or is canceled.

Example EscrowCreate JSON

    "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn",
    "TransactionType": "EscrowCreate",
    "Amount": "10000",
    "Destination": "rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW",
    "CancelAfter": 533257958,
    "FinishAfter": 533171558,
    "Condition": "A0258020E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855810100",
    "DestinationTag": 23480,
    "SourceTag": 11747

Query example transaction. >

EscrowCreate Fields

In addition to the common fields, EscrowCreate transactions use the following fields:

FieldJSON TypeInternal TypeDescription
AmountStringAmountAmount of XRP, in drops, to deduct from the sender's balance and escrow. Once escrowed, the XRP can either go to the Destination address (after the FinishAfter time) or returned to the sender (after the CancelAfter time).
DestinationStringAccountIDAddress to receive escrowed XRP.
CancelAfterNumberUInt32(Optional) The time, in seconds since the Ripple Epoch, when this escrow expires. This value is immutable; the funds can only be returned to the sender after this time.
FinishAfterNumberUInt32(Optional) The time, in seconds since the Ripple Epoch, when the escrowed XRP can be released to the recipient. This value is immutable, and the funds can't be accessed until this time.
ConditionStringBlob(Optional) Hex value representing a PREIMAGE-SHA-256 crypto-condition. The funds can only be delivered to the recipient if this condition is fulfilled. If the condition is not fulfilled before the expiration time specified in the CancelAfter field, the XRP can only revert to the sender.
DestinationTagNumberUInt32(Optional) Arbitrary tag to further specify the destination for this escrowed payment, such as a hosted recipient at the destination address.

You must specify one of the following combinations of fields:

Time-based with expiration
Timed conditional
Timed conditional with expiration
Conditional with expiration

It is not possible to create a conditional escrow with no expiration, but you can specify an expiration that is very far in the future.

Note: Before the fix1571 amendment became enabled on 2018-06-19, it was possible to create an escrow with CancelAfter only. These escrows could be finished by anyone at any time before the specified expiration.