Billing & credits
Credit packs through Stripe. Buy credits once, then spend them when paid delivery actions succeed.
How billing works
Credits live on the account, not on a single API token. Any active token can run paid actions against the same balance.
Certain operations are always free to encourage integration setup and testing:
| Operation | Cost | Description |
|---|---|---|
| Login / credential validation | Free | Validating NDSP credentials costs nothing |
| Profile check | Free | Looking up a user's profile on Cortex Cloud |
| Preset listing | Free | Listing presets available in your account |
| Follow / unfollow | Free | Sending or revoking a friend request |
| Preset share | 10 credits | Sharing a preset with another user |
| Capture share | 10 credits | Sharing a neural capture with another user |
Trial credits
New accounts are granted a one-time balance of trial credits, enough for three deliveries, without a card. The grant happens the first time the account calls GET /api/account/credits or creates an API key, and the exact amount is returned as trialCredits by GET /api/account/credit-packs.
Trial credits are ordinary credits. They do not expire, they are spent by the same operations, and they appear in the transaction log as signupTrialCredits.
Credit packs
Preset Bridge offers one-time credit packs. Bigger packs lower the unit cost without committing the account to a monthly plan.
GET /api/account/credit-packs for pack details and pricing.
Every account includes:
- Unlimited API key creation
- Unlimited store integrations
- Full usage analytics and delivery logs
- Free operations (login, profile check, preset listing)
Buying credits
Checkout
From the Billing page in the dashboard, choose a credit pack and currency. Stripe Checkout collects payment, then the webhook credits the account.
Top-ups
Buy another pack whenever the balance runs low. Credits do not expire in the app.
Insufficient credits
Paid API calls return INSUFFICIENT_CREDITS when the account balance cannot cover the action. Free calls still work.
Stripe integration
All payment processing is handled by Stripe. Preset Bridge never stores card details. Stripe webhooks reconcile credit purchases.
Credit balance API
You can check your current credit balance programmatically:
curl https://presetbridge.com/api/billing/balance \
-H "x-api-key: ndsp_live_xxxxxxxxxxxxxxxx"
{
"success": true,
"balance": {
"credits": 187,
"unlimited": false,
"rateLimit": {
"requestsPerHour": 100,
"currentHourRequests": 6,
"currentHourStart": "2026-03-14T12:00:00.000Z"
}
}
}
Or check via the dashboard using Firebase authentication:
curl https://presetbridge.com/api/account/credits \
-H "Authorization: Bearer <firebase-id-token>"
Pricing API
Retrieve the current credit pricing for all operations. These are public endpoints.
curl https://presetbridge.com/api/billing/pricing
curl https://presetbridge.com/api/account/credit-packs
{
"success": true,
"pricing": {
"login": 0,
"follow": 0,
"unfollow": 0,
"profileCheck": 0,
"presetShare": 10,
"presetList": 0,
"captureShare": 10
}
}