Skip to main content

xrpl-mpp-facilitator

Authenticated FastAPI facilitator for Ripple-compatible XRPL MPP charge and PaymentChannel verification.

pip install xrpl-mpp-facilitator
xrpl-mpp-facilitator --help
xrpl-mpp-facilitator --reload

Entry point: xrpl_mpp_facilitator.main:app

Factory: xrpl_mpp_facilitator.factory:create_app

Endpoints:

  • GET /health
  • GET /supported
  • POST /charge
  • POST /session

Charge credentials may contain a signed transaction blob or a submitted transaction hash. The service enforces exact XRPL fields, named network, source DID, invoice, freshness, successful settlement, and replay protection. Session credentials use PaymentChannel open, cumulative voucher, and close actions with atomic high-water state.

Configure gateway bearer authentication, Redis, XRPL RPC, destination, challenge keys, allowlists, and validated settlement before starting. Never expose payment endpoints without gateway authentication. XRPL_RPC_URL requires HTTPS; local rippled development may explicitly set ALLOW_INSECURE_XRPL_RPC=true only with a localhost/loopback HTTP URL.

PAYCHANNEL_PAYER_PUBLIC_KEY enables and restricts session verification. The service can import a matching externally opened channel and notices a validated out-of-band PaymentChannelFund increase before accepting a later voucher. PAYCHANNEL_SETTLEMENT_MARGIN_SECONDS rejects claims too close to an on-ledger expiry/close deadline.

MPP close is a final voucher, not an on-ledger channel close. An optional recipient signer lets the facilitator redeem that cumulative claim and wait for validation; PAYCHANNEL_RECIPIENT_SEED is the built-in local adapter. Recipient redemption does not set tfClose, refund unused XRP, or delete the channel. Without a recipient signer, the MPP session is still finalized and its voucher is retained for a separate redemption workflow.

Applications that construct XRPLService directly can inject a RecipientSigner backed by a KMS, HSM, Vault, or remote signer instead of placing a seed in the facilitator process. The complete claim is prepared by the facilitator; signer responses that change any field or add tfClose are rejected. LocalSeedRecipientSigner is the adapter used by PAYCHANNEL_RECIPIENT_SEED.

Set PAYCHANNEL_REDEEM_INTERVAL_SECONDS above zero to enable the bounded background redemption sweep. It uses a per-channel Redis lease across replicas, processes at most PAYCHANNEL_REDEEM_BATCH_SIZE records per interval, and caps recipient claim fees. PAYCHANNEL_IDLE_CLOSE_SECONDS additionally finalizes inactive MPP sessions after redeeming their latest claim. “Idle close” is a durable application-state transition only; the recipient transaction never sets XRPL tfClose.

Documentation: https://lgcarrier.github.io/xrpl-mpp-stack/packages/facilitator/

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xrpl_mpp_facilitator-0.2.0.tar.gz (35.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

xrpl_mpp_facilitator-0.2.0-py3-none-any.whl (43.1 kB view details)

Uploaded Python 3

File details

Details for the file xrpl_mpp_facilitator-0.2.0.tar.gz.

File metadata

  • Download URL: xrpl_mpp_facilitator-0.2.0.tar.gz
  • Upload date:
  • Size: 35.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for xrpl_mpp_facilitator-0.2.0.tar.gz
Algorithm Hash digest
SHA256 0a3117c93d4d7dc33a7411fa0ae354e2305452b274aa883cb13a7e329506a69b
MD5 a53854bc373620286a236f1d47541b82
BLAKE2b-256 9d0081aa59936f90657fe5244c3468ad50d3e277df2b545aa02750c9cc834a8a

See more details on using hashes here.

Provenance

The following attestation bundles were made for xrpl_mpp_facilitator-0.2.0.tar.gz:

Publisher: publish-package.yml on lgcarrier/xrpl-mpp-stack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file xrpl_mpp_facilitator-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for xrpl_mpp_facilitator-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 aa8737bed26db5493d5a8d3c4de5980920da2290cd6f119bd08e02a272f81d31
MD5 ec975e1a7044b1e3ba1feced49480d6f
BLAKE2b-256 4172b20bc3975e3aa4c4cbf0fe80aa469cc9016e2ffeeac6c275d5f92fccbbc3

See more details on using hashes here.

Provenance

The following attestation bundles were made for xrpl_mpp_facilitator-0.2.0-py3-none-any.whl:

Publisher: publish-package.yml on lgcarrier/xrpl-mpp-stack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 files

0.1.4

2 files

0.1.3

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page