Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
openapi: 3.2.0
info:
title: BorgLayer Balance API
version: 1.0.0
description: 'The BorgLayer API lets you — and AI agents, via the BorgLayer MCP connector —
search and register domains, transfer domains in, manage DNS, set registrant
details, and form US LLCs, all paid from a prepaid USDC account balance.
- **Base URL:** `https://api.borglayer.com/api/v1`
- **MCP connector:** `https://mcp.borglayer.com/mcp` (Streamable HTTP)
- **Auth:** `Authorization: Bearer blrk_…` on every request
## Getting started
1. Create a BorgLayer account and an API key (format `blrk_…`) in your
dashboard. Each key has **scopes** that limit what it can do and is bound
to your account''s prepaid USDC balance.
2. Call the API with `Authorization: Bearer blrk_…`, or add the MCP connector
in Claude (**Customize → Connectors → Add custom connector**) with URL
`https://mcp.borglayer.com/mcp`, Authentication **No sign-in**, and request
header `Authorization: Bearer blrk_…`.
3. Top up your prepaid balance in the dashboard. Read actions are free; actions
that cost money (register, transfer-in, formation) debit your balance.
## Money model
Actions that cost money debit your prepaid USDC balance. If the balance is too
low the API returns `402 insufficient_balance` and **nothing is charged**.
## Scopes
| Scope | Grants |
|-------|--------|
| `domains.read` | search, list your domains |
| `domains.register` | register a domain (debits balance) |
| `domains.transfer` | transfer a domain in (may debit balance) |
| `dns.read` | list DNS records |
| `dns.write` | add/delete DNS records |
| `registrant.read` | list registrant profiles |
| `registrant.write` | create/delete registrant profiles |
| `formation.read` | quote a formation, read order status |
| `formation.write` | create (file) a formation (debits balance) |
| `balance.read` | read your prepaid balance |
A `403` with `required scope: ` means your key lacks that scope.'
contact:
name: BorgLayer
url: https://borglayer.com
email: support@borglayer.com
servers:
- url: https://api.borglayer.com/api/v1
description: Production
security:
- ApiKey: []
tags:
- name: Balance
paths:
/balance:
get:
summary: Read prepaid balance
description: 'Your prepaid USDC balance in micro-USDC (divide by 1,000,000). Scope: `balance.read`.'
responses:
'200':
description: '{ balance_micro }'
tags:
- Balance
operationId: getBalance
x-operation-id-source: derived
components:
securitySchemes:
ApiKey:
type: http
scheme: bearer
bearerFormat: blrk_…