> For the complete documentation index, see [llms.txt](https://apc-pay.gitbook.io/apc-pay-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://apc-pay.gitbook.io/apc-pay-docs/getting-started/overview.md).

# Overview

Updated 2026-10-14

APC Pay enables merchants to create outbound fiat payouts funded from their USDT balance. Your server signs every API request, verifies signed responses, and receives a signed callback when a payout reaches a final state.

Build the integration in a trusted server environment. Never expose merchant credentials or private keys in a browser, mobile app, or other client-side code.

> ❇️
>
> ### Real payouts
>
> The supplied materials do not document a sandbox. Treat `POST /payout/create` as a real-money operation unless APC Pay has explicitly provided you with a test environment. Confirm the environment, funding process, enabled currencies, and test procedure before creating a payout.

## Choose an integration path

| Path                   | Best for                                                                              | Start here                                                                        |
| ---------------------- | ------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| TypeScript example     | Teams that want to run the supplied Node.js example and follow a guided first payout. | [Quick Start](broken://pages/22c43dd09ce841ec9d903208e876a09fee1a58fe)            |
| Direct API integration | Teams implementing the protocol in another language or an existing backend.           | [Native API Integration](broken://pages/7b501391f08adae344986212af9d57286f6b569e) |

Both paths use the same RSA-SHA256 signing rules, endpoints, payout lifecycle, and callback verification requirements.

## What you can do

* Query the merchant's usable, locked, and total USDT balance.
* Query enabled fiat currencies, limits, decimal precision, rates, and fees.
* Create an idempotent payout using a unique merchant order number.
* Query a payout by merchant order number or platform payout ID.
* Receive and verify final `SUCCESS` or `FAILED` payout callbacks.

The public API base URL in the supplied materials is:

```
https://pwc-pay-api.chiachair.com/v1
```

## Documentation map

### Get started

* [Quick Start](broken://pages/22c43dd09ce841ec9d903208e876a09fee1a58fe) — configure and run the supplied TypeScript example.
* [Native API Integration](broken://pages/7b501391f08adae344986212af9d57286f6b569e) — implement the complete server-to-server flow directly.
* [Balance and Currency](broken://pages/c374e00afa6fb109644d34b6d82fbe7b0d8b38c7) — validate available funds, supported currencies, limits, rates, and fees.

### Build the payout flow

* [Authentication and Request Signing](broken://pages/09fdb741f99cf1deb38cf1b90b063767f12807df) — create canonical payloads, sign requests, and verify responses.
* [Create a Payout](broken://pages/85bb23f0c564b16167e4d27ad120123daf5f90b3) — submit a payout safely and preserve idempotency.
* [Query a Payout](broken://pages/d322bd86cc349f7eef7630c43fcea7a59ed35e89) — reconcile timeouts, uncertain results, and delayed callbacks.
* [Payout Webhooks](broken://pages/3ddd4c5270f1825eb62c85633eddb69b50a33b8c) — verify, deduplicate, and acknowledge final notifications.

### Operate in production

* [Payout Statuses and Errors](broken://pages/1701152330ec298b264aa8660498f37921c96df6) — map states and errors to safe recovery actions.
* [Production Checklist](broken://pages/51586ee1dbdda74e18dfca2a30c3f8205ecce9e0) — review security, reliability, and go-live readiness.

## Get support

Use the operational support channel provided by APC Pay. The supplied materials do not specify a public support address.

For an efficient investigation, provide:

* the platform `requestId`;
* your `mchOrderNo` and, when available, the `payoutOrderId`;
* the affected endpoint and approximate request time, including timezone; and
* a sanitized description of the result and the recovery steps already attempted.

Never send a merchant private key, full QR payload, unmasked payee data, or a replayable signed request or callback body.
