> For the complete documentation index, see [llms.txt](https://developer.branta.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.branta.pro/setup.md).

# Setup

Branta plugs into three places in the Bitcoin payments stack. Pick the one that matches your role — the onboarding requirements and integration shape differ.

### [Wallets](/setup/wallets.md)

For wallet developers who want their users to see *who* they are paying before broadcast.

* **Account required:** None. Wallets read Branta data; they do not publish.
* **Integration:** Drop in the [SDK](/tech/sdk.md) (`branta-js`, `branta-dotnet`, `branta-python`, `branta-dart`, `branta-kotlin`) and call `getPaymentsByQrCode` / `getPayments` from your send flow.

### [Platforms](/setup/platforms.md)

For merchants, payment processors, and apps that issue Bitcoin payment destinations and want their counterparty info (name, logo) shown to senders.

* **Account required:** Yes — sign up at [guardrail.branta.pro](https://guardrail.branta.pro), submit a platform request, and wait for approval.
* **Integration:** Install a turn-key [Payment Gateway](/setup/platforms/payment-gateway-options.md) (BTCPay Server, Zaprite, Take My Sats) — no code — or build a [Custom Integration](/setup/platforms/custom-integration.md) using the SDKs or raw HTTP.

### [Parent Platforms](/setup/parent-platforms.md)

For services that integrate Branta on behalf of many merchants and `POST` payments for each. Each merchant has their own Branta platform and API key; the parent service signs every request with its own HMAC secret to prove the call originated from it.

* **Account required:** Yes — same flow as a regular platform, plus a Branta admin must enable the `parent_platform` feature on your account.
* **Integration:** `POST` to `/payments` using the **merchant's** API key in `Authorization`, signed with **your** HMAC secret in `X-HMAC-Signature` / `X-HMAC-Timestamp`.

{% hint style="info" %}
Self-hosted, single-tenant deployments like **BTCPay Server** are not parent platforms — each BTCPay store is its own Branta platform with its own API key and no HMAC layer.
{% endhint %}

### Using AI to implement?

Copy a prompt from the [SDKs](/tech/sdk.md) page and paste it into your AI agent. The prompts install the correct package and walk the agent through the Integration Guide automatically.

### Not sure which one you are?

| You are…                                                                                               | You want…                                                                                                                                                                                     |
| ------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Building a wallet app                                                                                  | [Wallets](/setup/wallets.md)                                                                                                                                                                  |
| Running a single store or service that takes Bitcoin                                                   | [Platforms](/setup/platforms.md) — start with a [Payment Gateway](/setup/platforms/payment-gateway-options.md) if one fits, else [Custom Integration](/setup/platforms/custom-integration.md) |
| Running a payment app that issues destinations on behalf of many merchants (ex: Zaprite, Take My Sats) | [Parent Platforms](/setup/parent-platforms.md)                                                                                                                                                |
