How do I add payments to a Bolt or Replit app without a Stripe account?
The problem“I need payments in my bolt.new app without Stripe. My app has users, the payment setup asks for a Stripe account, and Stripe does not open accounts in my country.”
Bolt’s built-in payments need your own Stripe account, and Replit’s Stripe connector needs a live Stripe account before it accepts real payments. If you cannot open one, sell through a merchant of record that pays out to your country, and let two small backend functions unlock paying users from a signed webhook. You ask Bolt or Replit Agent to write both from one prompt, below.
What are the key facts?
- Bolt needs a Stripe account. Bolt lists “A Stripe account (individual or business)” as a prerequisite and gives no country list (Bolt support, Stripe for payments, read 9 November 2026).
- Replit needs a live Stripe account to charge. “To accept real payments, connect your live Stripe account by installing the Replit Integrated Payments app from the Stripe Marketplace.” (Replit docs, Stripe Payments Integration, read 9 November 2026)
- Six countries are not on Stripe’s list: N. Macedonia, Serbia, Albania, Bosnia and Herzegovina, Montenegro and Turkey (Stripe, global availability, checked 9 November 2026).
- A merchant of record is the official seller. AgentaOS sells your product to the buyer, adds VAT or sales tax, issues the invoice and pays you. Its card payments are acquired by Stripe, so you need no Stripe account of your own (Terms).
- AgentaOS charges per card payment: 4.5% + €0.50, or 6.0% + €0.50 for cards issued outside the EEA, with no monthly fee (pricing, every fee).
What do Bolt and Replit support?
| Tool | Payment options its docs name | What going live needs | Source |
|---|---|---|---|
| Bolt (bolt.new) | Stripe: “Connect Stripe to your Bolt app to take payments and run subscriptions.” The page names no other payment provider. | “A Stripe account (individual or business)”, “User authentication set up in your project” and “A Bolt project with a Bolt database or Supabase created in it”. | Bolt support |
| Replit Agent | The connector list names RevenueCat, Stripe (“Process payments and manage subscriptions.”), Square, Plaid and Shopify under “Payments and monetization”. | For Stripe: a paid plan (“available only on paid plans (Core and Pro)”), “an App with backend functionality” and a live Stripe account. | Agent Integrations · Stripe Payments Integration |
Bolt runs payments on the server: “All payment processing happens server-side through Supabase edge functions”, and its Stripe integration “requires edge functions and doesn’t work with Firebase”. Replit lets you build first: “Agent starts with a Stripe sandbox so you can safely test payments without moving real money.” Real payments need the live account, which Replit describes as “an activated and verified account that can process real payments using your business details.”
Replit says of external integrations: “Ask Agent to set them up; you’ll provide API keys”, and “API keys are stored securely in your app’s Secrets.” AgentaOS is not on that list, so you ask Agent to write the code and you add the keys yourself. All quotes read 9 November 2026.
Is Stripe open in my country, and how would AgentaOS pay me?
| Country | Stripe account | AgentaOS payout route |
|---|---|---|
| N. Macedonia | Not listed | EUR by SEPA, or USD by Swift |
| Serbia | Not listed | EUR by SEPA, or USD by Swift |
| Albania | Not listed | EUR by SEPA, or USD by Swift |
| Bosnia and Herzegovina | Not listed | EUR or USD by Swift |
| Montenegro | Not listed | EUR by SEPA, or USD by Swift |
| Turkey | Not listed | EUR or USD by Swift |
“Not listed”: the country is not on Stripe’s list, checked 9 November 2026. Payout routes: each country guide, linked in the first column. In all six, individuals and companies can sell, with no company abroad.
How do I set it up, step by step?
- Check your country. Open Stripe’s list. If your country is on it, use Bolt’s Stripe setup or Replit’s Stripe connector and stop here.
- Make sure users sign in. Paid access needs to know who paid. Your app needs sign-in and an
is_proflag on each user’s row. - Create your plan in AgentaOS. Make a free account, stay in test mode, create the product (monthly, yearly or one-time) and copy the plan’s link ID (paywall demo).
- Prompt your agent to build two functions. One creates a checkout for the signed-in user, with their id in
metadata. One receives the webhook, verifies the signature on the raw body and setsis_pro. In Bolt, you ask for edge functions. In Replit, you ask for two backend routes. - Add the three secrets. Your API key, webhook signing secret and link ID stay on the server. In Replit, you add them to Secrets. In Bolt, the prompt tells Bolt to ask you for them.
- Add the webhook URL in AgentaOS. Paste the webhook function’s URL and copy the signing secret from Settings, Developers, Webhooks (webhooks docs).
- Test in test mode, then go live. Pay with a test card, check that
is_proturns on, cancel and check that it turns off. Then switch to your live key. Do not test by buying your own product in live mode: that purchase is not refundable (Terms).
What prompt do I give Bolt?
Paste this into your Bolt project chat. It names only documented AgentaOS calls, so Bolt does not have to guess.
Add a Pro plan paid through AgentaOS. Do not use the built-in Stripe integration: I have no Stripe account. Docs: https://docs.agentaos.ai/sdk/paywall-for-logged-in-users.md and https://docs.agentaos.ai/payments/webhooks.md
1. Add `is_pro` (boolean, default false) and `subscription_id` (text) to the `profiles` table, or the table with one row per user. Users must not be able to update these columns themselves.
2. Create an edge function `create-checkout`. It reads the signed-in user, calls `agentaos.checkouts.create({ linkId, buyerEmail, metadata: { customerId: user.id }, successUrl, cancelUrl })` from the npm package `@agentaos/pay`, and returns `checkout.checkoutUrl`. The Upgrade button calls it and redirects there.
3. Create an edge function `agentaos-webhook` that accepts calls without a user login. Read the raw body with `req.text()` and verify it with `agentaos.webhooks.verify(rawBody, X-AgentaOS-Signature header, AGENTAOS_WEBHOOK_SECRET)`. Return 400 if it throws.
4. On `checkout.session.completed`, set `is_pro = true` and `subscription_id = event.data.metadata.subscriptionId` for the user whose id is `event.data.metadata.customerId`. On `subscription.canceled`, set `is_pro = false` where `subscription_id = event.data.id`.
5. Ask me for the secrets `AGENTAOS_API_KEY`, `AGENTAOS_WEBHOOK_SECRET` and `AGENTAOS_PRO_LINK_ID`. Show Pro features only when `is_pro` is true in the database, never because of the success page URL.
What prompt do I give Replit Agent?
Paste this into Agent. It asks for two backend routes and keeps the keys in Secrets.
Add a Pro plan paid through AgentaOS. Do not use the Stripe connector: I have no Stripe account. Docs: https://docs.agentaos.ai/sdk/paywall-for-logged-in-users.md and https://docs.agentaos.ai/payments/webhooks.md
1. Add `is_pro` (boolean, default false) and `subscription_id` (text) to the user record in the database. Users must not be able to change these fields themselves.
2. Create a backend route `create-checkout`. It reads the signed-in user, calls `agentaos.checkouts.create({ linkId, buyerEmail, metadata: { customerId: user.id }, successUrl, cancelUrl })` from the npm package `@agentaos/pay`, and returns `checkout.checkoutUrl`. The Upgrade button calls it and redirects there.
3. Create a backend webhook route `agentaos-webhook` that accepts calls without a user login. Read the RAW request body before any JSON parser touches it, and verify it with `agentaos.webhooks.verify(rawBody, X-AgentaOS-Signature header, AGENTAOS_WEBHOOK_SECRET)`. Return 400 if it throws.
4. On `checkout.session.completed`, set `is_pro = true` and `subscription_id = event.data.metadata.subscriptionId` for the user whose id is `event.data.metadata.customerId`. On `subscription.canceled`, set `is_pro = false` where `subscription_id = event.data.id`.
5. Read `AGENTAOS_API_KEY`, `AGENTAOS_WEBHOOK_SECRET` and `AGENTAOS_PRO_LINK_ID` from Secrets, and ask me to add them. The SDK is an npm package: if my backend is not JavaScript or TypeScript, tell me first. Show Pro features only when `is_pro` is true in the database, never because of the success page URL.
What are the limits of this route?
AgentaOS has no native Bolt or Replit integration, and we have not built this inside Bolt or Replit ourselves. Treat both prompts as a starting point and read the code your agent writes. What we did test, on 6 November 2026: webhooks.verify from @agentaos/pay 2.6.0 on Deno 2.9. A signed event verified and a tampered signature was rejected. Supabase says its “Edge Functions are developed using Deno” (Supabase docs).
Three facts from our docs shape your code. Webhooks are signed with HMAC-SHA256 in the X-AgentaOS-Signature header, events older than 5 minutes are rejected, and a failed delivery is retried up to 3 attempts in total (webhooks docs). Renewals do not carry your customerId; match them by subscriptionId (event reference). The plan’s shared payment link carries no metadata, so your webhook could not tell who paid.
Send one test event from your dashboard before you go live. A code sketch of the webhook function is on our Lovable guide.
What does a €19 monthly plan leave me?
| EEA card | Card issued outside the EEA | |
|---|---|---|
| Buyer pays | €19.00 | €19.00 |
| Percentage | 4.5% | 4.5% + 1.5% = 6% |
| Percentage fee | €0.855 | €1.14 |
| Fixed fee | €0.50 | €0.50 |
| Total fee | €1.355, about €1.36 | €1.64 |
| After the card fee | about €17.64 | €17.36 |
Payment fees only, from pricing and every fee, with no VAT added. When VAT is added, the fee applies to the full amount the buyer pays (Terms). Try your own numbers in the payout calculator.
Checklist: before you charge in your Bolt or Replit app
- ✓Country checked on Stripe’s list
- ✓Product is software, SaaS, a digital product or a fixed-price service package
- ✓Users sign in, so you know who paid
- ✓An
is_proflag users cannot edit themselves - ✓Checkout created per user with their id in
metadata, not a shared link - ✓Webhook verified on the raw body, before any JSON parsing
- ✓Cancellations lock the user again
- ✓Secrets on the server, never in front-end code
- ✓A EUR or USD account at your bank
- ✓One test payment, one test cancel and one test event, all in test mode
When is AgentaOS the wrong choice?
- Stripe takes you. Bolt and Replit both have Stripe built in. Use it.
- You want a native Bolt or Replit integration. AgentaOS has none. Your agent writes the two functions from your prompt, and you own that code.
- You want license keys. AgentaOS has none; your database stores who paid.
- You sell physical goods, custom or hourly work, or you want tips or donations. Not allowed. Software, SaaS, digital products and fixed-price service packages are (Terms).
- You need all the cash on day one. On a new account, up to 15% of each sale is held for 120 days, then released (Terms).
Change how you sell. Grow revenue 4×.
Answer 3 questions and get a free audit of your price and checkout, from the founder. Free, in 2 working days.
Related questions
Does Bolt support payments without Stripe?
Bolt's payments page covers Stripe only and lists a Stripe account as a prerequisite. Without one, you can ask Bolt to write two edge functions that sell through a merchant of record. That is custom code you maintain.
Do I need a Stripe account to take payments in a Replit app?
For Replit's Stripe connector, yes: to accept real payments you connect your live Stripe account. Without one, you ask Agent for two backend routes that sell through a merchant of record, and you keep the keys in Secrets.
Can I do this from N. Macedonia, Serbia, Albania, Bosnia and Herzegovina, Montenegro or Turkey?
Yes. None of the six is on Stripe's country list, checked 9 November 2026. AgentaOS accepts individuals and companies in all six and pays out in EUR or USD to your own bank account.
Does AgentaOS have a Bolt or Replit integration?
No native one. You prompt Bolt or Replit Agent to build two functions: one creates an AgentaOS checkout for the signed-in user, one receives the signed webhook and marks the user as paid. We have not built it inside either tool ourselves.
What does AgentaOS charge per sale in a Bolt or Replit app?
4.5% + €0.50 per card payment, or 6.0% + €0.50 for cards issued outside the EEA, with no monthly fee. On a €19 sale with an EEA card, that is about €1.36.
What lands in your bank?
Enter your price. See what you keep after the payment fee, in euros or dollars.
€0 account, no cardSell as an individual or a company