Networks & assets
One network, one asset. Both are pinned into the deployment rather than chosen per request.
Networks
One network is supported, and it is a test network. Value moved on Base Sepolia is not real money; the tokens come from a faucet. Base mainnet is not currently available.
Assets
One asset is supported. The token address is bound into the contract at construction and checked on every charge, so a deployment is USDC-or-nothing — passing a different token is not a configuration option, it is a different deployment.
Requests take a decimal string — "100.00" — and responses echo both that and the base-unit integer. 1 USDC is 1,000,000 base units. Amounts accept at most six decimal places and at most twelve digits before the point.
Contracts
Two contracts, both immutable once deployed: not upgradeable, not proxied, no delegatecall, and no owner function that can move funds. Neither holds a balance between calls.
Addresses are deployment-specific and are not published here. Every response that needs one returns it: /v1/payments returns the splitter in its pay block, and the subscription endpoints return the recurring contract. Read the address from the API rather than pinning a constant.
Source, ABIs and the EIP-712 definitions are public: github.com/P2Flux/contracts.
Confirmation policy
How deep a transaction must be before P2Flux calls it settled. These are operator settings, not request parameters — a caller cannot ask for a weaker one.