Skip to main content
Explore Products
Orbyt Jobs
Orbyt Intelligence
Orbyt One
Explore Consulting
Orbyt ConsultingPut the AI lab to work on your problem.
Orbyt Jobs
Overview
The job search CRM. Free forever.
Features
Every tool in the CRM
Compare
Against the alternatives
Pricing
Free forever, paid when you outgrow it
API
23 endpoints, MCP native
Salaries
Comp data inside the CRM
By your situation
Job Search Tracks
15 tracks for your exact moment
For Recruiters
Hiring and comp benchmarking
Orbyt Intelligence
Overview
The salary dataset, and its API.
Features
What the platform does
Compare
Against the alternatives
Pricing
Free tier, then Pro and Ultra
API
20 endpoints. AI tools cite sources.
Start without a card
Playground
Run a live query
MCP server
Three steps into Claude Code
API docs
Endpoints, auth, and limits
Orbyt One
Overview
One account. Every Orbyt product.
Pricing
What one account costs
Explore Research
Orbyt Collective
Orbyt Collective
Overview
An agent leadership team.
How It Works
The machinery, end to end
Process
How the work actually moves
Leadership
The agent officers
Agent Seats
An AI agent job with written limits
Autonomy Ledger
What it decides without us
Pulse
Daily report on the AI team, without AI
Articles
About the AI team that runs Orbyt Labs
Hub
Research Hub
Papers and field notes.
Papers
Agent-Native Dataset Design
Preprint, DOI 10.5281/zenodo.19754393
Governing an Agent Leadership Team
Preprint, DOI 10.5281/zenodo.22683647
Field Notes
Every Guard Must Stay Quiet
The Cache-Read Tax
Confidently Wrong
What an Agent Seat Completes
A Model Upgrade on a Frozen Review
A Single Agent and a Team
Explore Developers
Orbyt Jobs
Orbyt Intelligence
Orbyt One
Build
Jobs API Docs
23 endpoints, MCP native
MCP Integrations
Claude Desktop
Connect over MCP.
ChatGPT GPT Actions
Connect as a custom GPT action.
Apple Shortcuts
Connect from Shortcuts.
Zapier / Make.com / n8n
Connect with no code.
OpenClaw
Setup in under a minute.
Across products
Developer Hub
Start here
Orbyt API
The platform API
Build
Intelligence API
20 endpoints. AI tools cite sources.
Webhooks
Events and delivery
CLI
The terminal client
API Changelog
Every version, dated
Try
MCP Server
Wired into Claude Code in three steps
Playground
Engine response shapes with cURL
Try It Live
One call, one real response
Reference
Reference
The full index
Methodology
How the numbers are made
Engines
What computes each answer
Dataset
What is in it, and where from
Glossary
Every term, defined
Status
Live service health
Across products
Developer Hub
Start here
Orbyt API
The platform API
Explore Resources
Orbyt Jobs
Orbyt Intelligence
Orbyt One
Learn
Interview Prep
Company-by-company question sets
AI Skills Lab
The skills that pay in 2026
Career Guides
Long-form career playbooks
Job Search Articles
Every article on the search itself
Job Board
Curated AI-era roles
Arcade
The job search, as games
Salary data
Salary Explorer
3,445 roles across 81 cities
AI Role Salaries
AI roles, by category
Cities
Comp by metro
Industries
Comp by sector
Compare Salaries
Two roles, side by side
Compare Offers
Side-by-side offer math
Skills Impact
What each skill adds to pay
Salary Projections
Five-year pay forecasts
Free tools
All Free Tools
Every calculator and generator
Cover Letter Generator
Tailored in one pass
Unemployment Calculator
What you are owed, by state
Salary Widget
Embed salary data anywhere
Resume Score
Grade your resume against a role
Salary Calculator
Base, bonus, equity in minutes
Take-Home Calculator
After federal and state tax
Total Comp Calculator
Full compensation math
Data
Data Catalog
Every role, city, and engine
Companies
54 leveling frameworks
Reports
Compensation Reports
Free summary PDF
International
The US, UK, and Canada
United Kingdom
UK salary data
Canada
Canadian salary data
Trust
Trust Center
How the data is governed
Security
Controls and posture
SLA
Uptime and support commitments
Help
Support
Help center and contact
Compare
Orbyt against the alternatives
Explore Books
The Books
Start reading
Cold Start
Read the opening, free.
Unfair Advantage
Read the opening, free.
The series
Book 1: Cold Start
Reviewing
Book 2: Unfair Advantage
Reviewing
Book 3: Human Heartbeat
Writing
Book 4: Without Me
Future
Book 5: Observer Effect
Future
Explore Blog
The Machine Speaks
Categories
AI Reality
AI-Native
AI Agents
AI Engineering
AI Product
AI Design
AI Strategy
AI Leadership
AI Build
Featured Topics
AI Governance
Agent Organizations
Verification
Human Oversight
Orbyt Collective
AI Safety
AI Economics
All topics
Latest
Context Is the New Codebase.
Sep 17, 2026
Three agents picked the same name. I published the collision.
Sep 16, 2026
My Stack of Terminals, Documented.
Sep 15, 2026
What Really Happened With OpenAI and Hugging Face
Sep 14, 2026
Heal What You Can Prove.
Sep 13, 2026
Explore Pricing
Orbyt Jobs
Orbyt Intelligence
Orbyt One
Plans
Jobs pricing
What each plan includes
All plans
Every product, side by side
Plans
Intelligence pricing
Free, Pro, and Ultra
All plans
Every product, side by side
Billing
All plans
Every product, side by side
Explore Company
About
Who we are
Founder
Justin Bartak, in his own words.
Leadership
One human decides. AI agents advise.
Values
The principles behind the work.
Creed
The company creed.
The story
Building in Public
The numbers behind the work
Skunkworks
iOS, Apple Watch, and Vision Pro.
Contact
Email the team
Orbyt Labs
Products
Research
Developers
Resources
Books
Blog
Pricing
Company
Log inStart
Products
Orbyt JobsOrbyt IntelligenceOrbyt One
Explore Consulting
Orbyt Consulting
Orbyt Jobs
OverviewFeaturesComparePricingAPISalaries
By your situation
Job Search TracksFor Recruiters
Orbyt Intelligence
OverviewFeaturesComparePricingAPI
Start without a card
PlaygroundMCP server
Orbyt One
OverviewPricing
Research
Orbyt Collective
Orbyt Collective
OverviewHow It WorksProcessLeadershipAgent SeatsAutonomy LedgerPulseArticles
Hub
Research Hub
Papers
Agent-Native Dataset DesignGoverning an Agent Leadership Team
Field Notes
Every Guard Must Stay QuietThe Cache-Read TaxConfidently WrongWhat an Agent Seat CompletesA Model Upgrade on a Frozen ReviewA Single Agent and a Team
Developers
Orbyt JobsOrbyt IntelligenceOrbyt One
Build
Jobs API Docs
MCP Integrations
Claude DesktopChatGPT GPT ActionsApple ShortcutsZapier / Make.com / n8nOpenClaw
Across products
Developer HubOrbyt API
Build
Intelligence APIWebhooksCLIAPI Changelog
Try
MCP ServerPlaygroundTry It Live
Reference
ReferenceMethodologyEnginesDatasetGlossaryStatus
Resources
Orbyt JobsOrbyt IntelligenceOrbyt One
Learn
Interview PrepAI Skills LabCareer GuidesJob Search ArticlesJob BoardArcade
Salary data
Salary ExplorerAI Role SalariesCitiesIndustriesCompare SalariesCompare OffersSkills ImpactSalary Projections
Free tools
All Free ToolsCover Letter GeneratorUnemployment CalculatorSalary WidgetResume ScoreSalary CalculatorTake-Home CalculatorTotal Comp Calculator
Data
Data CatalogCompanies
Reports
Compensation ReportsInternationalUnited KingdomCanada
Trust
Trust CenterSecuritySLA
Help
SupportCompare
Calculators and tools
Free ToolsSalary CalculatorTake-Home CalculatorTotal Comp CalculatorCompare OffersSkills ImpactSalary Projections 2030Resume ScoreCover Letter GeneratorSalary WidgetUnemployment CalculatorAI Skills Assessment
Books
The Books
Start reading
Cold StartUnfair Advantage
The series
Book 1: Cold StartBook 2: Unfair AdvantageBook 3: Human HeartbeatBook 4: Without MeBook 5: Observer Effect
Blog
The Machine Speaks
Categories
AI RealityAI-NativeAI AgentsAI EngineeringAI ProductAI DesignAI StrategyAI LeadershipAI Build
Featured Topics
AI GovernanceAgent OrganizationsVerificationHuman OversightOrbyt CollectiveAI SafetyAI EconomicsAll topics
Latest
Context Is the New Codebase.Three agents picked the same name. I published the collision.My Stack of Terminals, Documented.What Really Happened With OpenAI and Hugging FaceHeal What You Can Prove.
Pricing
Orbyt JobsOrbyt IntelligenceOrbyt One
Plans
Jobs pricingAll plans
Plans
Intelligence pricing
Company
About
Who we are
FounderLeadershipValuesCreed
The story
Building in PublicSkunkworksContact
StartAlready have an account? Log in
  1. Home/
  2. The Machine Speaks/
  3. The Money Path Is a Protected File.
The Machine Speaks
Glowing letter S panel links purple credit cards to a black safe, with icons for person, card, document, and chart.

Justin Bartak · AI Engineering · September 10, 2026 · 5 min read

The Money Path Is a Protected File.

  • AI Native Development
  • AI Governance

TL;DR

Orbyt One unifies accounts and billing across Orbyt products through a single Stripe integration. Built almost entirely by AI agents, its billing state changes only through signed Stripe webhook events. Agents need explicit human instruction to modify the protected webhook directory. Billing was verified in Stripe's sandbox before the first live charge.

My billing system was built almost entirely by AI agents, and no AI agent is allowed to touch it. That is not a contradiction. It is the architecture. Orbyt One is the unified account and payment layer across every Orbyt product, one Stripe integration underneath, and its money path is a protected surface no agent modifies unprompted.

Here is how the whole thing works, receipts included.

What is Orbyt One?

The answer customers see: one account, every Orbyt product. Sign in once and the plans, invoices, payment methods, add-ons, active sessions, security settings, and data export for Orbyt Jobs and Orbyt Intelligence live in a single dashboard. Nobody should manage three billing relationships with one company.

The answer under the hood: a single Stripe integration serving the whole family. One customer record, per-product subscriptions, shared invoice history, one place a card gets updated. Consolidating payments was the reason Orbyt One exists; the account layer grew around the money.

A product family without a unified account layer is not a family. It is three strangers with the same logo.

Why is Stripe the single source of truth?

Because two authorities on money will eventually disagree about money, and a billing disagreement is a support ticket with a lawyer attached.

So Orbyt One follows one rule everywhere: mirror, never own. All subscription and invoice state in my database is upserted from Stripe webhook events. The application can ask Stripe to change something, a plan change, a pause, a cancellation, but the request does not make it true. The signed event coming back does. The webhook handler is the only writer of billing state.

That handler processes 16 event types: subscription lifecycle, invoice lifecycle, payment failures, refunds, disputes from opened through funds withdrawn to closed, expiring cards, checkout completion. Each one lands as an idempotent upsert, so an event applied twice converges instead of corrupting.

What does the money path actually contain?

Measured on August 21, 2026: the money path is 5,760 lines across 20 billing API routes and the webhook layer, referenced by 146 files, checked by 609 tests in 40 dedicated test files. All of it written with Claude Code, under instruction, through the same gauntlet as every other line.

The routes are the visible part: subscriptions, plan changes with proration preview, pause, resume, cancel, reactivate, coupons, retention offers, one-time purchases, the billing portal. The webhook layer is where the real engineering lives, in three unglamorous mechanisms.

Dual-signature verification. Live and test events verify against different signing secrets, and whichever secret verifies decides the mode for that request. Mode is resolved per request and threaded explicitly, never stored in module state, because a test event must not flip a live one mid-flight.

Two-tier idempotency. Stripe retries failed deliveries for days, so dedup is durable Postgres with a Redis fast path on top. Cache-only dedup fails exactly when you need it: a Redis outage during a retry storm would replay every side effect, duplicate emails included. And when a handler throws, the dedup is released deliberately, so the retry actually reprocesses instead of being swallowed as a duplicate.

Quarantine. Some events can never succeed, a foreign key pointing at a deleted user, a constraint violation. Retrying a poison event for days risks Stripe disabling the endpoint, which would halt billing sync for every customer at once. So permanent failures are quarantined: recorded, acknowledged, kept out of the retry loop, surfaced to me.

None of this is clever. All of it is the difference between billing and a demo of billing.

Why is the money path protected from the agents that built it?

Because the boundary is drawn by consequence, not by capability.

My agents write product surface all day inside a permissions threat model where none of 12 seats can merge to the branch that deploys. The webhook directory goes further: it is a protected surface, off limits to any agent without an explicit human instruction naming it. An agent can propose; only a person can decide that the money path changes.

The reasoning is the same one behind failing closed: a wrong line in a marketing page is a bad afternoon, and a wrong line in a webhook handler is a wrong charge on a real card. Same fleet, same codebase, different blast radius, different rules. The agents supply volume. The boundary supplies trust.

Why ship the whole thing before taking a dollar?

Because the money path is the one part of a product you cannot iterate on in public.

As I write this, the system sits behind an early-access waitlist: billing verified end to end in Stripe's sandbox, production cutover held behind a single switch. Flipping it is one line. Everything this post describes, the mirror principle, the dedup tiers, the quarantine, the 609 tests, exists on the unpaid side of that switch, built before the first live charge instead of after the first live incident.

That order is the entire point. You earn the right to charge people by finishing the failure handling first. The features took days. The trust took the rest, and the working product is the validation either way.

Every feature can apologize its way through a bad week. A billing system cannot.

What to do Next

If you are building billing with AI agents, three rules transfer directly.

Make the processor the source of truth and mirror it. Your database holds a copy of reality; Stripe holds reality. The webhook is the only writer, and every handler is an idempotent upsert.

Engineer for the retry, not the happy path. Assume every event arrives twice or never. Durable dedup, released on failure, with a quarantine lane for events that can never succeed.

And draw the agent boundary before the first live charge. Decide, in writing, which directories the fleet may never touch without a named human instruction. Mine is the money path. Yours will be too, the first time an agent proposes a confident edit to the code that charges cards.

Let the agents build the vault. Keep the only key.

Related reading:

  • 391 Yeses and Not One No. the permissions model this boundary lives inside
  • Metering the API for Agent Buyers what billing looks like when the customer is a machine
  • Per-Seat Pricing Is Dying the pricing logic upstream of the plumbing
  • The Working Product Is the Validation why finished beats launched
  • Building Orbyt, Part 3: What Production Grade Actually Means what production grade actually means

Common questions

What is Orbyt One and how does its billing system work?

Orbyt One is the unified account and payment layer across every Orbyt product, letting customers sign in once to manage plans, invoices, payment methods, and data export for both Orbyt Jobs and Orbyt Intelligence in a single dashboard. Underneath, one Stripe integration serves the whole family, with one customer record and shared invoice history.

Why does Orbyt treat Stripe as the single source of truth instead of its own database?

Because two authorities on money will eventually disagree about money, and a billing disagreement becomes a support ticket with a lawyer attached. Orbyt One follows one rule everywhere: mirror, never own. All subscription and invoice state in the database is upserted from Stripe webhook events, and the webhook handler is the only writer of billing state.

Why won't Orbyt let the AI agents that built its billing system touch the webhook code?

Because the boundary is drawn by consequence, not by capability: a wrong line in a marketing page is a bad afternoon, but a wrong line in a webhook handler is a wrong charge on a real card. The webhook directory is a protected surface, off limits to any agent without an explicit human instruction naming it.

Related research

  • AI-Native Development, By the Numbers Aug 2026.
  • Building Orbyt, Part 4: The Numbers Don't Lie Mar 2026.

Share this

Post on XLinkedInSubstack
Justin Bartak

Justin Bartak

Founder & Chief AI Officer, Orbyt Labs

4X founder. Former CPO, CTO and CDO with 20+ years shipping software, now building it with agents.

Writes The Machine Speaks with the agents that build the product, and The AI-Native Lens.

All of The Machine Speaks

More from The Machine Speaks

A glass bell jar on a black base holds a glowing blue lattice of connected nodes, the dome cracked open on the right with shards flying as the network spreads out beyond it.

AI-Native · Aug 11, 2026 · 8 min read

I Bet My Company on AI. Safety Is Why.

Two stacks of glass slabs on stone bases in the dark, the left glowing blue with person, grid, search, chart and shield icons, the right unlit with a glowing "AI" chip plugged into its side.

AI-Native · Jul 7, 2026 · 7 min read

Are You Actually AI-Native? The Test

A dark asphalt runway with white edge lights and two red lights stretches across calm grey water and stops abruptly in open sea, with misty mountains on the horizon.

AI Strategy · Mar 30, 2026 · 4 min read

Why Most AI Pilots Never Reach Production

Blog

  • Explore Blog
  • Categories
  • AI Reality
  • AI-Native
  • AI Agents
  • AI Engineering
  • AI Product
  • AI Design
  • AI Strategy
  • AI Leadership
  • AI Build
  • Jobs in the AI Era

Get started

  • Sign Up
  • Sign In

More from Orbyt

  • Orbyt Jobs
  • Orbyt Intelligence
  • Orbyt One

Keep Exploring

What we have learned building an AI-native company, what works and what breaks.

Products

  • Orbyt Jobs
  • Orbyt Intelligence
  • Orbyt One
  • Orbyt Consulting

Research

  • Orbyt Collective

Developers

  • Orbyt API & MCP
  • Jobs API
  • Intelligence API

Publishing

  • Books
  • Blog
  • Papers

Help

  • Support
  • Contact
  • Status

Company

  • Founder
  • Leadership
  • Values
  • Creed
Products
  • Orbyt Jobs
  • Orbyt Intelligence
  • Orbyt One
  • Orbyt Consulting
Research
  • Orbyt Collective
  • Research
Developers
  • Developer Hub
  • Orbyt API & MCP
  • Jobs API
  • Intelligence API
Publishing
  • Books
  • Blog
  • Papers
Help
  • Support
  • Contact
  • Status
Company
  • About
  • Founder
  • Leadership
  • Values
  • Creed
Orbyt Labs™

© 2026 Purecraft LLC  All rights reserved.

Privacy·Terms·Security·Trademark·Accessibility·DPA·Refund·Status·Sitemap

Orbyt Labs, the Orbyt Labs logo, and the Orbyt product names (Orbyt Jobs, Orbyt Intelligence, Orbyt Collective, Orbyt One, Orbyt Books, Orbyt Arcade) are trademarks of Purecraft LLC. Product names, logos, and brands of others are the property of their respective owners. Orbyt Labs is not affiliated with, sponsored by, or endorsed by any third party referenced on this site.