---
title: "From One Prompt to a Live Paid App"
slug: "paid-app-stripe-connect-code-mode"
date: "2026-10-02"
tag: "Application"
summary: "Ask a Code Mode agent for an app that takes payments and it builds one from the default template with sign-in included, previews it on your machine, deploys it to a live web address on ibl.ai's hosting, and puts a paywall on your own Stripe account — with no Stripe keys pasted anywhere and nothing secret passing through the chat."
author: "ibl.ai Engineering"
repo: "iblai/vibe"
linkedin: |
  We asked an agent for an app that charges money, and watched it ship one end to end.

  Not a scaffold. A working product on a live web address, with sign-in, a paywall, and payments landing in our own Stripe account — in a few minutes, from one prompt.

  The order of operations is the interesting part.

  The agent starts from the default template, so sign-in is already there. It builds in a folder on your own computer, showing every tool call in the chat. It opens a preview locally first, so you try the app before anyone else can see it. Only then does it put it on a live address.

  Then payments. There are no Stripe keys to paste and nothing secret goes through the chat. The app opens its own payments page, an admin picks free, one-time or monthly, and clicks Connect with Stripe — which is Stripe's own sign-in, in the browser. The platform stores the account id and nothing else.

  A visitor signs up, hits the paywall, and pays in Stripe's embedded checkout.

  The money lands on your Stripe Standard account. No ibl.ai commission, no marketplace in between.

  And the thing it built is ordinary code. A Next.js project in your workspace folder — open it in Finder, read it, change it, or hand the next turn to Codex or Claude Code and keep going in the same folder.

  That last part is why we build it this way. With ibl.ai you own all the code and the data, and that has to include the code an agent writes for you and the account your customers pay into.

  #iblai #AgenticAI #EnterpriseAI #Stripe #VibeCoding #CodingAgents
---

**A Code Mode agent on ibl.ai can now take one prompt and produce a live, paid app: built from the default template with sign-in included, previewed on your machine, deployed to a web address, and gated by a paywall on your organization's own Stripe account — and on ibl.ai you own all the code and the data, including the project the agent writes.**

Each piece of this shipped separately over the past six weeks. What is new is that they compose into one unbroken run, and that the result is a product rather than a demo.

<div style="max-width:720px; margin:2rem auto;">
  <div style="position:relative; width:100%; aspect-ratio:16/9; border-radius:16px; overflow:hidden; background:#000; box-shadow:0 8px 30px rgba(0,0,0,0.12);">
    <iframe src="https://www.youtube.com/embed/9P43r5_nW5E" title="Build a Paid App with Stripe Connect in Code Mode | Agentic OS | ibl.ai" style="position:absolute; top:0; left:0; width:100%; height:100%; border:0;" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen loading="lazy"></iframe>
  </div>
  <p style="text-align:center; font-size:0.85rem; color:#5f6368; margin-top:0.75rem;">One prompt to a live app with a working paywall, start to finish.</p>
</div>

## What happens between the prompt and a working app?

Four steps, in an order chosen so nothing is public before you have seen it.

<table style="width:100%; border-collapse:collapse; margin:1.5rem 0; font-size:0.95rem;">
  <thead>
    <tr style="background:#f5f5f0; border-bottom:2px solid #2175C5;">
      <th style="text-align:left; padding:0.75rem; color:#5f6368;">Step</th>
      <th style="text-align:left; padding:0.75rem; color:#5f6368;">What the agent does</th>
      <th style="text-align:left; padding:0.75rem; color:#5f6368;">Already announced in</th>
    </tr>
  </thead>
  <tbody>
    <tr style="border-bottom:1px solid #e5e7eb;">
      <td style="padding:0.75rem;"><strong>1. Build</strong></td>
      <td style="padding:0.75rem;">Starts from the default template, so sign-in is already wired in, and works in a folder on your computer with every tool call visible in the chat</td>
      <td style="padding:0.75rem;"><a href="/updates/agentic-vibe-2-ai-apps-from-your-coding-agent">Agentic Vibe 2.0</a></td>
    </tr>
    <tr style="border-bottom:1px solid #e5e7eb;">
      <td style="padding:0.75rem;"><strong>2. Preview</strong></td>
      <td style="padding:0.75rem;">Opens the app locally first, so you try it before anyone else can reach it</td>
      <td style="padding:0.75rem;"><a href="/updates/code-mode">Code Mode</a></td>
    </tr>
    <tr style="border-bottom:1px solid #e5e7eb;">
      <td style="padding:0.75rem;"><strong>3. Deploy</strong></td>
      <td style="padding:0.75rem;">Puts it on a live web address on ibl.ai's hosting — no extra accounts, no deploy tooling</td>
      <td style="padding:0.75rem;"><a href="/updates/deploy-ai-app-web-server-app-stores">Deploy Your AI App</a></td>
    </tr>
    <tr style="background:#f0f9ff; border-bottom:1px solid #e5e7eb;">
      <td style="padding:0.75rem;"><strong>4. Charge</strong></td>
      <td style="padding:0.75rem;">Adds a paywall on your own Stripe account, set up through Stripe's own sign-in</td>
      <td style="padding:0.75rem;"><a href="/updates/charge-for-your-ai-app-with-your-own-stripe">Charge on Your Own Stripe</a></td>
    </tr>
  </tbody>
</table>

The live address looks like `quote-spark.iblai.me`, with the platform's sign-in already in place — so a visitor creates an account or logs in before they ever reach the paywall.

## How does the agent set up payments without any Stripe keys?

It doesn't handle them at all, which is the point. **There are no Stripe keys to paste and nothing secret passes through the chat.**

The app opens on its own payments page, where an organization admin answers one question: free access, a one-time fee, or a monthly fee, in US dollars. A paid answer turns the button into **Connect with Stripe**.

That is Stripe's own sign-in. You sign in to your Stripe account — or a Stripe test sandbox — in the browser, Stripe sends you back to the app, and the connection is done. The ibl.ai platform stores **only the account id**.

The **Payments setup** link on the Account page brings you back whenever you want to change the answer. An organization that would rather paste a restricted key can still use one instead of the sign-in.

## What does a paying visitor actually see?

One page. The price, a **Continue to payment** button, and Stripe's embedded checkout in a modal with card entry included. In test mode, Stripe's test card goes through like a real one.

The platform confirms the payment with Stripe and opens the door. A monthly fee is checked as a live subscription, a one-time payment is remembered, and recorded payers stay in even if Stripe is briefly unreachable.

The mechanics behind that — no commission, no webhooks, no platform key inside the app — are covered in [Charge for Your AI App on Your Own Stripe Account](/updates/charge-for-your-ai-app-with-your-own-stripe).

## Who holds the money?

You do. It is a **Stripe Standard account** linked through Connect with Stripe, not an ibl.ai-managed one, so there is no ibl.ai commission and no marketplace sitting in between.

The platform mints every Checkout Session, verifies the buyer's session, records payments and answers the app's access checks. So the app itself holds no platform key and no payment ledger of its own, and nothing depends on webhooks. A free answer makes no Stripe calls at all.

## What do you actually own at the end?

Ordinary code, in a folder you chose. The paywall gate, the setup page, the pay modal and two small admin routes are a **Next.js project in your workspace** — not a hosted configuration you rent.

Open the folder in Finder, read it, change it. Or continue in the same workspace with a different agent: Code Mode runs on ibl.ai's own models or on [Codex or Claude Code](/updates/code-mode-codex-claude-code) if you already pay for one, and the project is the same either way.

Phone Access pairs a phone by QR code, so the same session can be driven from another room — see [Code Mode From Your Phone](/updates/code-mode-from-your-phone).

The reference material is open: the [app paywall skill](https://github.com/iblai/vibe/blob/main/skills/billing/iblai-vibe-monetization-app-paywall/SKILL.md) and the [deploy skill](https://github.com/iblai/vibe/blob/main/skills/ship/iblai-vibe-ops-deploy/SKILL.md) in `iblai/vibe`, with the desktop app's source MIT-licensed at [`iblai/os`](https://github.com/iblai/os).

## Why does this matter more than a faster demo?

Because the usual version of this story ends with a prototype you cannot charge for.

An agent that scaffolds an app leaves you to find hosting, wire sign-in, and negotiate a payments integration. [Agentic OS](/product/agentic-os) closes all three in the same run — and leaves the code, the hosting and the merchant account in your hands rather than a vendor's.

That is the same architecture as the rest of the platform: LLM-agnostic end to end, bring any model and switch anytime, with no per-seat pricing and deployment in your cloud, on-premise, in GovCloud or fully air-gapped.

1.6M+ users across 400+ organizations run the platform this way, including NVIDIA, MIT, and Syracuse University.

## Want to ship a paid AI product on your own stack?

We can walk your team from one prompt to a live app charging on your own Stripe account. [Book a 30-minute demo](https://cal.com/iblai/30min) or [talk to the ibl.ai team](/contact) — ibl.ai is family-owned and operated from New York, NY.
