# Current Limitations

This page helps teams avoid assuming support for flows or rails that are not part of the current public integration surface.

{% hint style="info" %}
**Scope note:** PayChain adds capabilities over time. Use the dashboard, supported-network APIs, and product release notes as the source of truth for what is currently available.
{% endhint %}

### Network and token support

* Supported networks and tokens should be discovered from the dashboard or API.
* Bitcoin mainnet is not currently part of the supported public payment network list.
* Do not hardcode a network list into your app. Cache the catalog only if you refresh it regularly.
* New supported networks are provisioned by PayChain and appear in the dashboard and API catalog when available.

### API key scope

* Standard API keys are for collection and read workflows.
* Standard API keys cannot create programmatic withdrawals.
* Dynamic payout recipients require a trusted backend and payout API key.
* Contract execution requires a dedicated contract execution key scoped to approved action IDs.
* API key creation, rotation, revocation, and sensitive dashboard flows are not part of the public server-side SDK surface.

### Payout routing

* Payout route templates are managed from the dashboard.
* API integrations can attach an already-active `payoutRouteId` to an invoice.
* Existing invoice routing snapshots do not change when a route template changes later.
* Payout routing runs only after full settlement or overpayment. It does not run for tolerated underpayments.
* Each recipient leg counts as one payout API withdrawal for quota and pricing.

### Dynamic recipients

* Dynamic payout recipients are for one-time receivers, such as marketplace, on-ramp, off-ramp, OTC, or remittance orders.
* Do not accept payout destinations directly from frontend code without backend validation.
* Recipient shares must total 100%.
* Dynamic recipients must match the invoice token, chain, and network.

### Gas credits

* Sponsored gas is not unlimited.
* Inbound payment detection continues when gas credits are exhausted.
* Eligible sponsored outbound actions can pause as `gas_blocked` until a top-up or new included gas allowance is available.
* A withdrawal product fee and sponsored gas consumption are separate.

### Dashboard and SDK boundaries

* The SDK is backend-only.
* The SDK does not expose admin routes, dashboard session flows, route-template mutation, API key management, billing mutation, or internal operational controls.
* GitBook examples use placeholder IDs, addresses, and secrets. Replace them with values from your own dashboard or backend.

### What to do if you need something outside this scope

Contact PayChain support with:

* Your business ID.
* Environment: sandbox or live.
* The workflow you are trying to build.
* Token, chain, and network.
* Whether the flow moves funds.
* Any request ID or resource ID from the failed attempt.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.paychainhq.io/paychainhq-documentation-page/developer-quickstart/current-limitations.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
