xrpl-mpp-payer
Operator-facing CLI, proxy, receipt store, spend policy, and optional agent
service built on xrpl-mpp-client.
pip install xrpl-mpp-payer
xrpl-mpp --help
For the optional payer agent server:
pip install "xrpl-mpp-payer[mcp]"
xrpl-mpp mcp
Typical commands:
export XRPL_MPP_EXPECTED_RECIPIENT=rYourApprovedMerchantAddress
xrpl-mpp pay https://merchant.example/premium --dry-run
xrpl-mpp pay https://merchant.example/metered --intent session --amount 1 --channel-funding-amount 1000000
xrpl-mpp pay https://merchant.example/metered --intent session --channel-id AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA --cumulative-amount 25000
xrpl-mpp close https://merchant.example/metered --channel-id AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA --cumulative-amount 50000
xrpl-mpp proxy https://merchant.example --port 8787
xrpl-mpp receipts
xrpl-mpp budget
Configure wallet material through environment variables or a secret manager and apply strict network, recipient, currency, and spend policy. Do not give an agent an unlimited funded wallet or rely on model-generated arguments as the only policy boundary.
MPP 0.2 uses named XRPL networks (mainnet, testnet, devnet) and
currencies encoded as XRP or a canonical JSON descriptor. Session amounts
are incremental drops and PayChannel vouchers are cumulative. The removed
prepaid session token, use, and top_up shapes are not accepted.
Automatic signing fails closed unless the merchant recipient is explicitly
approved with --recipient or XRPL_MPP_EXPECTED_RECIPIENT. The payer binds
that recipient together with the selected currency and resolved spend cap in
an XRPLPaymentPolicy; challenges must expire and may be valid for at most 300
seconds. A registered channel retains its approved recipient for close only.
Buyer RPC endpoints require HTTPS. ALLOW_INSECURE_XRPL_RPC=true permits only
an exact localhost or loopback HTTP endpoint for development.
XRPL_MPP_MAX_FEE_DROPS caps the final autofilled transaction fee (default
1,000 drops). Optional IOU pathfinding requires both
XRPL_MPP_IOU_SOURCE_CURRENCY and XRPL_MPP_IOU_MAX_SOURCE_AMOUNT; the latter
is an absolute source-side ceiling, in XRP drops or issued-currency units.
XRPL_MPP_IOU_SLIPPAGE_BPS defaults to 50 and is bounded to 0-1000.
Successful charge receipts are recorded only after the receipt reference is cryptographically bound to the exact transaction or push hash that the payer authorized. A forged success receipt raises and does not create a local audit record.
The close command signs and sends a final cumulative voucher. It does not
submit the funder's XRPL tfClose transaction, delete the channel, or refund
unused XRP. Those remain a separate on-ledger funder responsibility after the
recipient has had an opportunity to redeem its highest claim.
The optional payer agent server exposes controlled buyer behavior. For native
MPP payment metadata inside an MCP/JSON-RPC server, use the separate
xrpl-mpp-mcp package.
The agent tools intentionally do not accept a recipient or spend-cap override
from model-generated arguments. Non-dry-run pay_url, close_channel, and
proxy_mode load both XRPL_MPP_EXPECTED_RECIPIENT and
XRPL_MPP_MAX_SPEND from operator-controlled process configuration. The
environment cap remains a ceiling even when lower request-specific limits are
used elsewhere.
Documentation: https://lgcarrier.github.io/xrpl-mpp-stack/packages/payer/
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file xrpl_mpp_payer-0.2.0.tar.gz.
File metadata
- Download URL: xrpl_mpp_payer-0.2.0.tar.gz
- Upload date:
- Size: 17.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7eb0d6ec98787209b29cd156d4442b95703254e201aaecba03211654b65e9509
|
|
| MD5 |
e82d28ccd16b292d4744d000c10c3397
|
|
| BLAKE2b-256 |
c64e9102c9f227d5a8ac5f4c8cc80281b23e62afc108e75ab4e628f71a4749c3
|
Provenance
The following attestation bundles were made for xrpl_mpp_payer-0.2.0.tar.gz:
Publisher:
publish-package.yml on lgcarrier/xrpl-mpp-stack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xrpl_mpp_payer-0.2.0.tar.gz -
Subject digest:
7eb0d6ec98787209b29cd156d4442b95703254e201aaecba03211654b65e9509 - Sigstore transparency entry: 2703551491
- Sigstore integration time:
-
Permalink:
lgcarrier/xrpl-mpp-stack@da4b469b8d2a16c36baa509b1395dabe22fcc342 -
Branch / Tag:
refs/tags/payer-v0.2.0 - Owner: https://github.com/lgcarrier
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-package.yml@da4b469b8d2a16c36baa509b1395dabe22fcc342 -
Trigger Event:
push
-
Statement type:
File details
Details for the file xrpl_mpp_payer-0.2.0-py3-none-any.whl.
File metadata
- Download URL: xrpl_mpp_payer-0.2.0-py3-none-any.whl
- Upload date:
- Size: 21.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fcf3226e20072ded6f920ebc5ec0ea178809ce188922df7e70107be18dbfd71b
|
|
| MD5 |
5fc87c573da09aefa0e7155754b43a71
|
|
| BLAKE2b-256 |
47cc0f1f2ea9d5b1509188998a708177951dfa0157243861fb3722ffc3474d92
|
Provenance
The following attestation bundles were made for xrpl_mpp_payer-0.2.0-py3-none-any.whl:
Publisher:
publish-package.yml on lgcarrier/xrpl-mpp-stack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xrpl_mpp_payer-0.2.0-py3-none-any.whl -
Subject digest:
fcf3226e20072ded6f920ebc5ec0ea178809ce188922df7e70107be18dbfd71b - Sigstore transparency entry: 2703551930
- Sigstore integration time:
-
Permalink:
lgcarrier/xrpl-mpp-stack@da4b469b8d2a16c36baa509b1395dabe22fcc342 -
Branch / Tag:
refs/tags/payer-v0.2.0 - Owner: https://github.com/lgcarrier
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-package.yml@da4b469b8d2a16c36baa509b1395dabe22fcc342 -
Trigger Event:
push
-
Statement type: