Class X402ClientOptions
Configuration options for the x402 payment client (X402PaymentHandler). Controls the target network, amount caps, address allowlists, and binding mode.
Inheritance
Namespace: Xrpl.X402
Assembly: Xrpl.X402.dll
Syntax
public sealed class X402ClientOptions
Properties
| Edit this page View SourceIntentBinding
How the x402 invoice id is bound to the XRPL transaction.
Both (default) sets both Payment.InvoiceID (SHA-256 of the raw invoice id)
and a Memo with MemoData = UTF-8 hex of the raw invoice id.
This matches the t54 reference payer default (invoice_binding = "both").
InvoiceIdField sets only Payment.InvoiceID.
Memo sets only the Memo.
Declaration
public X402IntentBinding IntentBinding { get; set; }
Property Value
| Type | Description |
|---|---|
| X402IntentBinding |
InvoiceIdExtraKey
Key in the requirement's extra object to read the invoice id from (t54 uses "invoiceId").
Declaration
public string InvoiceIdExtraKey { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
IouValueCaps
Optional per-issuer value caps for IOU/RLUSD (key = issuer address).
Declaration
public Dictionary<string, decimal> IouValueCaps { get; set; }
Property Value
| Type | Description |
|---|---|
| Dictionary<string, decimal> |
MaxAmountDrops
Hard cap for XRP payments, in drops. Requirement above this is refused.
Declaration
public ulong MaxAmountDrops { get; set; }
Property Value
| Type | Description |
|---|---|
| ulong |
Network
CAIP-2 network the client is willing to pay on, e.g. "xrpl:1".
Declaration
public string Network { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
PayToAllowlist
Optional allowlist of acceptable payTo / issuer addresses. Empty = allow any.
Declaration
public HashSet<string> PayToAllowlist { get; set; }
Property Value
| Type | Description |
|---|---|
| HashSet<string> |
VerifiableIntentProvider
Optional Verifiable Intent provider. When set, its extensions object is attached to each PAYMENT-SIGNATURE. Null = no VI.
Declaration
public IVerifiableIntentProvider? VerifiableIntentProvider { get; set; }
Property Value
| Type | Description |
|---|---|
| IVerifiableIntentProvider |
X402Version
x402 protocol version emitted in PAYMENT-SIGNATURE.
Declaration
public int X402Version { get; set; }
Property Value
| Type | Description |
|---|---|
| int |