EscrowCreate

[Source]

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:

Field JSON Type Internal Type Description
Amount String Amount Amount 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).
Destination String AccountID Address to receive escrowed XRP.
CancelAfter Number UInt32 (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.
FinishAfter Number UInt32 (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.
Condition String Blob (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.
DestinationTag Number UInt32 (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:

Summary FinishAfter Condition CancelAfter
Time-based
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.