---
title: "Start an x402 payment session"
method: POST
path: "/api/start-payment-session"
tags: ["Payment (x402)"]
---

# Start an x402 payment session

`POST /api/start-payment-session`

Initiates a payment session for agents that charge per
request. Returns a session handle the caller uses with
`message/send` (via the `X-PAYMENT` header or session-linked
metadata) until the session is spent or expired.

Paid agents only. Unpaid agents return `404`.

## Response `200`

Payment session opened

- PaymentSession
  - `session_id` string, required
  - `status` 'pending' | 'completed' | 'failed' | 'expired', required
  - `amount` string, required — Amount as string to avoid float precision
  - `asset` string, required
  - `network` string, required
  - `pay_to` string, required — Wallet address to pay
  - `created_at` string, date-time, required
  - `expires_at` string, date-time
  - `capture_url` string, uri — Human-facing payment URL

## Changes

- **2026-04-21** `8a22dc180044` — 2 breaking, 1 warning, 14 info
  - removed the required property `paymentRequirements` from the response with the `200` status
  - removed the required property `sessionId` from the response with the `200` status
  - removed the optional property `expiresAt` from the response with the `200` status
  - api operation id `startPaymentSession` removed and replaced with ``
  - …13 more

[Change history](https://skmtc.dev/getbindu/apis/bindu-agent-api/changes/api/start-payment-session/post.md)

---

[API](https://skmtc.dev/getbindu/apis/bindu-agent-api.md) · [All operations](https://skmtc.dev/getbindu/apis/bindu-agent-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/getbindu/bindu-agent-api/revisions/e070faa5425b/schema)
