StableOps
API reference

Create a payment order

Allocates a receiving address per accepted asset and emits `payment_order.created`. The request must include an `Idempotency-Key` header so retries are safe.

POST/v1/payment-orders

Authorization

bearerAuth
AuthorizationBearer <token>

Paste your API key from the dashboard (no sk_ prefix required).

In: header

Header Parameters

Idempotency-Key*string

Stable client-supplied key (e.g. merchant order id). Replays return the original response.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/payment-orders" \  -H "Idempotency-Key: string" \  -H "Content-Type: application/json" \  -d '{    "merchant_order_id": "string",    "amount": "string",    "settlement_asset": "USDC",    "accepted_assets": [      {        "chain": "ethereum",        "asset": "USDC"      }    ]  }'
{
  "id": "string",
  "merchant_order_id": "string",
  "scenario": "saas_subscription",
  "amount": "string",
  "requested_amount": "string",
  "settlement_asset": "USDC",
  "status": "created",
  "expires_at": "2019-08-24T14:15:22Z",
  "metadata": "string",
  "created_at": "2019-08-24T14:15:22Z",
  "accepted_assets": [
    {
      "chain": "ethereum",
      "asset": "USDC"
    }
  ],
  "payment_instructions": [
    {
      "chain": "ethereum",
      "asset": "USDC",
      "address": "string"
    }
  ]
}
{
  "statusCode": -9007199254740991,
  "message": "string",
  "error": "string"
}
{
  "statusCode": -9007199254740991,
  "message": "string",
  "error": "string"
}
{
  "statusCode": -9007199254740991,
  "message": "string",
  "error": "string"
}
{
  "statusCode": -9007199254740991,
  "message": "string",
  "error": "string"
}