credits endpoints
credit balance, purchases, and transaction history
all credit endpoints require authentication. include the bearer token in headers.
GET
/credits/balance
get current credit balance
response
{
"balance": {
"available": 450,
"reserved": 50,
"totalUsed": 500
}
}GET
/credits/packages
list available credit packages
response
{
"packages": [
{
"id": "pkg_starter",
"name": "Starter",
"credits": 100,
"priceUsd": 10,
"priceUsdc": 10,
"bonusPercent": 0
},
{
"id": "pkg_pro",
"name": "Pro",
"credits": 550,
"priceUsd": 50,
"priceUsdc": 50,
"bonusPercent": 10
},
{
"id": "pkg_business",
"name": "Business",
"credits": 2400,
"priceUsd": 200,
"priceUsdc": 200,
"bonusPercent": 20
}
]
}POST
/credits/deposit/initiate
initiate a credit purchase with usdc
request body
{
"packageId": "pkg_pro",
"walletAddress": "935yewyPF61Zh1sGa7RsBweHmyVQVnWfzXyyozxjcKXA"
}response
{
"deposit": {
"depositId": "dep_abc123",
"amountUsdc": 50,
"creditsToReceive": 550,
"treasuryWallet": "Treas1...xyz",
"usdcMint": "EPjFW...4Cw",
"expiresAt": "2024-01-15T11:00:00Z"
}
}POST
/credits/deposit/confirm
confirm deposit after sending usdc transaction
request body
{
"depositId": "dep_abc123",
"txSignature": "5abc123def456..."
}response
{
"transaction": {
"id": "tx_xyz789",
"type": "deposit",
"amount": 550,
"description": "Pro package purchase",
"txSignature": "5abc123def456...",
"createdAt": "2024-01-15T10:35:00Z"
},
"newBalance": {
"available": 1000,
"reserved": 50,
"totalUsed": 500
}
}GET
/credits/transactions
get credit transaction history
query parameters
typestring (optional) - deposit, usage, refund
pagenumber (default: 1)
limitnumber (default: 20)
response
{
"transactions": [
{
"id": "tx_xyz789",
"type": "deposit",
"amount": 550,
"description": "Pro package purchase",
"createdAt": "2024-01-15T10:35:00Z"
},
{
"id": "tx_abc123",
"type": "usage",
"amount": -25,
"description": "Deployment dep_xyz789 usage",
"deploymentId": "dep_xyz789",
"createdAt": "2024-01-15T12:00:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 15,
"totalPages": 1
}
}