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

# Pay

> Complete a payment without placing payment credentials in a conversation.

Darwin Pay is the payment orchestration layer for an Action. It binds a payment to the exact merchant, amount, currency, terms, capability revision, and interaction the user reviewed.

<Note>
  Payment APIs described on this page are a planned preview. They are not available in the production API or MCP tool
  set yet.
</Note>

## Choose the payment path

Darwin reads the bound payment interaction and exposes only compatible choices. Your product does not translate payment protocols or move credentials through model context.

<CardGroup cols={3}>
  <Card title="Direct checkout" href="/docs/act/payments/direct-checkout">
    Hand the user to the merchant or payment provider and resume the same Action after backend confirmation.
  </Card>

  <Card title="Darwin Pay" href="/docs/act/payments/darwin-pay">
    Let Darwin coordinate a supported tokenized or protocol-native payment without becoming merchant of record.
  </Card>

  <Card title="Agent wallets" href="/docs/act/payments/agent-wallets">
    Use a policy-constrained wallet, including a supported Privy wallet, for an eligible onchain payment route.
  </Card>
</CardGroup>

Use [Saved methods](/docs/act/payments/saved-methods) for one-time and reusable processor references, [Agentic protocols](/docs/act/payments/agentic-protocols) for UCP, ACP, and MPP, or [x402](/docs/act/payments/x402) for an HTTP-native payment challenge.

## Follow the payment interaction

```text theme={null}
payment_required -> review exact terms -> user chooses payment route
                 -> first-party or provider flow -> backend confirmation
                 -> same Action resumes
```

Darwin can route to a provider's direct checkout or coordinate a compatible payment through Darwin Pay. Depending on the selected capability, that can include hosted checkout, scoped payment tokens, Link-compatible payment methods, UCP, ACP, MPP, or x402.

Darwin does not charge a transaction fee, hold a customer balance, or become merchant of record. The seller or payment provider remains responsible for the commercial transaction.

## Submit a bound payment choice

The planned `pay_action` operation accepts only a route and credential source. Price and merchant fields are deliberately absent because they come from the current interaction.

```json theme={null}
{
  "interactionId": "interaction_123",
  "expectedRevision": 4,
  "route": "darwin_pay",
  "source": {
    "kind": "saved_payment_method",
    "paymentMethodId": "pmref_123"
  },
  "save": false,
  "requestId": "order-1042-payment"
}
```

For a one-time method, Darwin returns a first-party `webLink` when browser entry is required. Raw card numbers, security codes, bank credentials, private keys, and payment proofs never belong in prompts, tool arguments, or your backend request.

## Save a payment method safely

A saved payment method is a revocable processor token or reference. Darwin does not store raw card data. Saving requires explicit user consent and does not authorize future purchases; every payment remains bound to its own interaction and approval policy.

## Confirm completion from the Action

Do not treat a redirect, popup closure, wallet signature, or provider message as success. Read the same `actionId` until Darwin reports a backend-confirmed state. Changed merchant, amount, currency, cart, fees, delivery terms, or expiry invalidate the previous review.

Continue with [Approve](/docs/act/approvals) when the payment also requires a consequential user decision.
