> 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/platforms.md).

# Platforms

A **platform** is anything that issues a Bitcoin payment destination (on-chain address, Lightning invoice, etc.) to a sender — a merchant store, a payment processor, an invoicing tool, a donation page. Posting those destinations to Branta means senders see *who* they are paying before they hit send: your name, your logo, a verify link.

### What you get

* **Counterparty rendering** in any wallet using the Branta SDK and on [scan.branta.pro](https://scan.branta.pro/scan).
* **Public verify URL** for every payment (e.g. `guardrail.branta.pro/v2/verify/{destination}`) you can link from your own checkout.
* **Zero-knowledge mode**, where the destination is encrypted client-side before posting — Branta never sees the plain-text address.
* A listing in the [Branta network directory](https://branta.pro/network) if you open a PR on [branta-network](https://github.com/BrantaOps/branta-network).

### Onboarding

Four steps. Steps 1–3 happen once; step 4 is the integration work.

#### 1. Create an account

Sign up at [guardrail.branta.pro](https://guardrail.branta.pro). The Branta dashboard (we call it Guardrail) is where you manage your platform, request approval, and issue API keys.

For testing, the staging dashboard is at [staging.guardrail.branta.pro](https://staging.guardrail.branta.pro/session/new). Staging and production are siloed — see [Environments](/tech/environments.md).

#### 2. Submit a Platform Request

In Guardrail, create a Platform Request. A Branta admin reviews it (a light KYB check — we confirm your business and that the platform brand you're claiming is yours) and approves the platform on your account.

{% hint style="info" %}
Approvals are manual. If you need this turned around quickly for a launch or demo, mention the timeline in the request.
{% endhint %}

#### 3. Create an API key

Once your platform is approved, generate an API key from Guardrail. Keep it secret — see [Authentication](/tech/authentication.md) for header format and handling rules.

{% hint style="danger" %}
API keys carry sensitive privileges. Never commit them to source control, ship them in client-side code, or share them in plain text. Rotate immediately if exposed.
{% endhint %}

#### 4. Integrate

Pick the integration shape that matches what you already run:

| If you use…                                                                 | Do this                                                                                                                    |
| --------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| **BTCPay Server**                                                           | Install the [BTCPay plugin](/setup/platforms/payment-gateway-options/btcpay-server.md) — no code.                          |
| **Zaprite**                                                                 | Connect Branta in the [Zaprite settings](/setup/platforms/payment-gateway-options/zaprite.md) — no code.                   |
| **Take My Sats**                                                            | Paste your API key into [Take My Sats store settings](/setup/platforms/payment-gateway-options/take-my-sats.md) — no code. |
| **Anything else** (your own checkout, a custom processor, a one-off script) | Use the [Custom Integration](/setup/platforms/custom-integration.md) — SDK or raw HTTP.                                    |

### After you're live

* **Test your integration.** Issue a real payment in your platform and confirm it resolves on [scan.branta.pro](https://scan.branta.pro/scan) and any compatible wallet. The [example QR codes](/setup/wallets/example-qr-codes.md) cover all four destination scenarios (on-chain, Lightning, ZK variants, not-found).

{% hint style="info" %}
If you publish ZK on-chain destinations (`isZk: true`), the QR code you render at checkout must include `branta_id` and `branta_secret` query parameters so wallets can look up and decrypt the record. See [QR code / payment URI](/setup/platforms/custom-integration.md#qr-code-payment-uri-zk-on-chain) in the Custom Integration guide and the [BIP-321 URI scheme spec](https://github.com/bitcoin/bips/blob/master/bip-0321.mediawiki).
{% endhint %}

\* \*\*Get listed.\*\* Open a PR on \[branta-network]\(<https://github.com/BrantaOps/branta-network>) to appear in the public \[partner directory]\(<https://branta.pro/network>). \* \*\*Hosting other platforms?\*\* See \[Parent Platforms]\(../parent-platforms.md) — you'll need the \`parent\_platform\` feature toggled on your account and a slightly different credential flow.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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://developer.branta.pro/setup/platforms.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.
