Skip to content

ZATA

ZATA is the credit unit used to pay for storage, compute, bandwidth, queries, and API calls across the Zatabase platform. You buy ZATA with USD and spend it on database operations. Every ZATA movement is signed, durable, and recorded in an auditable ledger. Current rates apply at checkout and are shown in your dashboard.

  • USD billing: Purchase ZATA in USD via Stripe checkout
  • Signed and durable: Every transaction is cryptographically signed and persisted
  • Auditable ledger: Every ZATA movement is recorded with a stable sequence and transaction id
  • Escrow support: Lock ZATA for pending service, release on completion, refund if cancelled

All ZATA operations require authentication and are scoped to the authenticated organization.

All ZATA endpoints are mounted under /v1/credits:

EndpointMethodDescription
/v1/credits/balanceGETGet current balance
/v1/credits/purchasePOSTPurchase ZATA
/v1/credits/transactionsGETList transaction history
/v1/credits/transactions/:tx_idGETGet single transaction
/v1/credits/escrow/lockPOSTLock ZATA in escrow
/v1/credits/escrow/:id/releasePOSTRelease escrowed ZATA
/v1/credits/escrow/:id/refundPOSTRefund escrowed ZATA
/v1/credits/escrowGETList active escrows

Check your organization’s ZATA balance:

Terminal window
curl -s https://your-project.zatabase.io/v1/credits/balance \
-H "Authorization: Bearer $ZATABASE_TOKEN" | jq

Response:

{
"success": true,
"data": {
"available": "500.00",
"locked": "50.00",
"total": "550.00"
}
}
  • available: ZATA ready to spend
  • locked: ZATA held in active escrow locks
  • total: Sum of available + locked

Initiate a ZATA purchase via Stripe:

Terminal window
curl -s -X POST https://your-project.zatabase.io/v1/credits/purchase \
-H "Authorization: Bearer $ZATABASE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"amount_usd_cents": 1000
}' | jq

Response:

{
"success": true,
"data": {
"checkout_url": "https://checkout.stripe.com/...",
"credits_to_receive": "1000000.00"
}
}

The amount of ZATA you receive depends on the current rate, shown in the checkout response. Current rates apply at checkout and are visible in your dashboard.

List recent transactions with pagination:

Terminal window
curl -s "https://your-project.zatabase.io/v1/credits/transactions?limit=20&offset=0" \
-H "Authorization: Bearer $ZATABASE_TOKEN" | jq

Each transaction includes:

{
"tx_id": "01HQRS...",
"tx_type": {"Mint": {"source": {"StripePurchase": {"payment_intent_id": "pi_..."}}}},
"amount": "100.00",
"balance_after": "600.00",
"locked_after": "50.00",
"sequence": 42,
"signature": "...",
"created_at": "2026-03-01T12:00:00Z"
}
TypeDescription
MintZATA added (via Stripe, ACH, node reward, or promotion)
BurnZATA removed (redemption, expiry, or account closure)
TransferZATA moved between accounts
EscrowLockZATA locked for pending service
EscrowReleaseLocked ZATA released to provider
EscrowRefundLocked ZATA returned to locker
FeePlatform, processing, or withdrawal fee

Escrow locks reserve ZATA for pending service consumption. This ensures providers can be paid without risk of insufficient balance.

Terminal window
curl -s -X POST https://your-project.zatabase.io/v1/credits/escrow/lock \
-H "Authorization: Bearer $ZATABASE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"amount": "100.00",
"service": "compute",
"expires_in_hours": 24
}' | jq

The service field is a free-form string used to tag the escrow for your own accounting.

Release escrowed ZATA to the service provider after work is completed:

Terminal window
curl -s -X POST https://your-project.zatabase.io/v1/credits/escrow/{escrow_id}/release \
-H "Authorization: Bearer $ZATABASE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"amount": "75.00",
"recipient_org_id": 42
}'

Partial releases are supported. The remainder stays locked until explicitly released or refunded.

Return escrowed ZATA to the original account:

Terminal window
curl -s -X POST https://your-project.zatabase.io/v1/credits/escrow/{escrow_id}/refund \
-H "Authorization: Bearer $ZATABASE_TOKEN"
Terminal window
curl -s https://your-project.zatabase.io/v1/credits/escrow \
-H "Authorization: Bearer $ZATABASE_TOKEN" | jq
Locked ──> PartiallyReleased ──> Released
├──> Refunded
└──> Expired (automatic, past expires_at)

Stale escrows are automatically expired by a background cleanup task.

Anyone can run a Zatabase node and earn ZATA for serving database traffic. ZATA can be redeemed for USD via your configured payout method. Vultr and Hetzner are supported out of the box; you can also bring your own server. See the Edge Cache docs for node operator details.