Skip to main content

Obsidian Pay API

Obsidian Pay is a Belize payments platform. This is the reference for its public REST API, served by ObsidianCore.

Everything the API exposes runs through two services:

ServiceRole
ObsidianCoreThe REST gateway you call. Accounts, cards, merchants, disputes, authentication.
TransactionCoreThe ledger engine behind it. Not reachable from the internet; ObsidianCore calls it for you.

Balances and transfers are recorded in an append-only ledger denominated in JDX, which is backed 1:1 by the fiat reserve.

Base URL

https://api.obsidianpay.bz

Every route is versioned under /api/v1/. Ask your integration contact for the sandbox host.

A first request

# 1. Sign in
curl -X POST https://api.obsidianpay.bz/api/v1/Users/login \
-H 'Content-Type: application/json' \
-d '{"email":"you@example.com","password":"..."}'

# 2. Use the access token
curl https://api.obsidianpay.bz/api/v1/Users/<userId>/balance \
-H 'Authorization: Bearer <accessToken>'
{
"data": {
"totalBalance": 250.00,
"availableBalance": 200.00,
"currency": "BZD"
}
}

Where to go next

If you want toRead
Sign in and call a protected routeAuthentication
Understand response and error shapesConventions
Send, deposit or withdraw moneyTransactions overview
Handle the 403 that asks for a codeStep-up verification
Look up an error codeError reference

Support

Include the traceId from any error response when you contact support. It identifies the exact request in our logs.