---
title: "POST /agent-commerce/v1/pay"
method: POST
path: "/agent-commerce/v1/pay"
---

# POST /agent-commerce/v1/pay

`POST /agent-commerce/v1/pay`

## Request

- Base URL: `https://mondoir.art`
- URL: `https://mondoir.art/agent-commerce/v1/pay`
- Auth: one of:
  - HTTP bearer
  - none
- TypeScript: <https://skmtc.dev/mondoir/apis/mondoir-api/docs/agent-commerce/v1/pay/post.ts> (a function with typed inputs; its response is checked against the schema)

Pay an owned quote using a stable Bazaar resource URL. When public quote discovery is enabled, an unsigned anonymous artwork quote request returns 402 and checkout credentials. Empty probes return an example quote, not authorization to spend. Submit actual buyer details before signing; payment retries require the returned bearer credential and quote_id. Echo extensions unchanged; never put private quote details in discovery metadata.

## Request body

- union
  - object
    - `quote_id` string, required: UUID from a fresh quote created by the authenticated agent. The example UUID is not payable.
  - object
    - `artworkSlug` string, required: Slug of an available, publicly priced artwork.
    - `buyerEmail` string, required: Valid email address for the order confirmation.
    - `payer` string, required: Paying wallet on the selected network: EVM hex or Solana base58.
    - `network` 'eip155:8453' | 'eip155:137' | 'eip155:42161' | 'eip155:480' | 'eip155:143' | 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp': USDC network; defaults to Base in live mode.
    - `shipping` object, required
      - `firstName` string, required
      - `lastName` string, required
      - `address1` string, required
      - `address2` string
      - `city` string, required
      - `state` string
      - `postalCode` string
      - `phone` string
      - `country` string, required
  - object

## Response `200`

Payment result. Inspect order.order_id before claiming an order.

- object

## Other responses

- `202`: Settlement/order recovery pending; do not pay again.
- `400`: Invalid input or browser cookies supplied.
- `401`: Missing, expired or revoked bearer credential.
- `402`: x402 payment requirements.
- `404`: Resource not found or checkout disabled.
- `409`: Item unavailable, selection changed or quote conflict.
- `429`: Rate limited; honor Retry-After.
- `503`: Temporarily unavailable. Never assume payment failed or repay.

## Changes

- **2026-10-19** `8a0a695bcfb5`: 1 breaking, 1 warning, 1 info
  - the request's body type changed from `object` to no type
  - removed the request property `quote_id`
  - added `subschema #1, subschema #2, subschema #3` to the request body `anyOf` list
- **2026-10-18** `3dbcace6f389`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/mondoir/apis/mondoir-api/changes/agent-commerce/v1/pay/post.md)

---

[API](https://skmtc.dev/mondoir/apis/mondoir-api.md) - [All operations](https://skmtc.dev/mondoir/apis/mondoir-api/llms.txt) - [OpenAPI document](https://skmtc.dev/mondoir/apis/mondoir-api/revisions/5c50dd5066f8?raw)
