> ## Documentation Index
> Fetch the complete documentation index at: https://ifdocdemo.lumivescence.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Let AI agents find your service, enroll, and pay for it. You can also give your own agent a wallet to do the same.

InFlow is the transaction layer for AI agents. An agent finds a service, enrolls with it, and pays for what it uses. No person completes a form, copies an API key, or enters a card number.

## One product in three parts

| Part | Open standard | What it lets an agent do |
| - | - | - |
| **Payments** | [MPP](https://mpp.dev) and [x402](https://x402.org) | Pay for a resource. The agent pays from its InFlow balance, onchain, or with a linked card. |
| **Enrollment** | [AEP](https://www.aep.foundation/) (Agent Enrollment Protocol) | Enroll with a service and get its own credentials. |
| **Discovery** | [ODP](https://www.offeringprotocol.org/) (Offering Discovery Protocol) | Find products, prices, and the actions to use or buy them. |

Every InFlow transaction has an agent side and a seller side.

<CardGroup cols={2}>
  <Card title="Pay as an agent" icon="robot" href="/agents/get-started">
    You build or operate an agent. Install the CLI, log in, and pay for your first resource.
  </Card>

  <Card title="Integrate your service" icon="store" href="/sellers/integrate-your-service">
    You operate an API or a service. Integrate InFlow in three steps: Payments, Enrollment, and Discovery.
  </Card>
</CardGroup>

## Latest versions

| Component | Package | Latest |
| - | - | - |
| InFlow CLI | [Install the CLI](/agents/install-the-cli) | <img src="https://img.shields.io/github/v/release/inflowpayai/inflow-cli?label=latest&labelColor=1A1A1A&color=CAFA3A" alt="Latest InFlow CLI version" noZoom style={{ display: "inline", margin: 0 }} /> |
| Node.js seller, MPP | `@inflowpayai/mpp-seller` | <img src="https://img.shields.io/npm/v/@inflowpayai/mpp-seller?label=latest&labelColor=1A1A1A&color=CAFA3A" alt="Latest @inflowpayai/mpp-seller version" noZoom style={{ display: "inline", margin: 0 }} /> |
| Node.js seller, x402 | `@inflowpayai/x402-seller` | <img src="https://img.shields.io/npm/v/@inflowpayai/x402-seller?label=latest&labelColor=1A1A1A&color=CAFA3A" alt="Latest @inflowpayai/x402-seller version" noZoom style={{ display: "inline", margin: 0 }} /> |
| Node.js buyer, MPP | `@inflowpayai/mpp-buyer` | <img src="https://img.shields.io/npm/v/@inflowpayai/mpp-buyer?label=latest&labelColor=1A1A1A&color=CAFA3A" alt="Latest @inflowpayai/mpp-buyer version" noZoom style={{ display: "inline", margin: 0 }} /> |
| Node.js buyer, x402 | `@inflowpayai/x402-buyer` | <img src="https://img.shields.io/npm/v/@inflowpayai/x402-buyer?label=latest&labelColor=1A1A1A&color=CAFA3A" alt="Latest @inflowpayai/x402-buyer version" noZoom style={{ display: "inline", margin: 0 }} /> |
| Python SDK | `inflowpay` | <img src="https://img.shields.io/pypi/v/inflowpay?label=latest&labelColor=1A1A1A&color=CAFA3A" alt="Latest inflowpay version" noZoom style={{ display: "inline", margin: 0 }} /> |
| Go SDK | `github.com/inflowpayai/inflow-go` | <img src="https://img.shields.io/github/v/tag/inflowpayai/inflow-go?sort=semver&label=latest&labelColor=1A1A1A&color=CAFA3A" alt="Latest inflow-go version" noZoom style={{ display: "inline", margin: 0 }} /> |
| Rust SDK | `inflow-*` crates | <img src="https://img.shields.io/crates/v/inflow-mpp-seller?label=latest&labelColor=1A1A1A&color=CAFA3A" alt="Latest inflow crates version" noZoom style={{ display: "inline", margin: 0 }} /> |

[SDKs](/reference/sdk-packages) lists every package.

## How it works

At runtime, an agent uses the three parts in this order.

<Steps>
  <Step title="Discover">
    The agent searches a directory for services. It then reads what a service offers.
  </Step>

  <Step title="Enroll">
    The agent enrolls with the service and gets its own credential.
  </Step>

  <Step title="Pay">
    The service responds with HTTP `402 Payment Required`. The agent pays, and the service returns the resource.
  </Step>
</Steps>

When approval is necessary, InFlow sends a payment request to the owner. The owner can also set a policy that approves payments.

## InFlow Payments

InFlow Payments accepts MPP and x402. Integrate both. Both use HTTP `402` and run side by side in one service.

* **MPP** (Machine Payments Protocol) accepts stablecoins and cards. It also supports subscriptions.
* **x402** accepts stablecoins and linked cards. The agent pays onchain or from its InFlow balance.

Both protocols accept the InFlow balance. The `402` response lists the accepted options, and the agent pays with one of them. See [Payments with MPP and x402](/concepts/payments).

## Environments

Every API key belongs to one environment.

| Environment | Dashboard | Purpose |
| - | - | - |
| `sandbox` | [sandbox.inflowpay.ai](https://sandbox.inflowpay.ai) | Development and tests |
| `production` | [app.inflowpay.ai](https://app.inflowpay.ai) | Live payments |

Build in the sandbox first. To move to production, see [Go live](/sellers/go-live).

## Get help

<CardGroup cols={3}>
  <Card title="Discord" icon="discord" href="https://discord.gg/Z9nmMAgaR4">
    Ask the InFlow team and other builders.
  </Card>

  <Card title="GitHub" icon="github" href="https://github.com/inflowpayai">
    Read the source and the examples for the CLI and the Node.js SDK.
  </Card>

  <Card title="Email" icon="envelope" href="mailto:info@inflowpay.ai">
    Write to [info@inflowpay.ai](mailto:info@inflowpay.ai).
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.