1. Sign up
Email + password at /signup. You'll land in a sandbox dashboard immediately — no KYC needed yet.
2. Mint a sandbox API key
Open /merchant/developer → Create API key → label it "Quickstart", environment sandbox, scopes usage:write + invoice:read. Copy the token — it's shown once.
BUFFMONEY_API_KEY=bm_sandbox_YOUR_KEY_ID.YOUR_SECRET
3. Create a customer
In /merchant/customers → Add customer. Give them an externalId like user_42 — that's how you'll reference them from your backend.
4. Send your first usage event
From your backend, any language. curl example:
curl https://www.buffmoney.com/api/v1/usage-events \
-H "Authorization: Bearer bm_sandbox_YOUR_KEY.YOUR_SECRET" \
-H "Content-Type: application/json" \
-d '{
"events": [
{
"customerExternalId": "user_42",
"idempotencyKey": "evt_quickstart_001",
"metric": "tokens_input",
"quantity": "1000",
"occurredAt": "2026-05-25T10:00:00Z"
}
]
}'Success response:
{
"ok": true,
"accepted": 1,
"duplicate": 0,
"rejected": 0,
"results": [
{ "idempotencyKey": "evt_quickstart_001", "status": "accepted", "eventId": "..." }
]
}5. See it in the dashboard
Refresh /merchant/usage — your event shows up at the top. Replay the same idempotencyKey and you'll see duplicate: 1 in the response — proof the dedup works.