What are sales channels
A sales channel is a single point-of-sale wired to your Brainerce catalog. One Brainerce store can power many vibe-coded storefronts across multiple brands, locales, and domains from one dashboard.
A sales channel is anywhere a customer can buy from you. A vibe-coded storefront at brand-a.com is one channel. A second domain brand-a-il.com (same products, Israeli locale, ILS currency) is another. A separate "Black Friday" pop-up storefront is a third. All three sell from the same Brainerce catalog, but each is its own channel with its own keys, locale, currency, and branding.
This is the feature that lets a single Brainerce store run multiple brands, multiple locales, and multiple storefronts, without duplicating products, inventory, or orders behind the scenes.
Why channels exist (and aren't just "stores")
You could imagine a model where every domain is its own Brainerce store. We deliberately don't do that, because real merchants:
- Ship the same inventory to multiple storefronts (a single warehouse, multiple sales surfaces).
- Want a single order list ("show me everything sold today across every brand").
- Manage one product catalog but expose different subsets to different audiences.
- Need to run promotions that apply across channels, or to one channel only.
A channel is the layer that lets the same Brainerce store project itself onto many surfaces. Inventory and orders stay unified; presentation, locale, currency, and branding diverge per channel.
Types of channels
| Type | Identified by | Used for |
|---|---|---|
| Vibe-coded storefront | vc_* ID | A storefront you build in Lovable, Cursor, Claude Code, connected via SDK. |
Vibe-coded storefronts are the only channel type there is. Everything you sell goes through one.
Selling on Google Shopping is not a separate channel type and never becomes one. You install the Google app and attach it to a vibe-coded channel, which then feeds that channel's products to Google Merchant Center. The Meta catalogue works the same way, once the Meta app is released to stores. TikTok Shop is not planned at all: in-app TikTok checkout is out of scope, and the TikTok app is a storefront pixel only.
Shopify and WooCommerce aren't channels either; they are one-time import sources. If you're migrating off one of them, the Migration Tool pulls your products and orders into Brainerce as a starting catalog; from there you sell through vibe-coded channels. It is read-only and runs once, and nothing is mirrored back. See Import from another platform.
Running multiple brands from one Brainerce store
The pattern most merchants land on:
- One Brainerce store holds your account, your catalog, your team.
- One sales channel per brand or locale:
brand-a.com,brand-a-il.com,brand-b.com, each with its ownvc_*key. - Each product chooses which channels it publishes to, so a product is created once and toggled on for the relevant channels in its Publish to Platforms section.
So you can do things like:
- Run an English flagship and a Hebrew sister-site that share inventory but use different currencies, languages, and product subsets.
- Spin up a "Black Friday" pop-up storefront on a third domain with a curated subset of your products, without forking your catalog.
- Test a new brand identity on a separate storefront while the original keeps selling.
All orders, inventory, customers, and reports stay in one Brainerce dashboard, and you flip between "all channels" and "this channel only" filters when you need to see one brand's slice.
Channel vs. locale: when to use which
The cleanest rule of thumb:
| You need… | Do this |
|---|---|
| The same brand in multiple languages (EN/HE) on one domain | One channel, add locales inside it. Products use Brainerce's localized fields. |
| Different brand identities (logo, design, name) on different domains | Separate channels, one per brand. Each gets its own storefront codebase. |
| Same products but different price/locale/currency per market | Separate channels per market. |
| A temporary campaign storefront | Separate channel, easy to retire later without touching the main one. |
If you spin up too many channels you'll dilute your dashboard. If you cram too much into one channel you'll lose the multi-brand flexibility. Default to "one channel per visually distinct storefront".
What a channel gives a storefront
When you create a vibe-coded channel, Brainerce issues a single Connection ID, a string that starts with vc_ (e.g. vc_Fpi183aYc3WAqQnphxzWM). This one ID identifies the channel and carries the permissions you picked at creation (see Site Type in Create a sales channel).
That ID goes into the storefront's .env. From there the SDK handles everything: catalog reads, cart state, checkout redirects, order confirmation. The storefront never touches admin-scoped data.
How a public Connection ID stays safe
The Connection ID ships in client code by design, and there's no separate secret. Brainerce secures the channel a different way:
- Test mode (the default after creation) lets any host use the Connection ID. Right for local development, AI builder previews, and prototyping.
- Live mode means the channel only accepts requests from an address you listed on it. Switch into Live mode once you have a production HTTPS domain.
Live mode is not one domain and nothing else. The channel's General tab has a Domains box holding a list of addresses, and a Live channel accepts all of them:
- the primary domain (the first chip, marked ★ Primary), such as
shop.com; - its subdomains:
www.shop.com,checkout.shop.com, and so on, automatically; - up to five extra addresses you add as further chips: a Lovable or Bolt preview URL,
http://localhost:3000, a staging site. These are exact matches only: they do not cover their own subdomains, and the scheme and port must match.
So going Live does not lock you out of your preview URL. Add it to the Domains box and keep building. What Live mode buys you is that knowing the Connection ID isn't enough to misuse the channel: the request also has to come from an address you listed, so nobody can stand up a clone on their own host. Full walkthrough of the toggle: Test mode vs Live mode, and the box itself: Keep building after you go Live.
One thing the extra addresses deliberately do not unlock on a Live channel: customer social sign-in. "Sign in with Google / Facebook" always returns through the primary domain.
What's next?
- Create a sales channel is the click-by-click how-to.
- Connect with the CLI scaffolder wires the channel to a new storefront.
- Connect from Lovable is for browser-only builders.
Connect your storefront
After creating your store in Brainerce, connect a storefront before you start designing, because it's the order that saves you the most rework.
Create a sales channel
Open Sales Channels in the Brainerce dashboard and create a vibe-coded storefront channel. You'll come away with a single Connection ID that wires your storefront to your catalog.