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

# Fiat Payments

> Accept credit cards via Stripe, Braintree, or Visa Agentic Tokens with no crypto wallet required. The easiest path for mainstream and enterprise adoption.

Accept credit cards in **USD or EUR**, with no crypto wallet required. Fiat payments are the fastest path to mainstream adoption. Your users can start paying with a card they already have, either through Stripe Checkout (one-time plan purchase) or by setting up [card delegation](/docs/products/payments/overview) for autonomous agent charging.

## When to Use Fiat Payments

<CardGroup cols={2}>
  <Card title="Enterprise Adoption" icon="building">
    Organizations that already pay for SaaS with corporate cards can onboard without touching crypto.
  </Card>

  <Card title="Mainstream Users" icon="users">
    No wallet setup, no token bridging. Users pay with the card in their pocket.
  </Card>

  <Card title="Regulatory Compliance" icon="scale-balanced">
    Fiat-denominated billing simplifies accounting, invoicing, and compliance for businesses.
  </Card>

  <Card title="Instant Onboarding" icon="bolt">
    Users go from discovery to first API call in seconds. No wallet funding step required.
  </Card>
</CardGroup>

## Fiat Payment Scenarios

Nevermined supports fiat payments in two scenarios:

* **Human-to-Agent**: A user visits the Nevermined App checkout page and purchases a plan with their credit card. This is the simplest flow for onboarding new customers.
* **Agent-to-Agent**: An agent owner enrolls a credit card (Visa, Stripe, or Braintree) and creates a [spending delegation](/docs/products/payments/overview). The agent can then make autonomous payments on behalf of the owner, charging the card per request within the defined limits.

## Pay-per-request or a bundle of credits

Nevermined offers two distinct fiat payment flows depending on whether you want upfront plan purchases or per-request charging.

<CardGroup cols={2}>
  <Card title="Plan Purchase" icon="cart-shopping">
    One-time or recurring payment via Stripe Checkout. The user buys a plan, a webhook confirms the payment, and credits are minted on-chain. Best for human users who want a familiar checkout experience.
  </Card>

  <Card title="Card Delegation" icon="key" href="/docs/products/payments/overview">
    Per-request charging via the x402 protocol. The user enrolls a Visa, Stripe, or Braintree card, creates a spending delegation with limits, and the agent charges it for each request. Best for automated workflows and agent-to-agent payments.
  </Card>
</CardGroup>

## Human-to-Agent Purchase Flow

The simplest way to accept fiat. Users complete a standard Stripe Checkout session, and Nevermined handles the rest.

<Steps>
  <Step title="Select a plan">
    The user browses available plans in the Nevermined App or your custom UI and selects one priced in fiat.
  </Step>

  <Step title="Redirect to Stripe Checkout">
    Nevermined creates a Stripe Checkout session and redirects the user to complete payment with their card.
  </Step>

  <Step title="Payment completes">
    Stripe processes the charge. For recurring plans, Stripe manages subsequent billing automatically.
  </Step>

  <Step title="Webhook confirms payment">
    Nevermined receives a webhook from Stripe confirming the successful payment.
  </Step>

  <Step title="Credits minted on-chain">
    The corresponding credits are minted to the subscriber's account, and they can immediately start using the agent.
  </Step>
</Steps>

Both one-time and recurring plan purchases are supported. For recurring plans, Stripe handles rebilling and Nevermined mints fresh credits each billing cycle.

## Agent-to-Agent Purchase Flow (Card Delegation)

Fully autonomous agent-to-agent payments in fiat are enabled through [card delegation](/docs/products/payments/overview). This allows an agent to charge a user's card on-demand, without the user needing to pre-purchase credits. Instead of buying credits upfront, the user enrolls a card and creates a spending delegation with defined limits.

Nevermined supports three card enrollment providers, all consumed through the unified `nvm:card-delegation` x402 scheme:

* **Visa** — Cards tokenized as Visa Agentic Tokens via the VGS Credential Management Platform. Each delegation requires a per-delegation WebAuthn/passkey device-binding ceremony enforced by Visa VTS. Settlement runs through Stripe Connect.
* **Stripe** — Cards captured via VGS Collect, confirmed against a Stripe SetupIntent, vaulted as `pm_…`. Settlement runs through Stripe PaymentIntents.
* **Braintree** — Cards captured via Braintree Drop-in, vaulted as a `paymentMethodToken`. Settlement runs through `transaction.sale` against an OAuth-connected seller merchant account.

<Steps>
  <Step title="Card Enrollment">
    The user enrolls a card via the [Nevermined App](https://nevermined.app). Card data is tokenized by the provider (VGS Collect for Visa and Stripe; Braintree Drop-in for Braintree) and Nevermined never stores raw card numbers. See [Card Enrollment](/docs/products/payments/card-enrollment) for the full flow.
  </Step>

  <Step title="Create a spending delegation">
    The user creates a delegation that defines spending limits: lifetime amount ceiling, max transactions, and duration. Optionally, they can link it to a specific API key for automatic selection. Visa delegations require an additional per-delegation passkey approval (browser-only). See [Delegations](/docs/products/payments/mandates).
  </Step>

  <Step title="Agent requests payment">
    When the agent makes a request, it calls the Nevermined API with its NVM API key. Nevermined resolves the right delegation and generates an x402 payment token.
  </Step>

  <Step title="Verify and settle">
    The resource server verifies the payment token, executes the workload, then settles. Nevermined charges the enrolled card and records the transaction.
  </Step>
</Steps>

<Note>
  Card delegation is what enables fiat-based agent-to-agent payments. An agent owner enrolls their card and sets spending limits, and the agent can autonomously pay for services from other agents, all settled in fiat. Credit top-ups are built in: if the balance runs out during a request, the facilitator charges the enrolled card within the delegation limits — see [Automatic Credit Top-Ups](/docs/integrate/patterns/top-up). For common questions, see the [Payments FAQ](/docs/products/payments/faq).
</Note>

<Warning>
  Visa delegation creation is browser-only because of the WebAuthn/passkey device-binding ceremony. The SDK can **consume** an existing Visa delegation (by passing its `delegationId` to `DelegationConfig`) but cannot create one programmatically.
</Warning>

## Permission Model

Delegations enforce strict spending limits to protect the cardholder. All three networks share the same controls:

| Limit                   | Field                              | Notes                                                    |
| ----------------------- | ---------------------------------- | -------------------------------------------------------- |
| Lifetime spending limit | `spendingLimitCents`               | Cumulative cap across all charges on the delegation      |
| Max transactions        | `maxTransactions`                  | Optional; omit the field to allow unlimited transactions |
| Duration                | `durationSecs`                     | Seconds from `createdAt`                                 |
| Plan binding            | `planId`                           | Required for Visa (Trusted Agent Protocol)               |
| Device binding          | `consumerPrompt` + `assuranceData` | Visa-only; produced by the in-browser WebAuthn ceremony  |

A delegation moves through a simple lifecycle:

| State         | Meaning                                                  |
| ------------- | -------------------------------------------------------- |
| **Active**    | Valid and can be used for charges                        |
| **Exhausted** | The spending limit or transaction count has been reached |
| **Expired**   | The expiration date has passed                           |
| **Revoked**   | The cardholder manually revoked it                       |

Once a delegation leaves the **Active** state, a new one must be created to continue charging. See [Delegations](/docs/products/payments/mandates) for full details on spending controls and the [Delegation Selection](/docs/products/payments/mandate-selection) algorithm.

## Security and PCI Compliance

Card data never reaches Nevermined servers. Depending on the provider:

* **Visa path** — PAN is captured in a VGS Collect iframe and posted directly to the VGS Credential Management Platform via VGS-internal routing. CMP issues a Visa Agentic Token (`vat_…`) that replaces the PAN. Each delegation is bound to the cardholder's device via a WebAuthn/passkey ceremony enforced by Visa VTS, producing a single-use `assuranceData` blob.
* **Stripe path** — PAN is captured in a VGS Collect iframe and forwarded directly to Stripe to confirm a SetupIntent. Stripe vaults the card as a `pm_…` PaymentMethod.
* **Braintree path** — PAN is captured by the Braintree Drop-in / hosted fields, which post directly to Braintree and return a single-use nonce. The facilitator vaults the nonce as a permanent `paymentMethodToken`.

<Note>
  **Nevermined is PCI compliant** (PCI SAQ D level) and holds ISO 27001 and SOC 2 Type II certifications. Strong Customer Authentication is enforced per-delegation for Visa (WebAuthn/passkey, with email OTP fallback) and at enrollment for Stripe and Braintree (3DS where the issuer requires it). See the [Payments FAQ](/docs/products/payments/faq) for full security details.
</Note>

## Revenue Routing

When a user pays with a card, Nevermined routes the revenue to the builder's connected account on the appropriate PSP:

* **Stripe & Visa** — via Stripe Connect (`transfer_data.destination`). Fees are deducted automatically before the payout reaches the builder. Visa delegations always settle through the seller's Stripe Connect account.
* **Braintree** — via two `transaction.sale` calls: one against the platform's per-currency `merchantAccountId` for the platform fee, one against the seller's OAuth-connected merchant account for the seller share.

You receive funds directly in your PSP account — no manual transfers or reconciliation needed.

## Fees and Settlement

| Item                 | Cost                                                                                                            |
| -------------------- | --------------------------------------------------------------------------------------------------------------- |
| Nevermined fee       | 2% of the transaction amount                                                                                    |
| PSP processing fee   | Stripe / Braintree fixed fee + % per transaction (varies by currency/region; see PSP pricing)                   |
| Supported currencies | USD, EUR                                                                                                        |
| Settlement           | Stripe PaymentIntents (Stripe + Visa) or Braintree `transaction.sale` (Braintree) to seller's connected account |

<Warning>
  Fiat payments carry higher fees than stablecoin payments (2% + Stripe fees vs. 1% flat). For high-volume or high-value use cases, consider [stablecoin payments](/docs/integrate/patterns/stablecoin-payments) to reduce costs.
</Warning>

## Supported Plan Types

<CardGroup cols={2}>
  <Card title="Credits-Based" icon="coins">
    Prepaid credits purchased via Stripe Checkout. Credits are minted once payment confirms.
  </Card>

  <Card title="Time-Based" icon="clock">
    Subscription access for a set duration. Stripe handles recurring billing automatically.
  </Card>

  <Card title="Pay-As-You-Go" icon="meter">
    Per-request charging via card delegation. No upfront purchase needed.
  </Card>

  <Card title="Recurring" icon="arrows-rotate">
    Automatic rebilling at the end of each period. Stripe manages the billing cycle.
  </Card>
</CardGroup>

## Next Steps

<CardGroup cols={2}>
  <Card title="Payments" icon="credit-card" href="/docs/products/payments/overview">
    Enroll Visa, Stripe, or Braintree cards and create spending delegations for agent payments
  </Card>

  <Card title="Stablecoin Payments" icon="coins" href="/docs/integrate/patterns/stablecoin-payments">
    Accept crypto payments with the lowest fees and on-chain transparency
  </Card>

  <Card title="Payment Models" icon="calculator" href="/docs/integrate/patterns/payment-models">
    Configure credits, time-based, dynamic, and hybrid plans
  </Card>

  <Card title="Manage Plans" icon="sliders" href="https://nevermined.app">
    Create and manage payment plans in the Nevermined App
  </Card>
</CardGroup>
