Last updated
Edit

PaymentChannelFund

[Source]

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

(Added by the PayChan amendment.)

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 TypeRequired?Description
ChannelString - HexadecimalUInt256YesThe unique ID of the channel to fund.
AmountCurrency AmountAmountYesAmount to add to the channel. Must be a positive amount. Non-XRP tokens can only be used if the TokenEscrow amendment is enabled.
ExpirationNumberUInt32NoNew 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. (Expiration is separate from the channel's immutable CancelAfter time.) For more information, see the PayChannel ledger entry 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 or fungible tokens 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 either be XRP or fungible tokens and cannot be zero or negative.
temBAD_EXPIRATIONThe Expiration field is invalid.