PaymentChannelFund
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 }
PaymentChannelFund Fields
In addition to the common fields, PaymentChannelFund transactions use the following fields:
Field | JSON Type | Internal Type | Description |
---|---|---|---|
Channel | String | Hash256 | The unique ID of the channel to fund, as a 64-character hexadecimal string. |
Amount | String | Amount | Amount of XRP, in drops to add to the channel. Must be a positive amount of XRP. |
Expiration | Number | UInt32 | (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 Code | Description |
---|---|
tecINSUFFICIENT_RESERVE | The sending account has less XRP than the reserve requirement. |
tecNO_DST | The 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_ENTRY | The Payment Channel identified by the Channel field does not exist. |
tecNO_PERMISSION | The sender of the transaction is not the source address for the channel. |
tecUNFUNDED | The sending account does not have enough XRP to fund the channel with the requested amount and still meet the reserve requirement. |
temBAD_AMOUNT | The Amount field of the transaction is invalid. The amount must be XRP and it cannot be zero or negative. |
temBAD_EXPIRATION | The Expiration field is invalid. |