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

# Stripe ACP

> Buy OneShot tools with Stripe — no wallet or crypto needed

OneShot is available through [Stripe's Agentic Commerce Protocol (ACP)](https://docs.stripe.com/agentic-commerce), which means any LLM agent with Stripe access — including ChatGPT, Claude, and custom agents — can discover and pay for OneShot tools using standard payment rails.

No wallet setup, no USDC, no private keys. Just Stripe.

## What you can buy

Every OneShot tool is available as an ACP product. Your agent discovers them automatically via the [manifest endpoint](/api-reference/acp/manifest).

| Product                   | What it does                                   |
| ------------------------- | ---------------------------------------------- |
| `oneshot-email`           | Send emails from a custom domain with tracking |
| `oneshot-sms`             | Send SMS to one or many numbers                |
| `oneshot-voice`           | AI voice calls with an objective               |
| `oneshot-research`        | Deep web research on any topic                 |
| `oneshot-build`           | Generate a full production website             |
| `oneshot-enrich-email`    | Find someone's email from name + company       |
| `oneshot-enrich-profile`  | Enrich a profile from LinkedIn, email, or name |
| `oneshot-verify-email`    | Check if an email is deliverable               |
| `oneshot-commerce-search` | Search for products across e-commerce          |
| `oneshot-soul-*`          | Custom AI services built by other agents       |

<Info>See [Pricing](/pricing) for current costs. Some tools have dynamic pricing based on input — the exact price is returned when you create a checkout session.</Info>

## How it works

<Steps>
  <Step title="Discover">
    Your agent fetches `GET /.well-known/acp/manifest.json` to see available products, prices, and input schemas. No auth required.
  </Step>

  <Step title="Create a session">
    `POST /acp/checkout_sessions` with the product ID and input parameters. OneShot returns a session with the exact price.
  </Step>

  <Step title="Pay and execute">
    `POST /acp/checkout_sessions/:id/complete` with a Stripe SharedPaymentToken. OneShot charges the token, executes the tool, and returns a `request_id`.
  </Step>

  <Step title="Get results">
    Poll `GET /v1/requests/:request_id` until the job completes. Results are returned inline.
  </Step>
</Steps>

```mermaid theme={null}
sequenceDiagram
    participant Agent as Your Agent
    participant OneShot as OneShot API
    participant Stripe as Stripe

    Agent->>OneShot: GET /.well-known/acp/manifest.json
    OneShot-->>Agent: Products, prices, input schemas

    Agent->>OneShot: POST /acp/checkout_sessions
    OneShot-->>Agent: Session with exact price

    Agent->>OneShot: POST /acp/checkout_sessions/:id/complete
    Note over Agent,OneShot: Includes Stripe SharedPaymentToken
    OneShot->>Stripe: Charge payment token
    Stripe-->>OneShot: Payment confirmed
    OneShot-->>Agent: Order with request_id

    Agent->>OneShot: GET /v1/requests/:request_id
    OneShot-->>Agent: Tool results
```

## Authentication

| Endpoint                             | Auth                              |
| ------------------------------------ | --------------------------------- |
| `GET /.well-known/acp/manifest.json` | None (public)                     |
| All `/acp/checkout_sessions/*`       | Bearer token + API version header |

```bash theme={null}
Authorization: Bearer {your_acp_token}
API-Version: 2026-01-30
```

## ACP vs x402

OneShot supports two payment protocols. Use whichever fits your agent's setup.

|               | Stripe ACP                                | x402 (Crypto)               |
| ------------- | ----------------------------------------- | --------------------------- |
| **Best for**  | Agents with Stripe access (ChatGPT, etc.) | Agents with a crypto wallet |
| **Payment**   | USD via Stripe SharedPaymentToken         | USDC or ETH on Base         |
| **Discovery** | `/.well-known/acp/manifest.json`          | SDK or API docs             |
| **Setup**     | Bearer token                              | Wallet private key          |

Both protocols give access to the same tools and deliver results the same way.

## Quick example

Send a research request via ACP:

```bash theme={null}
# 1. Create session
curl -X POST https://win.oneshotagent.com/acp/checkout_sessions \
  -H "Authorization: Bearer $ACP_TOKEN" \
  -H "API-Version: 2026-01-30" \
  -H "Content-Type: application/json" \
  -d '{
    "line_items": [{
      "item": {
        "id": "oneshot-research",
        "metadata": { "topic": "Stripe ACP adoption trends 2026" }
      }
    }]
  }'

# 2. Complete with payment (use session ID from step 1)
curl -X POST https://win.oneshotagent.com/acp/checkout_sessions/{session_id}/complete \
  -H "Authorization: Bearer $ACP_TOKEN" \
  -H "API-Version: 2026-01-30" \
  -H "Content-Type: application/json" \
  -d '{
    "payment_data": {
      "instrument": {
        "credential": { "token": "spt_live_..." }
      }
    }
  }'

# 3. Poll for results (use request_id from step 2)
curl https://win.oneshotagent.com/v1/requests/{request_id}
```

<Info>In development and staging, use mock tokens prefixed with `spt_mock_` to skip real charges.</Info>
