Class T54Facilitator
x402 facilitator that delegates payment verification and on-ledger settlement to the
real t54 facilitator service (https://xrpl-facilitator-testnet.t54.ai).
The client signs but does NOT submit the transaction; t54 performs verification and submits the signed blob to the XRPL node on its end. The response maps directly to PaymentResponseEnvelope.
Verification flow: first calls POST {baseUrl}/verify to get a human-readable
rejection reason if the payload is invalid, then calls POST {baseUrl}/settle only
when verify reports isValid: true.
Inheritance
Implements
Namespace: Xrpl.X402.AspNetCore
Assembly: Xrpl.X402.AspNetCore.dll
Syntax
public sealed class T54Facilitator : IX402Facilitator
Constructors
| Edit this page View SourceT54Facilitator(HttpClient, string)
Initializes a new instance of T54Facilitator.
Declaration
public T54Facilitator(HttpClient http, string baseUrl = "https://xrpl-facilitator-testnet.t54.ai")
Parameters
| Type | Name | Description |
|---|---|---|
| HttpClient | http | System.Net.Http.HttpClient used for the outbound calls to t54. The caller owns the lifetime of this client. |
| string | baseUrl | Base URL of the t54 facilitator service.
Defaults to |
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException | Thrown when |
Methods
| Edit this page View SourceVerifyAndSettleAsync(PaymentSignatureEnvelope, CancellationToken)
Verify the signed payment matches the accepted requirement and settle it on-ledger.
Declaration
public Task<PaymentResponseEnvelope> VerifyAndSettleAsync(PaymentSignatureEnvelope envelope, CancellationToken cancellationToken = default)
Parameters
| Type | Name | Description |
|---|---|---|
| PaymentSignatureEnvelope | envelope | |
| CancellationToken | cancellationToken |
Returns
| Type | Description |
|---|---|
| Task<PaymentResponseEnvelope> |
Remarks
First calls POST {baseUrl}/verify with body
{ paymentPayload: <envelope>, paymentRequirements: <envelope.Accepted> }.
If isValid == false, returns immediately with the invalidReason from t54.
On success, calls POST {baseUrl}/settle with the same body;
t54 verifies the signed transaction and submits it to the ledger.