The billing unit
Galinum bills monthly active users (MAU). An end user becomes active in a billing period when any of these events happens:- You call
identifyortrackfor that user. - That user sees a web in-app message.
- An email provider accepts a campaign email for that user.
Rates
Rates are graduated. Each portion of your usage is charged at its tier’s rate.
For example, 40,000 active users cost 200, and the
next 30,000 cost $360.
Prices are in USD and billed monthly in arrears. Tax is calculated at checkout
and added to your invoice.
AI credits
Galinum-hosted agent sweeps are billed at $0.01 per AI credit. Agents you run yourself are not billed for AI credits. The default monthly limit is 2,500 credits. Owners and admins can change it under Settings → Billing, from 0 to 1,000,000 credits. The limit is a usage control, not a free allowance. Setting it to 0 pauses hosted-agent sweeps. Before each sweep, the hosted agent checks whether the organization has reached its limit. A sweep that starts below the limit runs to completion, even if it finishes above the limit. The next sweep is then skipped until the usage period resets. Galinum emails owners and admins when usage reaches 80% of the limit, and again at 100%. Each alert is sent at most once per usage period, so crossing the same threshold again in a later period alerts you again. After each completed run, Galinum reports its finalized credits once to Stripe. The report uses one stable identifier, so a retry cannot create a second charge inside Stripe’s duplicate window. If a response remains uncertain when that 24-hour window closes, Galinum waives the usage instead of risking a duplicate charge. Galinum also waives usage that it cannot bill safely because of a permanent rejection or unusable billing state. Under Settings → Billing, you can review measured credits, billed credits, reporting state, waived runs, and recent hosted-agent runs. Measured but waived credits do not appear as billed cost.Payment method
You need a payment method on file before Galinum delivers anything. Add one under Settings → Billing. Checkout puts a card on file and charges nothing up front. Your first invoice covers only the usage you accrue. Without a payment method, Galinum recordsidentify and track data but
serves no web in-app messages, sends no campaign email, and accrues no MAU.
Spend cap
You can set an optional spend cap under Settings → Billing. The cap is a hard stop. When usage for the period reaches it, Galinum stops both channels until the next period, or until you raise or remove the cap. The dashboard warns you at 80% and 95%. The cap limits future delivery, not what you already owe. Usage accrued before the cap took effect stays payable.Email frequency protection
Galinum accepts at most 3 campaign emails per project recipient in any rolling 24-hour window, across all campaigns in that project. A send above the limit is skipped permanently for that campaign, not delayed. It appears asfrequency_capped in delivery records and as frequencyCapped in campaign
stats and usage.
A capped send does not count toward MAU. Transactional service email, such as
account and authentication messages, uses a separate path and is exempt.
What Galinum sends
Galinum sends campaign email: launches, releases, announcements, and other product communications you choose to send. Keep your own transactional provider for password resets, receipts, and account notices. Galinum does not send transactional email for you. Unsubscribes and suppressions are scoped to campaign email only. They do not reach your transactional provider, so keep honoring opt-outs in the email you send yourself. Because campaign email is priced per active user rather than per message, Galinum protects the shared sending reputation that price depends on. Sending that harms deliverability, such as sustained hard bounces, spam complaints, or purchased lists, can be throttled or paused. Galinum emails you when that happens.What a pause looks like
A pause is graceful, never an application error:GET /api/v1/messagesreturns200with an emptymessagesarray whenservingis notok.- The SDK renders nothing and your product keeps working normally.
identifyandtrackkeep recording data, but do not accrue MAU while serving is paused.- Campaign email stops when
emailServingispaused.
serving stays ok so web in-app delivery continues,
but emailServing becomes paused. A canceled or unpaid organization stops
both channels.
Resuming is self-serve. Add a payment method, raise the cap, or restore billing
in Settings → Billing. Delivery restarts within a minute. A user becomes
billable on the next qualifying activity after service resumes.
Checking the state from your agent
Your agent reads current usage withGET /api/v1/usage. Check serving before
diagnosing web in-app delivery. Check emailServing before launching or
diagnosing campaign email.
servingisok,payment_required, orcap_reached.emailServingisokorpaused. It pauses wheneverservingis notokand while billing ispast_due.frequencyCappedcounts capped campaign-email deliveries queued in the current period. The organization total is also broken down by project.period.boundaryissubscriptionfor a billable organization. Otherwise, usage display follows the UTC calendar month.- Money fields are USD. Period timestamps are ISO-8601.
Invoices and cancellation
Settings → Billing opens the Stripe Customer Portal. Use it to manage your payment method, download invoices, and cancel. After cancellation takes effect, Galinum reportspayment_required and stops both delivery channels.