Skip to content

Repository files navigation

InFlow Rust SDK

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 layout

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.

Environments

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.

Repository verification

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 --locked

Run 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.

References

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.

License

MIT. See LICENSE.

About

Rust SDK for InFlow MPP and x402 Buyer and Seller integrations.

Topics

Resources

Code of conduct

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages