Two things decide what Crossfyre costs you: your plan and your credits. The plan sets your limits (how many nodes, how many concurrent workflows, how much wordlist storage, how many seats) and drops a batch of credits into your balance each month. Credits are the metered fuel a scan actually burns. This post is about how that fuel meter works, because it is the part that decides whether a tool feels fair or feels like a taxi with the meter running.
Credits are the fuel, the plan is the engine
Think of credits as fuel and the plan as the engine. The plan is a flat monthly subscription that unlocks capacity. Credits are consumed per unit of scanning work. A small subdomain enumeration on one target sips credits; a large content-discovery sweep across a big CIDR range with brute-forcing drinks more. You are paying for the volume of work, not for wall-clock time and not per scan.
Every plan includes a monthly credit grant. The Free plan ships with starter credits to try the platform. Pro and Team grant a larger monthly batch sized to real usage. If you burn through the grant before the month is out, you top up; if you do not, the leftovers carry forward, because credits never expire.
Reserve-then-reconcile, step by step
The core of the model is reserve-then-reconcile. It works in two moves:
- Reserve at launch. When you start a workflow, Crossfyre estimates what it will cost and reserves that many credits against your balance. This is a hold, not a charge. It stops you from launching ten huge runs you cannot afford halfway through.
- Reconcile at completion. When the workflow finishes, you are charged for the work that actually completed. The reservation is squared against reality, and any reserved credits the run did not use are released straight back into your balance.
So the estimate is never the bill. It is a guardrail. The bill is the real, reconciled cost of completed work, and it is always less than or equal to what was reserved.
A released reservation is not a refund you wait on. The hold simply lifts and the credits are spendable again the moment the run reconciles. And because credits never expire, returned credits just sit in your balance until you use them.
Why failed work is free
This is the part that matters most for offensive work, because offensive work fails in messy ways. A node gets reclaimed mid-scan. A target starts rate-limiting and an operation times out. You cancel a run halfway because you already saw what you needed.
Under reserve-then-reconcile, none of that costs you for work that did not produce a result:
- A node dies mid-operation, the operation gets redelivered to another node and run there. You pay once for the result, not once per attempt.
- You cancel a workflow at the halfway mark. You are charged for the half that produced findings, and the rest of the reservation is released.
- A run gets interrupted and resumes later. It picks up where it left off rather than re-billing the part already done.
This falls directly out of the architecture: work is dispatched as durable, acknowledged operations, and only completed operations are billable. The full mechanics are in how scans survive a crashed node.
Contrast: paying for cloud instance-hours
Compare this to the usual DIY approach: rent a fleet of cloud boxes, install your scanners, and run them. There, you pay for instance-hours. The meter runs for every minute a box is powered on, which means you pay for:
- The minutes a box spent crashing, before you noticed.
- The full rerun after the crash, from zero.
- Idle time while a tool hangs against a rate-limiting target.
- The box you forgot to tear down over the weekend.
With cloud instance-hours you pay for compute that happened to be running. With Crossfyre credits you pay for recon that actually completed.
The Crossfyre billing model, in one sentence
The shift is from billing time to billing results. A crash on instance-hours is money you already spent. A crash on Crossfyre is an operation that gets redelivered and billed once, when it finally produces a finding.
Running out, and topping up
What happens when an individual account hits zero credits? It pauses new work. That is it. There is no surprise overage, no negative balance, no card charged without you asking. In-flight runs are reconciled as normal; you just cannot launch new ones until you top up.
Hitting zero is non-blocking. It pauses the start of new workflows, it does not kill what is already running or lock you out of your findings, exports, or dashboard. Top up any time and you are moving again immediately.
You top up credits whenever you want, independent of your monthly plan grant. Topped-up credits behave exactly like granted ones: same meter, same reserve-then-reconcile, same no-expiry. Buy a batch before a big engagement, spend it down over weeks, and keep whatever is left.
A note on AI triage
Crossfyre is building Valkyrie, an AI layer that adds intel and context to findings and helps cut false positives. Valkyrie triage is upcoming, not yet live, and when it ships it is metered separately, on a per-finding basis, because it is a different kind of work than scanning. Each plan will include a monthly grant of triage covered by the subscription, with the same top-up-anytime model beyond it. Until then, no triage is billed because there is none to bill.
That is the whole credit model. Reserve a guardrail, reconcile to reality, never pay for work that did not finish, never lose credits to an expiry clock. For the per-plan grants and the full breakdown of limits, see pricing.
Start on the Free plan with starter credits and watch the meter only move when work completes.
See pricing