Credits & Billing
One simple currency for everything: credits. No subscription required — buy credits when you need them, they never expire.
Every account starts with 50 welcome credits — enough to design a pass and put it on dozens of phones. After that, buy credit packs as you go or pick a plan with a monthly allowance. Credits never expire and unused monthly credits roll over.
What costs credits
Two rates exist for high-volume actions: the pay-as-you-go rate (Freedom) and the bulk rate (Growth and Pro plans).
| Action | Freedom (pay-as-you-go) | Growth / Pro |
|---|---|---|
| Publish a pass | 10 credits (once per design, when published; drafts are free, up to 10 at a time) | 10 credits (once per design, when published; drafts are free, no limit) |
| Issue a pass | 1 credit per issued pass | 1 credit per issued pass |
| Deliver a pass by SMS or WhatsApp (your Twilio account) | 1 credit per message sent | 1 credit per message sent |
| Update a pass for all holders | 1 credit per push event | 1 credit per push event |
| Update a pass for one holder | 1 credit per push event | 1 credit per push event |
| Campaigns | 2 credits per notified device | 2 credits per notified device |
| Redemption scan (POS app or API) | 1 credit per scan | 1 credit per 15-minute window per register per pass design |
| Barcode pool upload | 1 credit per code | 1 credit per 500 codes |
- Issuing is billed per issued pass, at the moment of issue (API, form, order, or share-link download), whether or not the holder adds it to a wallet. Re-issuing to an existing holder costs nothing; a share-link download is a new pass each time.
- Text delivery is billed per message sent, per holder, when Twilio accepts the message; a rejected message costs nothing, and delivery or read receipts never change the charge. Twilio's and the carrier's rates are on your own Twilio account.
- Scans on Growth/Pro are windowed per register: a register's first scan of a pass opens a 15-minute window and its repeat scans of that pass inside it are free — each register bills at most 4 credits an hour per pass, however busy the counter.
- A scan is never blocked by an empty balance — the redemption at the counter always completes; only the charge is skipped. Everything else — pushes, creating designs, issuing passes, uploading barcode pools — requires sufficient balance.
What's free
| Unpushed per-holder calls | A per-holder update that doesn't push — the response says pushed: false because nothing changed or the push was skipped — is free. |
| Holder lookups | GET /holders/find and POS member lookups never consume credits. |
| Loyalty & order calls | POST /loyalty/points and POST /orders/process have no per-call fee — you only pay for what they trigger: a newly issued pass (1 credit) or a resulting push. |
| Revokes | Revoking one instance or mass-revoking by barcode is free. |
| Webhooks | Deliveries, retries, and signatures are all free, on every plan. |
| Issuance dedupe hits | Re-issuing to an email that already holds the pass returns the existing pass and charges nothing — retried automations never double-bill. |
Credit packs
- 100 credits — $5
- 500 credits — $20
- 2,000 credits — $70
- 10,000 credits — $299
Packs are one-time purchases. They never expire and stack with any plan.
Plans
- Freedom — free. Pay-as-you-go rates, unlimited pass designs, Shopify integration, analytics, API and webhooks. No subscription, no commitment.
- Growth — $49/month. 2,000 credits per month (rollover), white-label passes, plus the bulk rates above: windowed scans, barcode codes per 500.
- Pro — $149/month. 10,000 credits per month (rollover) and everything in Growth.
Team wallets
Actions on a team-owned pass bill the team's shared credit balance, not the acting member's personal one — API keys included.
A team owner can instead bill a team through a parent account — their own account or another team they own. The dependent team inherits the parent's plan and rates, its actions draw from the parent's balance (its own wallet stays at 0), and its billing page shows only “Billed through {parent}” with the shared balance. Chains are allowed (agency → company → brand). Only the parent's owner can release a dependent team; on release it returns to Freedom with a 0 balance and sets up its own billing. Billing pages are visible to team owners only.
Questions about billing? support@thepassstudio.com