Rust crates for InFlow MPP, x402, and TAP integrations. The workspace separates shared configuration, protocol integration, and Buyer and Seller roles.
See the shared SDK compatibility and support policy for supported releases, dependency expectations, and security reporting.
Start with the runnable Sandbox examples for account setup, exact commands, approval waiting, receipt inspection, and failure handling.
| Crate | Responsibility |
|---|---|
inflow-core |
Shared InFlow environment and client configuration. |
inflow-tap-seller |
Independent TAP request verification, trusted-key caching, and replay protection. |
inflow-mpp |
MPP codecs, method-field validation, and shared InFlow protocol integration. |
inflow-mpp-buyer |
Payment creation, approval polling, subscription authorization, and cancellation for MPP Buyers. |
inflow-mpp-seller |
Signed offers, credential validation, and settlement for InFlow and Tempo charges. |
inflow-x402 |
InFlow integration with the x402 protocol. |
inflow-x402-buyer |
Buyer integration for InFlow x402 payments. |
inflow-x402-seller |
Seller configuration, offers, verification, and settlement for x402 payments. |
inflow-x402-axum |
Optional Axum/Tower protected routes using upstream x402 middleware. |
Payment Seller integrations require an InFlow Seller account and its dashboard API key. Buyer integrations accept accounts permitted to buy; Sellers can also act as Buyers. Register in Sandbox for testing or production for live payments. Credentials are separate between environments. API keys authorize requests; they do not fund wallets.
TAP verification requires no InFlow account or credentials. Add only
inflow-tap-seller when verifying agent signatures without payments; it does not
depend on the MPP or x402 crates. See its integration guide
and the TAP example.
inflow_core::Environment selects the InFlow API environment:
Environment::Production(the default):https://api.inflowpay.ai.Environment::Sandbox:https://sandbox.inflowpay.ai.
Rust 1.93 or newer is required. The toolchain file selects the minimum supported compiler. CI runs the same checks on that compiler and current stable Rust.
Install the verification tools:
cargo install cargo-deny --version 0.19.8 --locked
cargo install cargo-llvm-cov --version 0.8.7 --lockedRun make verify for formatting, Clippy, tests, documentation, package construction
and compilation, dependency policy, coverage, and adapter tooling tests. Node.js 24
is required for the tooling tests. Run make format to format code.
Coverage requires at least 99% of executable source lines in each file, and 99% of
lines, functions, and regions overall; the goal is 100%. Test files are excluded
from the coverage report. The tool also excludes examples/; its application
tests run in the workspace but are not represented by SDK coverage percentages.
Codecov receives the same lcov.info report and enforces 99% project and patch coverage.
The workspace uses coordinated crate versions. Cargo.lock records the dependency
tree tested by CI; consumers resolve dependencies through each crate's manifest.
The shared conformance checks run public SDK operations against pinned InFlow contracts and local HTTP fixtures. CI retains the reports, including explicitly unsupported capabilities, for minimum and stable Rust.
The Node interoperability checks exchange payments between Rust and Node Buyers and Sellers over HTTP, using a synthetic InFlow platform.
Maintainers: see release preparation and publishing for the manual workflow, first-publication token setup, and Trusted Publishing configuration.
For differences from upstream MPP credential and header handling, see the MPP compatibility notes.
MIT. See LICENSE.