XRP Ledger Apex is back in Amsterdam

Register Now
Last updated
Edit

PaymentChannelFund

[Source]

Added by the PayChan amendment.

Add additional XRP to an open payment channel, and optionally update the expiration time of the channel. Only the source address of the channel can use this transaction.

Example PaymentChannelFund:

{
    "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn",
    "TransactionType": "PaymentChannelFund",
    "Channel": "C1AE6DDDEEC05CF2978C0BAD6FE302948E9533691DC749DCDD3B9E5992CA6198",
    "Amount": "200000",
    "Expiration": 543171558
}

Query example transaction. >

PaymentChannelFund Fields

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

FieldJSON TypeInternal TypeDescription
ChannelStringHash256The unique ID of the channel to fund, as a 64-character hexadecimal string.
AmountStringAmountAmount of XRP, in drops to add to the channel. Must be a positive amount of XRP.
ExpirationNumberUInt32(Optional) New Expiration time to set for the channel, in seconds since the Ripple Epoch. This must be later than either the current time plus the SettleDelay of the channel, or the existing Expiration of the channel. After the Expiration time, any transaction that would access the channel closes the channel without taking its normal action. Any unspent XRP is returned to the source address when the channel closes. (Expiration is separate from the channel's immutable CancelAfter time.) For more information, see the PayChannel ledger object type.

Error Cases

Besides errors that can occur for all transactions, PaymentChannelFund transactions can result in the following transaction result codes:

Error CodeDescription
tecINSUFFICIENT_RESERVEThe sending account has less XRP than the reserve requirement.
tecNO_DSTThe destination account of the channel has been deleted. This is only possible if the payment channel was created before the fixPayChanRecipientOwnerDir amendment became enabled (on 2020-05-01).
tecNO_ENTRYThe Payment Channel identified by the Channel field does not exist.
tecNO_PERMISSIONThe sender of the transaction is not the source address for the channel.
tecUNFUNDEDThe sending account does not have enough XRP to fund the channel with the requested amount and still meet the reserve requirement.
temBAD_AMOUNTThe Amount field of the transaction is invalid. The amount must be XRP and it cannot be zero or negative.
temBAD_EXPIRATIONThe Expiration field is invalid.