Developers

A payment operations API you'll enjoy building on.

One versioned REST API for money movement, ledgering and accounts. Integer cents, idempotent writes, signed webhooks, and errors that tell you exactly what was wrong. Authenticate with a header and create a payment in four lines.

The API is live — developer access is granted by application.

These pages are the full reference for the API as it stands today. Access is reviewed and approved per organization rather than self-serve — apply for access and we'll get in touch.

Authenticate

# tenant-scoped secret key in a header
curl https://api.digitaltreasury.com/v1/balances \
  -H "X-API-Key: dt_live_..."

Create a payment

POST /v1/payment-orders
Idempotency-Key: inv_8842_pay
{
  "direction": "Credit",
  "rail": "Ach",
  "amountCents": 250000,
  "counterpartyName": "Acme Carrier"
}
Built for integrators

The details that make an integration hold up.

Idempotent by default

Every write takes an Idempotency-Key. Retry a timeout and get the same result — never a duplicate. How it works →

Signed, durable webhooks

HMAC-signed, outbox-backed, at-least-once delivery with lossless secret rotation. Verify signatures →

Integer cents, typed rails

Money is never a float and a rail is never a bare string. The same request shape works for ACH and for USDC.

Read the ledger

Pending, posted and available balances plus full entry history per account — reconciliation is a read, not a nightly job.

A sandbox that behaves

Simulated rails settle and return like the real thing, and a built-in test-event sink lets you confirm your webhook endpoint before you go live. See the sandbox →

OpenAPI & snippets

A versioned /v1 surface with an OpenAPI document and copy-paste snippets in cURL, C#, Python and Node.

Full API reference → Learn the concepts →