# AI & Postman

> Markdown version of the public documentation of the Bifrost Crypto API v1, for AI agents and code generators. Same content as the HTML pages, generated from the same source, without navigation or styling.
>
> HTML version: https://bifrostcrypto.com/en/docs/ai-and-postman
> Related files: [ai.md](https://bifrostcrypto.com/ai.md) · [Postman](https://bifrostcrypto.com/postman-collection.json) · [OpenAPI](https://bifrostcrypto.com/openapi.json) · [llms.txt](https://bifrostcrypto.com/llms.txt)
> Other languages: [Português](https://bifrostcrypto.com/ai/pt-BR/ai-and-postman.md) · [Español](https://bifrostcrypto.com/ai/es/ai-and-postman.md) · [Français](https://bifrostcrypto.com/ai/fr/ai-and-postman.md)
> API v1 · contract last changed on 2026-10-10

Two shortcuts to integrate faster: a Postman collection to try every endpoint, and the whole documentation as Markdown for AI agents and code generators.

## Postman collection

Every /v1 endpoint, with example bodies, example responses and authentication already set up. The requests are split in two folders: Read, with no side effects, and Write, which creates payouts, payins and fixed addresses or changes configuration.

Download collection: https://bifrostcrypto.com/postman-collection.json

In Postman, use Import and drop the file, or paste the URL https://bifrostcrypto.com/postman-collection.json. Then open the Variables tab of the collection and fill in apiKey.

### Collection variables

| Variable | Type | Required | Description |
| --- | --- | --- | --- |
| `baseUrl` | string | optional | API URL, without /v1. Already filled in. |
| `apiKey` | string | required | Your API key. Sent in X-Bifrost-Invoke on every request. |
| `signingSecret` | string | optional | Signing secret of the key. Only for keys created with request signing; leave it empty otherwise. |
| `webhookUrl` | string | optional | Your HTTPS endpoint for webhooks, used by Create Payout and Create Payin. Starts empty. |
| `payoutAddress` | string | optional | Destination wallet of Create Payout. Starts empty, so nothing is sent by accident. |
| `payoutReference · payinReference` | string | optional | reference_id of the next payout or payin. Change it for each new operation. |
| `payoutInternalReference · payinInternalReference` | string | optional | Filled in automatically by Create Payout and Create Payin. Used by Check Specific Payout and Check Specific Payin. |

> There is no public sandbox: the collection talks to the real account of the key, and Create Payout sends real funds. payoutAddress and webhookUrl start empty, so a payout sent by accident is refused with invalid_parameters. reference_id comes from payoutReference and payinReference: sending the same request twice is refused as a duplicate instead of paying twice, so change the variable for each new operation. Start with small amounts.

If the key requires request signing, fill in signingSecret: a script of the collection adds X-Bifrost-Timestamp, X-Bifrost-Nonce and X-Bifrost-Signature to every request. Keys without signing ignore it.

## Documentation for AI

AI agents and code generators read a text file better than HTML pages with navigation. That is why the whole documentation also exists as Markdown, in a single file: a summary of the rules agents usually get wrong, authentication and request signing, guides, webhooks and signature verification, error codes, every endpoint with fields and examples, the changelog and integration recipes.

### Files

| Path | Type | Description |
| --- | --- | --- |
| `/ai.md` | `text/markdown` | The whole documentation in English, with a summary for agents at the top and integration recipes at the end. |
| `/ai/pt-BR.md · /ai/es.md · /ai/fr.md` | `text/markdown` | The same file with the guides and explanations in each language. The endpoint reference stays in English. |
| `/ai/{locale}/{page}.md` | `text/markdown` | A single page of this documentation, for example https://bifrostcrypto.com/ai/en/create-payout-single.md. |
| `/llms.txt` | `text/plain` | Short index in the llms.txt format, which AI tools look for at the root of the site. Points to the files above. |
| `/postman-collection.json` | `application/json` | Postman collection v2.1. |
| `/openapi.json` | `application/json` | OpenAPI 3.1 specification, generated from the same source. |

## Using it with an assistant

Give the assistant the URL of the Markdown file and describe what you want to integrate. Some starting points:

**Accept payments**

```text
Read the API documentation at https://bifrostcrypto.com/ai.md.
Implement in my backend:
1. creation of a payin for an order, using the order id as reference_id and storing internal_reference;
2. a webhook endpoint that verifies X-Bifrost-Signature over the raw body, answers 2xx at once and marks the order paid on payment_confirmed after comparing received_amount with crypto_amount.
Read the API key from the environment variable BIFROST_API_KEY and the webhook key from BIFROST_WEBHOOK_KEY.
```

**Send payouts**

```text
Read the API documentation at https://bifrostcrypto.com/ai.md.
Implement a payout job that sends up to 50 payouts per request to POST /v1/payout, with a stable reference_id per payout and an Idempotency-Key per request. Read results[] by index, store internal_reference of the created items and retry only the refused ones, deciding by error.code.
Read the API key from the environment variable BIFROST_API_KEY.
```

**Fixed address per customer**

```text
Read the API documentation at https://bifrostcrypto.com/ai.md.
Implement a fixed deposit address per customer with POST /v1/fixed-wallets, using our customer id as customer_info, and a webhook handler that credits the customer on payment_confirmed for deposits with is_wallet_fixed true.
Read the API key from the environment variable BIFROST_API_KEY and the webhook key from BIFROST_WEBHOOK_KEY.
```

> Never paste the API key, the signing secret or the webhook key into the chat of an assistant. Tell it to read them from environment variables.
