Metadata-Version: 2.4
Name: xrpl-mpp-facilitator
Version: 0.1.4
Summary: FastAPI facilitator service for XRPL-backed MPP HTTP payments
Project-URL: Documentation, https://lgcarrier.github.io/xrpl-mpp-stack/packages/facilitator/
Project-URL: Source, https://github.com/lgcarrier/xrpl-mpp-stack/tree/main/packages/facilitator
Project-URL: Issues, https://github.com/lgcarrier/xrpl-mpp-stack/issues
Project-URL: Changelog, https://github.com/lgcarrier/xrpl-mpp-stack/blob/main/CHANGELOG.md
Author-email: Louis-Guillaume Carrier-Bedard <lgcarrier@gmail.com>
License-Expression: MIT
Keywords: facilitator,fastapi,mpp,payments,xrpl
Classifier: Framework :: FastAPI
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Typing :: Typed
Requires-Python: >=3.12
Requires-Dist: fastapi==0.136.1
Requires-Dist: pydantic-settings==2.14.0
Requires-Dist: python-dotenv==1.2.2
Requires-Dist: redis==7.4.0
Requires-Dist: slowapi==0.1.9
Requires-Dist: structlog==25.5.0
Requires-Dist: uvicorn<1,>=0.30.6
Requires-Dist: xrpl-mpp-core<0.2.0,>=0.1.4
Requires-Dist: xrpl-py==4.5.0
Description-Content-Type: text/markdown

# xrpl-mpp-facilitator

FastAPI facilitator for XRPL-backed MPP HTTP payments.

## Install

```bash
pip install xrpl-mpp-facilitator
```

## Run

Set the core runtime variables first:

- `MY_DESTINATION_ADDRESS`
- `FACILITATOR_BEARER_TOKEN`
- `REDIS_URL`
- `MPP_CHALLENGE_SECRET`

Then start the service:

```bash
xrpl-mpp-facilitator --reload
```

## Endpoints

- `GET /health`
- `GET /supported`
- `POST /charge`
- `POST /session`

The facilitator validates XRPL-signed payments, settles `charge` requests, and manages Redis-backed state for `session`.

## Python App Factory

```python
from xrpl_mpp_facilitator import create_app

app = create_app()
```

The default settings are loaded from environment variables, including `.env` when present.
