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
  }
}