Wallet & Billing Guide
Overview
SDCStudio is paid for with credits. There are no subscriptions and no monthly fees. You buy credits in advance, and they are spent automatically as you use platform services.
The rule to hold onto: purchases are in dollars, balances and costs are in credits. Credits are sold at 1,000 credits per US dollar, so the $10 minimum purchase lands as 10,000 credits.
Credits are a prepaid entitlement to use the Services. They are not money: they carry no cash value, earn no interest, and cannot be transferred between accounts. They do not expire while your account is open. See the Terms of Service for the full terms.
This guide is about your own wallet. Credit an organization buys for its people is held by the organization, expires at the end of its contract term, and pays for work in the organization's projects; see Organizations.
Your wallet is created automatically when you first sign in, and funding it is the last step of registration.
Buying Credits

- Go to Settings > Wallet
- Click Add Funds
- Choose a purchase amount: $10 (10,000 credits), $25 (25,000), $50 (50,000), $100 (100,000), or $250 (250,000)
- Click Pay to open Stripe Checkout
- Complete payment with your card
- Your balance updates within seconds
Your payment method is saved securely by Stripe for future top-ups and auto-reload.
Per-Operation Costs
Every billable operation spends credits from your balance:
| Operation | Cost | Description |
|---|---|---|
| Settlement Receipt | 1,000 credits ($1.00) | Issue a signed Receipt through the Verifiable Settlement Layer: the instance validated against its published model, the governance decision evaluated, the parties and release condition bound |
| Mint component | 100 credits | Creating a new catalog component |
| Assemble model | 500 credits | Assembling a data model from components |
| Download app | 1,500 credits | The first download of a generated application, either profile, or of the model's Supabase kit; later downloads of the same model, of any of the three, are free |
These four are the only charges. Editing a component, publishing, generating a package, generating an app build, uploading a file and reusing a component spend nothing. Where you meet each one: Uploading Data and Data Modeling for mints and model creation, App Generation for the download, Verifiable Settlement for the Receipt.
Settlement Receipts. A Receipt is charged when it is issued, whether the governance decision is PERMIT or DENY: both are verdicts, and a signed record that a transition was refused is a result the counterparty can hold. Nothing is charged when no Receipt is issued: an instance that fails structural validation, a model with no governance, or an evaluation that could not reach a verdict (INDETERMINATE) returns an error and leaves your balance untouched.
Verifying a Receipt is free, forever, and needs no account. Anyone holding a Receipt checks it with the open-source sdcreceipt tool (pip install sdcreceipt), offline, against the issuer's published key. Validating an instance on your own machine with the open-source sdcvalidator is also free.
Examples:
- Upload a CSV whose columns become 8 new components in one new cluster: 9 x 100 = 900 credits
- Assemble a model from existing components (pure reuse): 500 credits; the model's root cluster is included
- Assemble a model that also mints 3 new components: 500 + (3 x 100) = 800 credits
- Assemble a model from existing components grouped under one new nested cluster: 500 + 100 = 600 credits
- Before assembling through the API, POST /api/v1/dmgen/assemble/estimate/ returns this total and charges nothing (see the estimate and the job resource)
- Issue a Settlement Receipt for one exchange: 1,000 credits ($1.00); a $10 purchase covers ten Receipts
Free operations: Reusing existing components (those already in the catalog with a ct_id) costs nothing during minting. You only pay for genuinely new components. Verifying a Receipt costs nothing.
Checking Your Balance

Your current balance is displayed on the Settings > Wallet page, color-coded for quick reference:
- Green: Above 25,000 credits — plenty of balance
- Yellow: Between 10,000 and 25,000 credits — consider buying more
- Red: Below 10,000 credits — buy more soon
Auto-Reload
Auto-reload buys more credits automatically when your balance drops below a threshold, so you never run out mid-workflow. The threshold is a balance level in credits; the reload is a card charge in dollars.
Setting Up Auto-Reload
- Go to Settings > Wallet
- Toggle Auto-Reload on
- Set your Reload below — the credit balance at which auto-reload triggers (default: 10,000 credits)
- Set your Purchase amount — how much to charge your card each time (default: $50.00, minimum: $1.00)
- Click Save Settings
Auto-reload uses the payment method saved from your most recent Stripe Checkout. If no payment method is on file, auto-reload will not trigger until you complete at least one manual purchase.
How It Works
When any operation (a Settlement Receipt, minting, etc.) brings your balance below the threshold:
- The operation completes normally
- An automatic purchase is triggered in the background
- Your saved card is charged for the purchase amount
- The credits appear in your balance within seconds
A safety mechanism prevents duplicate charges if multiple operations trigger simultaneously.
The Onboarding Gate
A new account is taken to /app/welcome and must fund its wallet before anything else in the app opens: choose a pack from $10 (10,000 credits) and pay through Stripe. The credits are yours and are spent per operation; nothing is charged by time. The gate applies to accounts created on or after 1 August 2026 and releases for good the first time the wallet holds a positive balance. Until then the rest of the app is not reachable; the public catalog API and the practitioner directory need no account. Staff accounts are not gated.
Insufficient Credits
If your credit balance is too low for an operation:
- The operation is not performed
- You receive an HTTP 402 response with the estimated cost and your current balance
- Buy credits via Settings > Wallet, then retry
The check applies to every account. The body is the same on every charging endpoint but one:
{"error": "Insufficient credits. This needs 600 credits; you have 250.",
"error_type": "insufficient_funds",
"estimated_cost_credits": 600, "balance_credits": 250,
"estimated_cost": "0.60", "balance": "0.2500"}
estimated_cost and balance are the same amounts in US dollars; the assembly API also sends them as the X-SDC-Estimated-Cost and X-SDC-Balance-Remaining headers. Settlement is the exception: its 402 carries error, cost and balance, in dollars (see Verifiable Settlement).
A charge made with an API key can also be refused when the wallet could pay: 403 with error_type: key_scope when the key lacks Spend, or key_spend_limit when the charge would pass the key's limit. See API Keys.
Transaction History
View a complete audit trail of all wallet activity:
- Go to Settings > Wallet
- Scroll to the Transaction History section
Each entry shows:
- Date — when the transaction occurred
- Type — reload (a purchase or an auto-reload), mint_component, assemble_model, download_app, settle, adjustment (a credit granted by us), migration (a balance carried over from the subscription era)
- Amount — positive when credits are added, negative when they are spent
- Balance After — your credit balance immediately after the transaction
- Description — human-readable details
Filtering
Use the Type dropdown to filter transactions by category (e.g., show only purchases, or only minting charges).
CSV Export
Click Export CSV to download your full transaction history as a spreadsheet. The CSV includes date, type, amount, balance, description, and Stripe payment ID for each transaction.
Security and Privacy
- Stripe handles all payments — SDCStudio never sees or stores your card number
- Immutable ledger — transaction records cannot be modified or deleted after creation
- Atomic operations — balance deductions are protected against race conditions
- Idempotent payments — duplicate webhook deliveries from Stripe do not result in a double credit grant
FAQ
What happens if my card is declined during auto-reload?
The auto-reload is skipped and your balance remains as-is. You can buy credits manually at any time. No retries are attempted on declined cards.
Can I get a refund?
No. Credit purchases are final, and credits are non-refundable whether used or unused, except where a refund is required by law. Credits also cannot be transferred between accounts. Because unused credits are forfeited when an account closes, spend your balance before closing your account.
Is there a minimum balance required?
No minimum balance is enforced. However, operations will fail with HTTP 402 if your balance cannot cover the cost. We recommend keeping at least 10,000 credits on hand.
Do reused components cost anything?
No. When assembling a model, components that already exist in the catalog (identified by their ct_id) are free. You only pay for newly minted components.
Do credits expire?
No. Unused credits remain available for as long as your account is open. They are forfeited when the account closes.
Where do I see my wallet?
Go to Settings (gear icon in the navigation), then select the Wallet tab. The direct URL is /app/settings?tab=wallet.
Need help? Contact contact@axius-sdc.com for billing questions.