curl "https://api.mor.org/api/v1/billing/transactions?entry_type=purchase&limit=10" \
-H "Authorization: Bearer sk-your-api-key"
{
"items": [
{
"id": "0192a1b2-c3d4-7890-abcd-ef1234567890",
"user_id": 1234,
"currency": "USD",
"status": "posted",
"entry_type": "purchase",
"amount_paid": "25.00",
"amount_staking": "0.00",
"amount_total": "25.00",
"payment_source": "stripe",
"description": "Credit purchase",
"created_at": "2026-05-01T10:00:00Z",
"updated_at": "2026-05-01T10:00:00Z"
},
{
"id": "0192a1b2-c3d4-7890-abcd-ef1234567891",
"entry_type": "usage_charge",
"status": "posted",
"amount_paid": "0.00",
"amount_staking": "-0.0042",
"amount_total": "-0.0042",
"model_name": "llama-3.3-70b",
"endpoint": "/api/v1/chat/completions",
"tokens_total": 384,
"created_at": "2026-05-22T14:30:00Z",
"updated_at": "2026-05-22T14:30:00Z"
}
],
"total": 89,
"limit": 10,
"offset": 0,
"has_more": true
}
Billing
List Transactions
Get full credit ledger history including purchases, usage, and refunds
GET
/
api
/
v1
/
billing
/
transactions
curl "https://api.mor.org/api/v1/billing/transactions?entry_type=purchase&limit=10" \
-H "Authorization: Bearer sk-your-api-key"
{
"items": [
{
"id": "0192a1b2-c3d4-7890-abcd-ef1234567890",
"user_id": 1234,
"currency": "USD",
"status": "posted",
"entry_type": "purchase",
"amount_paid": "25.00",
"amount_staking": "0.00",
"amount_total": "25.00",
"payment_source": "stripe",
"description": "Credit purchase",
"created_at": "2026-05-01T10:00:00Z",
"updated_at": "2026-05-01T10:00:00Z"
},
{
"id": "0192a1b2-c3d4-7890-abcd-ef1234567891",
"entry_type": "usage_charge",
"status": "posted",
"amount_paid": "0.00",
"amount_staking": "-0.0042",
"amount_total": "-0.0042",
"model_name": "llama-3.3-70b",
"endpoint": "/api/v1/chat/completions",
"tokens_total": 384,
"created_at": "2026-05-22T14:30:00Z",
"updated_at": "2026-05-22T14:30:00Z"
}
],
"total": 89,
"limit": 10,
"offset": 0,
"has_more": true
}
Get a paginated list of all credit ledger entries for the authenticated user. This is the full account history — purchases, daily staking refreshes, usage charges, refunds, and adjustments.
Use this endpoint when you need the complete financial audit trail, not just inference usage.
Headers
string
required
API key or Cognito JWT:
Bearer sk-xxxxxxQuery Parameters
integer
default:"50"
Maximum number of items to return (minimum 1).
integer
default:"0"
Number of items to skip for pagination.
string
Filter by ledger entry type:
purchase— Credit top-ups (Stripe, Coinbase, etc.)staking_refresh— Daily staking allowance refreshusage_hold— Pending hold while a request is in flightusage_charge— Finalized inference usage chargerefund— Credit refundadjustment— Manual or system adjustment
string
Filter entries created after this datetime (ISO 8601).
string
Filter entries created before this datetime (ISO 8601).
Response
array
List of ledger entries. Returns newest entries first.
Show Ledger entry fields
Show Ledger entry fields
string
Unique entry ID.
string
Type of ledger entry (
purchase, staking_refresh, usage_charge, etc.).string
Entry status:
pending, posted, or voided.string
Change to the paid credit bucket.
string
Change to the staking credit bucket.
string
Total credit change.
string | null
Model name (for usage entries).
string | null
API endpoint (for usage entries).
integer | null
Total tokens (for usage entries).
string | null
Payment provider (for purchase entries).
string | null
Human-readable description of the entry.
string
When the entry was created (ISO 8601).
integer
Total number of matching entries.
integer
Page size used for this response.
integer
Offset used for this response.
boolean
Whether additional pages are available.
curl "https://api.mor.org/api/v1/billing/transactions?entry_type=purchase&limit=10" \
-H "Authorization: Bearer sk-your-api-key"
{
"items": [
{
"id": "0192a1b2-c3d4-7890-abcd-ef1234567890",
"user_id": 1234,
"currency": "USD",
"status": "posted",
"entry_type": "purchase",
"amount_paid": "25.00",
"amount_staking": "0.00",
"amount_total": "25.00",
"payment_source": "stripe",
"description": "Credit purchase",
"created_at": "2026-05-01T10:00:00Z",
"updated_at": "2026-05-01T10:00:00Z"
},
{
"id": "0192a1b2-c3d4-7890-abcd-ef1234567891",
"entry_type": "usage_charge",
"status": "posted",
"amount_paid": "0.00",
"amount_staking": "-0.0042",
"amount_total": "-0.0042",
"model_name": "llama-3.3-70b",
"endpoint": "/api/v1/chat/completions",
"tokens_total": 384,
"created_at": "2026-05-22T14:30:00Z",
"updated_at": "2026-05-22T14:30:00Z"
}
],
"total": 89,
"limit": 10,
"offset": 0,
"has_more": true
}
For inference usage only, prefer List Usage — it returns a cleaner schema focused on API calls. Use List Transactions when you also need purchases, refreshes, and refunds.

