Skip to main content

Billing

The CodeSpar rate card (free to build, 10 bps to move money under mandate, 1% to get paid, never more than R$2.00 per transaction, and customer account governance only when contracted) and how the dashboard shows what you owe. The current table is codespar.dev/pricing.

3 min read
View MarkdownEdit on GitHub

One public rate card, the same for every account, in BRL:

Build, measure and think: free. Move money under mandate: 10 bps. Get paid: 1%. Never more than R$2.00 per transaction. Rails always pass through at the partner's price. And one line that is not per transaction, only when contracted: Customer account governance, R$4.90 per eligible account per month, under an explicit contract with your organization; never switched on by default. The current table is codespar.dev/pricing.

The direction the money moves picks the line. Money leaving your organization under a signed mandate pays the Move lane. Money arriving in your account pays the Get paid lane. Under a contract that includes it, an eligible account pays Customer account governance. Anything that does not settle money and is not an eligible account under that contract pays nothing. The lane is a fact of the ledger, not a choice you or we make, so the same outcome never pays two lines.

The rate card

LaneWhat it coversFreeSelf-serveCommitted volume
BuildSandbox, catalog, SDK, CLI, Bill usage meteringUnlimited, alwaysR$0R$0
MovePay, Embed, Cards at GA: value executed under your mandateFirst R$1,000 settled per month, per organization10 bps, floor R$0.05, cap R$2.00 per transaction8 bps, cap R$1.50 from R$5M/month; 6 bps, cap R$1.00 from R$50M/month
Get paidGate, Collect (including the Bill invoices it charges), Shop seller side: value that settles in your accountFirst R$1,000 settled per month, per organization1% of settled, no floor, cap R$2.00 per transaction0.7% from R$1M/month; 0.5% from R$10M/month
Customer account governance (when contracted)Only under an explicit contract with your organization; never switched on by default. An account is eligible in a month when at least one payment settles, or one purchase receipt is paid or delivered, under its mandatesThe free tier does not apply to this lineR$4.90 per eligible account per month, when contractedR$4.90 per eligible account per month, when contracted
OperateFiscal documents, identity checks, shipping labels, messagesIncluded while in previewIncluded while in previewIncluded while in preview

Rules that apply to every line:

  • Rails pass through at the partner's price, on their own line, never marked up. Pix, boleto, card networks and USDC settlement cost what the partner charges.
  • Cross-border FX is a published line, not a spread: 0.5% of the converted amount self-serve, 0.3% with committed volume, on top of the partner's exchange rate at cost.
  • Governance features are never a per-transaction line item. Mandate, receipt, identity (KYA), guardrails, audit and routing come inside every paid line; the customer account governance line, when contracted, is per eligible account, not per feature.
  • No rev-share, no platform fee, no minimum. The rate card is public and identical for every customer; if it goes down, every contract goes down with it.
  • A full refund within 7 days reverses the fee on the original outcome, once per payer-payee pair every 30 days.
  • Committed-volume steps trigger on trailing three-month volume with a true-up, never on a minimum with a shortfall penalty.

Status, plainly: these rates are the commitment for general availability. The Move and Get paid lanes are included until general availability, and accounts that sign up before general availability lock these rates for 24 months from general availability. That is a price promise, not an availability promise. On the billing side, only the Move lane is computed by the backend today; the Get paid lane is a published price that is not yet charged, and the customer account governance line applies only under a contract that includes it.

What counts

Only what settles, plus, under a contract that includes it, the eligible account. A Move transaction is one mandate that actually executed a transfer. A Get paid transaction is one payment that actually landed. One settled invoice is one transaction. Under that contract, an account counts once per month in which it is eligible: at least one payment settles, or one purchase receipt is paid or delivered, under its mandates.

CountsDoes NOT count
Payout, supplier payment or purchase executed under mandate (Move)Attempt, retry, decline, quote, verification, deliberation
Paywall settlement, paid link, storefront sale (Get paid)Session creation, tool listing, catalog browsing
An eligible account in the month, under a contract that includes it (Customer account governance)An account with no eligible outcome in the month, or with no such contract
Sandbox runs, Bill usage metering, mandate creation, simulations
Wallet creation, balances, internal transfers inside the same organization
Card issuance, binding and authorizer controls

Tool calls are logged for audit, debugging and rate limiting. They are never billing events.

Worked examples

Past the free tier, the arithmetic is the one you can do in your head:

What happenedLaneRuleCodeSpar fee
Move R$0.30 under mandateMovefloorR$0.05
Move R$100 under mandateMove10 bpsR$0.10
Move R$5,000 under mandateMovecapR$2.00
Get paid R$100Get paid1%R$1.00
Get paid R$0.50Get paid1%, no floorR$0.005
R$900 settled in the whole montheitherfree tierR$0
12 governed accounts eligible in the month, when contractedCustomer account governanceR$4.90 eachR$58.80

The rail's own fee, if any, shows up as a separate line at the partner's price. Fractions of a centavo (the R$0.50 paywall call) accumulate on the invoice and round once, at invoice time.

Tracking what you owe

Via the dashboard

codespar.dev/dashboard/billing shows the Pay fee card: the Move-lane fee computed for the current period from money moved under mandate, the amount moved, the number of payers and the rate tier applied. Until invoicing goes live the card carries a "Not yet charged" badge, and a workspace that has not had a period computed yet sees "Not computed yet" instead of a number. The rate card block below it repeats the published numbers, including the customer account governance line, which applies only when contracted. There is no plan grid and no upgrade button: there is nothing to upgrade to.

The shapes the dashboard renders

Every /v1/billing* route lives in the API's service-auth subtree, alongside api-keys and team. A csk_ Bearer key is not read there and answers 401 {"error":"unauthorized"}. These are not customer-callable endpoints; the dashboard proxies them through its own server routes. The fee read below lives under /v1/fees/ instead, behind the fees:read scope; the dashboard reaches it with its service credential. The shapes are documented because they are what the dashboard renders, not as a request you have to make.

GET /v1/fees/movimentar — the latest computed Move-lane period for the organization, or null when nothing has computed one yet:

{
  "period": "2026-09",
  "consumerCount": 3,
  "movedMinor": 1250000,
  "feeMinor": 1150,
  "rateTier": "self_serve",
  "computedAt": "2026-09-09T12:00:00Z"
}

Amounts are BRL minor units: movedMinor: 1250000 is R$12,500.00 moved and feeMinor: 1150 is R$11.50 owed.

POST /v1/billing/portal returns a Stripe Customer Portal URL for payment methods and invoice history. The dashboard exposes it only to organizations that already have a live paid agreement.

FAQs

Do tool calls count toward billing? No. Tool calls, sandbox runs and Bill usage metering are free without limit. Only a settled money movement bills, plus, when contracted, the eligible account.

What if a transaction fails? Attempts, retries and declines carry no counter. R$0.

What is a governed account, and when does it pay? An account CodeSpar keeps a mandate, identity, guardrails and receipts for: a payer under Embed, a counterparty your agents pay, a customer your paywall collects from. It pays R$4.90 in a month in which it is eligible, and only when your organization has contracted customer account governance. That line is never switched on by default. See codespar.dev/pricing.

What about invoicing, shipping, messaging? The Operate lane, for outcomes that do not move money, is included while in preview. Its price is not published yet, and we will not print a number before it is.

What if the payment is refunded? A full refund within 7 days reverses the fee on that outcome, once per payer-payee pair every 30 days.

Is there a minimum? No minimum, no platform fee, no rev-share. The first R$1,000 settled per month, per lane, per organization, is free.

Next steps

Billing | CodeSpar