Astralane / Developers
Wallet and billing
Prepaid balances are accounted for in integer microdollars, with an immutable ledger.
Reservation and settlement
A wallet row lock serializes reservation admission. The conservative hold must fit available balance and applicable key budgets. Successful completion releases the hold and debits the exact token-based charge atomically. Failed provider attempts do not generate customer inference charges.
Deposits
Stripe Checkout creates one-time USD payments. Only an authenticated canonical Checkout/payment-intent/charge reconciliation credits the wallet; a browser return URL does not. Both event IDs and payment state protect against duplicate credits. Development grants are one-time, explicitly synthetic, and unavailable in production.
Limits
One-time deposits support $5 to $1,000 in whole cents. Automatic recharge, tax handling, invoice/receipt UI, stored payment methods, and recurring/off-session consent flows remain unavailable. Refund/dispute synchronization adjusts available credit, records any shortfall as debt, and restricts spending when review is needed. Card funding must be explicitly enabled by the operator; success callbacks never credit wallets.
Savings
saved_usd is max(0, reliable configured list cost minus the actual customer charge). When a comparison is absent, it is null rather than an invented number. Demo savings are clearly labeled synthetic.
Native core and mock HTTP checks have run. Full dependency install, PostgreSQL/Redis integration, production builds, and browser flows still require local verification. See the repository verification report before deployment.