Credits: Balance, Buying Packs, and BYOK
Written By Christopher Scaminaci
Last updated 7 days ago
Credits: Balance, Buying Packs, and BYOK
Managed-key automation runs and platform-key builder assistance are billed in StackJack credits. Credits abstract the underlying AI costs (model tokens plus active runtime) into simple dollars: 1 credit currently equals $0.10 of usage. StackJack may adjust the credit value over time; current credit-pack pricing is always shown in the portal. BYOK execution is billed directly by Anthropic instead, as described below.
The credits surface lives on the Credits tab of the Automations area (the old /credits address redirects there).

The tab now opens with a Concurrency card above the balance — how many automation runs your organization can have going at once, how many are running, and how many are waiting for a slot. That card is newer than the screenshot above; see Concurrency, Slots, and the Run Queue.
Your balance
The Credit balance tile at the top of the tab shows your tenant's available credits. Managed-key runs draw from this balance:
- Before a run starts, StackJack reserves up to the automation's Max credits per run. The whole reservation has to fit. A balance that is positive but smaller than the reservation is not enough: the run is recorded as CreditExhausted and nothing is charged.
- When the run finishes, the reservation settles to actual usage — unused reservation is refunded.
- Max credits per run is a hard cap: a run that reaches it is wrapped up, and you are never billed above the cap for that run.
After you top up, a refused run does not restart itself. A run recorded as Credit exhausted is terminal. Start the automation again by hand, or wait for its next scheduled occurrence or trigger — either one runs normally once the balance covers a full reservation. This is different from a run that is only Queued: queued work is still waiting for a concurrency slot and starts on its own when one frees, without you doing anything. See Concurrency, Slots, and the Run Queue.
To see why a particular run cost what it did, open the run and read its Cost breakdown card — it splits the charge across input, output, cache-read and cache-write tokens plus session runtime. Cache traffic is usually the largest line by a wide margin. See Run Detail.
Buying credit packs
Credit purchases are made by the account owner (or a co-owner). Other team members see a notice asking them to contact the owner.
- Open the Credits tab and find the Buy credits section. Each pack card shows its name, the number of credits, and the price.
- Click Buy on a pack. A secure Paddle checkout opens in a new tab (Paddle is StackJack's payment provider).
- Complete the checkout. Credits land on your balance automatically once payment is confirmed.
Things to know:
- Credits never expire.
- Purchases are one-time — buying a pack is not a subscription.
- The credit amount is fixed at purchase time by the pack you chose.
- If the portal cannot safely link the checkout to your tenant before opening it, it refuses to open the checkout and asks you to retry — this protects you from a payment that credits could fail to land for. The message includes a transaction reference for support.
Debt state (negative balance)
In rare cases a run's final usage can exceed what was reserved, driving the balance negative. When that happens:
- The balance is shown in red with an Account in debt alert.
- New managed-credit runs are refused until the available balance can cover the full reservation each new run requests—not merely until the balance becomes positive.
- The Buy credits section stays available, and buying a pack is how you get out. The purchase lands as an ordinary credit addition, so it settles the debt first. Once the remaining balance can cover a new run's reservation, trigger that run again. A run already recorded as Credit exhausted is terminal and never resumes after the purchase. If you want to understand how the overage happened, contact support@stackjack.io—but you do not have to wait for support before buying credits and starting a new eligible run.
Recent transactions
The Recent transactions table shows your last 20 credit movements: date, type, description, the signed amount (green for additions, red for deductions, to four decimal places), and the balance after each. Purchases, per-run deductions, refunds, and manual adjustments all appear here. For a BYOK run, StackJack writes a zero-amount audit entry only after final settlement completes. Its description contains StackJack's approximate usage calculation, not an Anthropic invoice; an entry can therefore arrive after the run first becomes terminal, and Anthropic's bill remains authoritative.
Bring your own Anthropic key (BYOK)
You can supply your own Anthropic API key instead of running on StackJack-managed AI credentials. Two kinds of account qualify, and either one is enough:
- an account on the Enterprise connector plan, or
- an account on a flat-fee Agent Runner plan, whatever its connector plans are. Those plans run on your own key by design, so key enrollment comes with them. If this is the plan that qualified you and it later ends, runs pause rather than falling back to credits — see If your Agent Runner plan ends.
Effect of turning BYOK on: managed automation agents, environments, vaults, run sessions and transcript fetches, and enabled memory stores use your tenant key and Anthropic workspace. Anthropic bills those operations directly to your account, and actual automation runs are not metered against StackJack credits. They skip the credit-balance reservation and the Max credits per run guardrail; use Max runtime to bound execution instead.
Wizard turns and builder AI Assist follow the same account boundary as your runs. A managed-key organization pays StackJack credits for billable wizard and suggestion calls; an organization with its own Anthropic key on file deducts zero credits and is billed for them by Anthropic, in its own account. If the key cannot be read, the turn is refused and you are asked to re-enter it — it never falls back to StackJack's key. Server-side token counting and local character counters are free and call no model. Test agent is an actual run, so it uses your own key for execution too.
A key-mode indicator card on the Credits tab always shows which mode you're in:
- Managed Anthropic credentials — the default; every run is metered against credits.
- Your Anthropic key (BYOK) — a tenant-supplied key is active; runs are not metered against credits. The card carries a green tenant-supplied badge.
- Your Anthropic key (BYOK), runs paused — the same card with an amber runs paused badge. Your key is still stored, but it is not being used and runs are refused, because the Agent Runner plan that let you enrol it has ended. See If your Agent Runner plan ends.
BYOK removes StackJack's credit reservation; it does not make provider execution idempotent. If StackJack must replace a stranded run after first confirming the old session stopped, both Anthropic attempts can appear on your Anthropic bill. The replacement is a fresh execution and can repeat connector changes the first attempt already completed, so write workflows that must happen once need vendor-side idempotency or deduplication.
Set, replace, or remove the key (owner only)
- On the Credits tab, find the key-mode card — titled Managed Anthropic credentials until a key is active, and Your Anthropic key (BYOK) once one is. Every account sees the card. Set key and Replace key appear only for accounts that qualify above; Remove key appears whenever a key is on file, even if the account no longer qualifies to enrol one — so you can always withdraw your own key. Non-owners see a read-only notice instead.
- Click Set key (or Replace key), paste your key (Anthropic keys start with
sk-ant-), and save. - The key is stored in Azure Key Vault. It is never displayed again — not even masked. StackJack never logs the key value.
- To go back to managed credentials, click Remove key and confirm. You can set a new key at any time afterwards.
Automations are provisioned into the Anthropic workspace for their key mode. If you add, replace, or remove BYOK after automations already exist and execution reports a workspace mismatch, contact StackJack support for re-provisioning rather than repeatedly retrying the run. Memory stores are workspace-bound too: after you enrol a key, the automation's Memory card offers a one-way move of an existing store into your workspace. See Automation memory.
If your Agent Runner plan ends
A flat-fee Agent Runner plan is one of the two things that lets you enrol a key. If that plan is what admitted your key and the plan then ends, StackJack stops using the key for runs.
Which keys this applies to. Only a key that your Agent Runner plan admitted. A key you enrolled under an Enterprise connector plan is never affected, and neither is a key that was already on file before this behaviour shipped. If your account is on the Enterprise connector plan today, your key keeps working whatever happened to an Agent Runner plan you also once held.
What counts as "ended". A cancelled or deactivated Agent Runner plan. These do not count, and runs keep working normally through all of them:
- a failed payment that is still being retried,
- a paused subscription,
- a cancellation that is scheduled but has not taken effect yet.
What happens to runs. They are refused — never quietly moved back onto StackJack credits. Each new run a trigger starts is recorded as a Failed run carrying this message:
Your Agent Runner plan has ended, so your own Anthropic key is no longer used for runs. Re-subscribe to Agent Runner to resume using it, or remove the key to run on StackJack credits.
A run that was already paused waiting for your approval is not lost: resuming it is refused with the same sentence, and the run stays Awaiting input. Restoring the Agent Runner plan is the route that resumes it on the key it started with. Removing the key is not the same remedy — it changes what later runs use, and it does not move an already-started session out of your Anthropic workspace, so a paused run may not be resumable afterwards. The approval deadline keeps running either way. Because every refused new run is a Failed run, it is also eligible for a failure alert — see Failure Notifications.
Nothing is deleted. The refusal happens before StackJack ever reads the stored key, so both the key and StackJack's reference to it survive untouched. Restoring the plan restores the key without you re-entering it.
What the Credits tab shows. The key card keeps its Your Anthropic key (BYOK) title but its description changes to "Your organization's own Anthropic API key is stored but not in use: your Agent Runner plan has ended, so runs are paused", the green tenant-supplied badge becomes an amber runs paused badge, and a paragraph below names both ways out. Remove key stays available; Replace key comes back with the subscription.
Your two ways out.
- Restore the Agent Runner plan — runs resume on your own key. Contact StackJack to arrange it. This is the only route that resumes a run already paused in your Anthropic workspace.
- Remove the key — click Remove key and confirm. New runs go back to StackJack credits, which means they draw on your credit balance again. It applies to what runs next, not to work already started: automations that were provisioned into your Anthropic workspace can report a workspace mismatch afterwards, and a session created under your key can stop being fetchable. Contact StackJack support for re-provisioning rather than retrying such a run.
Other things that need the key while it is paused. Fetching a run's Anthropic transcript, and the run's tool-sequence backfill, are refused the same way — the message is the sentence above, not a transient error, so retrying will not help. So are reviewing, redacting, clearing, and migrating agent memory. Erasure still works: hard-deleting a memory store and deleting an automation complete normally.
If a section fails to load
Each section has its own error banner with a Retry button and a support code: SJ-BAL-* (balance), SJ-PK-* (pack catalog), SJ-TX-* (transactions). These are almost always transient — retry, and contact support with the code if one persists.