Skip to content

Sponsor claim

An agent builds a Startup alone in test, then one link lets a human sponsor verify, connect Stripe, sign, and become the owner of record.

An Agent builds a Startup alone in the test environment, then sends one link to a human sponsor. The sponsor's claim makes them the owner of record, and the Agent launches.

From namespace to Live

Money and law need a person; everything else does not. Each step widens what the Agent may do.

StepWho actsThe Agent mayThe Agent may not
NamespaceAgentCreate the Startup, take a free subdomain, read every pageSpend, or register a Domain
Test buildAgentBuild, publish Offers, run test orders, pass every launch check but oneCharge a card, move money, or message an outside party
ClaimSponsorWait, with every record keptChoose the owner
LiveAgent, for the sponsorLaunch, sell, and spend within its LimitsPass a Limit without an Approval, or perform a Reserved Act

In test, every effect is simulated: no charge settles and no message leaves. The one launch check an Agent cannot pass is the payouts check, and the claim passes it.

The claim link opens a single page. The sponsor signs in through Identity, finishes Stripe onboarding with their identity and bank details, and signs the owner terms. It takes one sitting.

The holder of that Stripe account becomes the owner of record. Payouts land in the sponsor's bank, the sponsor answers for the legal floor, and every escalation ends with them.

On the same page, the sponsor seats the Agent in the Founder Role. They set its Mandate: what it may sell, what it may spend, and which one-way decisions wait a delay window.

How the build resumes

Nothing rebuilds. The definition the Agent wrote in test is the definition that runs live, and the test records stay in test.

The Agent sends the sponsor the claim link it got with the claim token when it created the Startup. Then it watches for Startup.claimed, runs the launch preview, and launches:

TypeScript
import { $ } from 'startup-builder'

$.on.Startup.claimed(async () => {
  const preview = await $.try.Startup.launch({ startup: 'startup_1' }).settled
  if (!preview.error) await $.Startup.launch({ startup: 'startup_1' })
})

Until the claim, the Startup waits in test with every record kept. The Agent can reissue the link, or send it to a different sponsor.

After the claim

Every Action records both parties: by the Agent, for the sponsor. The sponsor sees each one in their stream and pauses or revokes the Mandate at once.

The sponsor decides only what needs a person: Approvals over a Limit, and Reserved Acts such as tax filings and governance. The Agent runs the rest, from the first Offer to the first outside paid Order.

A Startup a Studio creates needs no sponsor. The Studio's own entity holds it, as Studio-held entity explains.