# Build with AI

These docs are ready for AI coding assistants. Point your assistant at the right file and it gets the same facts you read here.

## Files for AI tools

| File | What it has |
| --- | --- |
| [`/llms.txt`](https://magic.payd.money/llms.txt) | A short index of every page, with one line on each. |
| [`/llms-full.txt`](https://magic.payd.money/llms-full.txt) | Every page in one Markdown file. Best for pasting into a chat or a project. |
| [`/openapi.yaml`](https://magic.payd.money/openapi.yaml) | An OpenAPI 3.1 description of the endpoints in these docs. Use it to generate a client or typed models. |
| Any page as `.md` | Add `.md` to a page's address, such as [`/kenya-payins.md`](https://magic.payd.money/kenya-payins.md). |

Each page also has buttons at the top to copy it as Markdown or open it in Claude or ChatGPT.

## Start with this prompt

Paste this into your coding assistant, then describe what you want to build.

```text
I am integrating the Payd payments API (https://api.payd.money).
Read https://magic.payd.money/llms-full.txt before you write any code, and use
only the endpoints and fields it documents. Do not guess field names.

Rules:
- Payd has no sandbox. Every call moves real money. Use small test amounts.
- Read PAYD_API_USERNAME, PAYD_API_PASSWORD and PAYD_ACCOUNT_ID from the
  environment. Never print them, log them or put them in client-side code.
- Treat a 200 on a payin or payout as "accepted", not "paid". Confirm with the
  webhook or GET /api/v2/payments/{reference}/status.
- Verify the X-Payd-Signature header on every webhook, using the raw body
  and the secret from GET /api/v2/webhooks/secret. Reject it if it fails.
- Send an idempotency_key with every payin and payout, and reuse the same
  key when you resend after a timeout or 5xx.
- Store gateway_response.merchant_reference with every order or payout.
```

## Point your tools at the docs

- **Claude and ChatGPT.** Use the "Ask Claude" or "Ask ChatGPT" buttons on any page, or add `llms-full.txt` to a project.
- **Cursor.** Add `https://magic.payd.money/llms-full.txt` under Settings, Indexing and Docs, then mention it with `@Docs`.
- **Claude Code and other agents.** Put the prompt above in your project's `CLAUDE.md` or `AGENTS.md`. Agents can fetch any page as `.md` when they need detail.
- **Code generators.** Run your OpenAPI generator on `openapi.yaml`.

## Keep an agent safe with money

An agent that can call the Payd API can move money. Set it up so it cannot surprise you.

- Give it a key for an account that holds only what you can afford to test with.
- Ask it to show you each payout request and wait for your yes before it sends one.
- Let it read freely: balances, payment options, quotes and status calls do not move money.
- Keep the key out of the chat. Load it from the environment where the agent runs.
- When you are done testing, ask Payd support to switch the key off, or move to a new one.
