Back to blog
Multiple Stores, One Crypto Gateway: 2026 Limits
Guide

Multiple Stores, One Crypto Gateway: 2026 Limits

We read how seven crypto payment gateways handle multiple stores in October 2026. Credentials separate cleanly. Payouts, balances and KYC do not.

Jennifer McNallyUpdated October 14, 202613 min read

Key Takeaways

  • One of the seven crypto payment gateways we read has a real store object. BTCPay Server's FAQ is blunt: "There's no limit on a number of stores you can create in BTCPay." The other six give you keys, wallets or nothing.
  • Separation almost always stops at the inbound leg. Cryptomus issues a payment key per merchant, but the payout key comes from account-level Business settings — and generating a new one means "withdrawals will be temporarily blocked for 24 hour".
  • CoinGate lets you run several API Apps and still pools the money. Its ledger reference says funds sit in accounts "with one account per currency and account type", so two brands under one login share one EUR balance.
  • At BlockBee and Apirone the brand lives in the request, not the dashboard. BlockBee takes a per-call payout address and splits with 0.5@ADDRESS_1|0.5@ADDRESS_2; an Apirone wallet is one POST, carries its own transfer key, and accepts up to 255 destination addresses.
  • A second account is not a free move. BlockBee's tiers are per account — no KYC up to $1,000, ID-only partial KYC up to $500,000 — so splitting one business across two logins duplicates onboarding and starts both volume counters at zero.
Last checked: October 2026. Every object, parameter, limit and quoted phrase below was read from the provider's own documentation on 14 October 2026 and is linked in the Sources section. Where a provider documents nothing, we say so instead of guessing — a silence in a reference page is not permission.

You launched a second brand, the checkout works, and then the first payout lands: one balance, one transaction list, two businesses you now have to separate in a spreadsheet. The question nobody answers before you integrate is whether a crypto payment gateway can run multiple stores at all, or whether "multiple stores" just means you remembered to label your API keys.

It matters more than it sounds. The gateway's object model decides whether your refunds come out of the right brand's float, whether an accountant can reconcile a month without you, and whether a compliance hold on one shop freezes the other. We read the reference documentation for seven gateways on 14 October 2026 — BTCPay Server, Cryptomus, CoinGate, BlockBee, Apirone, OxaPay and Plisio — looking for one thing: what is the smallest unit the provider will let you separate, and which parts stay joined whatever you do.

What a store means inside a crypto payment gateway

Four different answers exist, and the word "store" appears in none of the documentation for three of them. A gateway either gives you a first-class store object you create and configure, a merchant or wallet object that behaves like one if you squint, a credential you can name and nothing more, or a single global configuration form.

Table of seven crypto payment gateways and the smallest unit each will separate. BTCPay Server: stores with no documented limit, keys scoped to a store, a wallet per store, and the server instance, plugins and server-wide settings stay shared. Apirone: wallets created with one POST each, a wallet id plus transfer key, up to 255 destinations, nothing documented as shared. Cryptomus: merchants created in the dashboard, a payment key per merchant, no per-brand payout wallet because one account-level payout key covers everything, with payouts, 2FA and business verification shared. CoinGate: API Apps, one token per app, no per-brand payout wallet, with ledger balances, verification and settlement shared. BlockBee: API keys plus per-call parameters, named keys, a payout wallet passed per request, with the account and its KYC tier shared. OxaPay: named keys split by service, named only, one payout key per account, everything but the key name shared. Plisio: one shop configuration, no per-brand credentials, no per-brand payout wallet, everything shared
Read the right-hand column first. It is the list of things you will still be doing by hand in six months.

That distinction is the whole article, because it predicts exactly which of your problems the gateway will solve. A store object carries its own settings, its own keys and its own reporting. A credential carries a name. Here is where the seven landed.

GatewayWhat you can createCredentials per brandPayout wallet per brandStays shared
BTCPay ServerStores, no documented limitYes, keys scoped to a storeYes, a wallet per storeThe server instance, plugins, server-wide settings
ApironeWallets, one POST eachYes, wallet id + transfer keyYes, up to 255 destinationsNothing documented
CryptomusMerchants, created in the dashboardYes, a payment key per merchantNo, one account-level payout keyPayouts, 2FA, business verification
CoinGateAPI AppsYes, one token per appNoLedger balances, verification, settlement
BlockBeeAPI keys, plus per-call parametersYes, named keysYes, passed per requestThe account and its KYC tier
OxaPayNamed keys, split by serviceYes, by name onlyNo, one payout key per accountEverything but the key name
PlisioOne shop configurationNoNoEverything

Read the right-hand column first. It is the list of things you will still be doing by hand in six months.

BTCPay Server is the only one with real stores

BTCPay is self-hosted, which is why it can afford to be generous: there is no provider absorbing the cost of your account sprawl. Its FAQ states the limit plainly — "There's no limit on a number of stores you can create in BTCPay" — and each store keeps its own settings, down to which exchange-rate provider it uses, because "each store may use different settings".

Screenshot of the BTCPay Server Stores FAQ page showing the question How many stores can I create? answered with the single line There is no limit on a number of stores you can create in BTCPay, directly under How to create a store in BTCPay Server
The quote in its own documentation. Source: docs.btcpayserver.org

The non-obvious part is wallets. Most people assume two stores need two wallets, and buy a second hardware device for a second brand. BTCPay's wallet FAQ says you can "create 2 separate stores on BTCpay Server under the same instance with the same xpub", and that it "will do address rotation correctly and never re-use between the stores" — with one hard condition set in the same breath: "This has to be done on the same instance." Two servers deriving from one extended public key will hand the same address to two different customers.

The watch-only wallet is the catch. Sharing an xpub across stores means both stores are burning addresses from the same derivation path, and an external wallet gives up after roughly 20 consecutive unpaid invoices: it "stops fetching the transactions, assuming no new transactions occurred". Two stores reach that gap twice as fast as one. We unpicked the mechanics in Crypto Payment Addresses 2026.

Keys follow the same pattern. BTCPay's own API example tells you to use a token that holds btcpay.store.cancreateinvoice, "scoped to the selected store when possible" — so a leaked key from brand A cannot invoice for brand B. That is the design every hosted gateway below approximates and none of them quite reaches.

Cryptomus separates the inbound leg, not the payout

Cryptomus comes closest among the custodial providers. Its key-generation guide starts with "Create Merchant or open Settings tab in merchant", so a merchant is an object you make rather than an identity you are issued, and the payment key belongs to it. Two brands, two merchants, two payment keys: clean enough.

Then the money moves and the model collapses into one. The same page is explicit that "you need to release a different API key for accepting payment and making payouts", and that payout key is generated in the account's Business settings behind two-factor authentication — not inside a merchant. One payout credential for the whole account, whatever you built upstream.

Budget 24 hours before you rotate. Cryptomus documents that "withdrawals will be temporarily blocked for 24 hour after generate new payout API key". Handing a contractor the payout key for one brand and rotating it when they leave stops payouts for every brand for a day. Plan the rotation for a Sunday night, not a Friday.

So the practical shape at Cryptomus is: separate what customers touch, and keep one treasury with your own ledger on top. Fees and custody terms are in our Cryptomus review.

CoinGate gives you apps, not accounts

CoinGate's unit is the API App. Its callbacks reference says that "by creating new API App you can choose in which format you want to receive callbacks", and points you at Merchant » API » Apps » Edit to change one later. Per-brand tokens, per-brand callback format, per-brand integration: all available, all free.

What does not separate is the balance. The ledger reference states that accounts hold your funds "with one account per currency and account type". Two brands invoicing in euros share one euro ledger account, so attribution has to come from your own order_id and the callbacks you store, never from a CoinGate balance screen.

One more trap that catches people building a second brand against a sandbox: Live and Sandbox are "entirely separate environments", and "you need to create separate accounts for each", with separate credentials. A test token that works in staging will not work in production, by design. CoinGate's fees, licensing and verification requirements are in the CoinGate review.

BlockBee and Apirone put the brand in the request

The forwarding processors invert the question. There is no store to configure because the parameters that would define one travel with every API call, which makes them the most flexible of the seven and the easiest to get wrong.

Table comparing BlockBee and Apirone across five separation handles. Object you create per brand: BlockBee has none, only an API key and per-call parameters, while Apirone has a wallet created by one POST with currency the only required field. Credential: a key generated in the BlockBee dashboard against an Apirone wallet id plus a transfer key per wallet. Payout destination: passed with each BlockBee create call, against an Apirone destinations array of up to 255 addresses. Splitting: BlockBee uses the syntax 0.5@ADDRESS_1 pipe 0.5@ADDRESS_2, Apirone uses fixed minor units or percentages. Callback: per call at BlockBee and it keys the address, per wallet and per address at Apirone, under 1,024 characters
The flexible pair, and the easiest to get wrong. At BlockBee the callback URL is the identifier.

At BlockBee the payout wallet is a per-call field, so brand A's invoices can forward to one wallet and brand B's to another without touching the dashboard. It also splits a single payment across wallets with a compact syntax — percentage_1@address_1|percentage_2@address_2, documented with the example 0.5@ADDRESS_1|0.5@ADDRESS_2. That is how a shared brand pays an affiliate or a partner out of the incoming payment rather than afterwards.

The handle you must not share is the callback URL. BlockBee's reference warns that "the callback URL should be unique" because "the same callback URL will return the same address_in, meaning it works similarly to an ID", and tells you to make it unique with query parameters such as ?user_id=1234. Point two brands at one webhook route and they will share one payment address; ask for a different coin on that route and you get a 400 reading "Non multi_token address already created for another token".

Separation handleBlockBeeApirone
Object you create per brandNone — an API key and per-call parametersA wallet, one POST, currency the only required field
CredentialKey generated in the dashboardWallet id plus a transfer key per wallet
Payout destinationPassed with each create calldestinations array, up to 255 addresses
Splitting0.5@ADDRESS_1|0.5@ADDRESS_2Fixed minor units or percentages
CallbackPer call, and it keys the addressPer wallet and per address, under 1,024 characters

Apirone is the quiet winner for a multi-brand operator. A wallet is created by a single POST to its v2 wallets endpoint, it is "a container of addresses, which are generated as many as need", and it comes back with its own identifier and transfer key. Three brands, three wallets, three keys, three destination sets — and no shared balance screen to untangle. The custody trade-offs are in our Apirone review and in Web3 Payment Gateways.

OxaPay and Plisio: named keys and one shop form

OxaPay splits credentials by job rather than by brand. You generate a Merchant API key for payments, a Payout API key for withdrawals and a General API key for swaps, and the docs invite you to give the merchant key "a meaningful name for identification purposes". A name is useful for an audit trail; it is not a boundary, and the same page notes the key "grants access to your OxaPay account for processing payments".

The payout side is where OxaPay earns a point the store-based gateways do not. It lets you "specify Allowed IPs for transfers", restricting payout requests to named addresses — so even one shared payout key can be pinned to one server. If your brands run on separate infrastructure, that is a real control. Fees and custody terms sit in the OxaPay review.

Plisio is the honest floor of the set. Its getting-started documentation describes one shop form — one Status URL for callbacks, one Success URL, one Failed URL, one switch to disable withdrawals via API — and states that the secret key "will be used with all API calls". Nothing in the reference describes a second shop, a second key or a per-shop payout. Run two brands through it and you are running them through one.

Absence of a rule is not a rule. Neither BlockBee's nor OxaPay's documentation says anything about holding more than one account, in either direction. If the second-account route is your plan, get the answer from support in writing before you build on it — an undocumented practice is a decision someone else gets to make later.

What a second account on a crypto payment gateway really costs

"Just open two accounts" is the standard forum answer, and it does buy genuine isolation: two balances, two keys, two dashboards, two payout schedules. It also duplicates every piece of friction you only wanted to go through once.

Table of what a second account duplicates. Verification and KYB: once on one account, twice across two with each tier counted separately. Volume thresholds: pooled on one account so tiers arrive sooner, split across two so each stays lower for longer. Payout minimums and network fees: one withdrawal and one fee, against one per account per currency. Reconciliation: your own order ids, against clean separation if you never mix the keys up. Blast radius of a hold: both brands stop on one account, one brand stops on two. Support history: one relationship, against two neither of which knows the other
Two accounts buy real isolation and duplicate every piece of friction you only wanted to go through once.

Start with verification. BlockBee's tiers are published and they are per account: no KYC up to $1,000 of volume, partial KYC — "only ID verification" — up to $500,000, full KYC above that for unlimited volume. Two accounts means two onboarding tracks and two counters starting at zero.

What you duplicateOne account, several storesTwo accounts
Verification / KYBOnceTwice, with each tier counted separately
Volume thresholdsPooled, so tiers arrive soonerSplit, so each stays lower for longer
Payout minimums and network feesOne withdrawal, one feeOne per account, per currency
ReconciliationYour own order idsClean, if you never mix the keys up
Blast radius of a holdBoth brands stopOne brand stops
Support historyOne relationshipTwo, neither of which knows the other

And one line of caution, because the table above makes it look like arbitrage: deliberately splitting one business across accounts to keep each under a verification threshold is the pattern compliance teams are built to spot, and it risks both accounts rather than neither. The honest reasons to run two are different entities, different jurisdictions, different risk profiles, or a sale you expect to carve out later. What a hold looks like when it arrives is in Crypto Gateway AML Holds 2026, and what the gateway checks in the first place is in Crypto Payment Screening 2026.

The five layers to check before you integrate

Separation is not one feature, it is five, and a gateway can give you the first two while sharing the last three. Ask in this order, because the cheap questions come first and the expensive ones are the ones nobody asks.

Card listing the five layers of separation in order. One, credential, usually yes: can brand A hold a key that cannot invoice for brand B. Two, callback, sometimes: is the webhook per brand and does the gateway treat that URL as an identifier. Three, payout, marked as the layer that usually fails: does each brand forward to its own wallet or does one balance pay everything. Four, ledger and reporting, usually no: can you pull a month for one brand without filtering by hand. Five, people, BTCPay only: can a bookkeeper see one brand only
A gateway can give you the first two while sharing the last three.

1. Credential. Can brand A hold a key that cannot invoice for brand B? BTCPay scopes it to a store; Cryptomus and CoinGate issue one per merchant or app; OxaPay lets you name one. 2. Callback. Is the webhook per brand, and does the gateway treat that URL as an identifier? At BlockBee it is the identifier. 3. Payout. Does each brand forward to its own wallet, or does one balance pay everything? This is the layer that usually fails.

4. Ledger and reporting. Can you pull a month for one brand without filtering by hand? One ledger account per currency means no. 5. People. Can a bookkeeper see one brand only? BTCPay is the only one of the seven whose documentation puts permissions and stores in the same sentence; everywhere else, access is account-wide.

Log the brand yourself, on day one. Whatever the gateway does, write your own brand key into every order id and every callback URL you register, and store the payment address and the webhook payload against it. It costs one database column and it is the only thing that works identically across all seven providers — including the ones that pool your balance.

Which structure fits which business

Two brands sharing one entity, under roughly $500,000 a year, with the same risk profile: one account, one key per brand, your own ledger. The gateway's separation is cosmetic at this size and the duplicated onboarding is not worth it. Use the order-id discipline above and move on.

Separate legal entities, separate jurisdictions, or an adult, gaming or high-risk brand next to a mainstream one: separate accounts, every time. A single hold should not be able to take the clean business offline with the risky one, and that is exactly what a shared account guarantees. No-KYC crypto payment gateways is the starting list if one brand cannot complete verification.

Five brands or more, or any plan to sell one of them: self-host. BTCPay's unlimited stores, store-scoped keys and one-instance xpub rule are the only arrangement in this set that scales without a spreadsheet, and the carve-out is a wallet rather than a migration. The hosting cost and the operational work are real — we priced both in the BTCPay Server review.

Related Articles

Your account structure is set on the day you integrate, so check it before the second brand exists.

We track fees, custody, KYC and settlement for every processor in the directory. Apirone creates a wallet per brand with its own key in one call; BTCPay Server is the only one with unlimited stores and store-scoped keys.

Compare Crypto Payment Gateways →

Affiliate disclosure: Payyd earns a commission if you sign up to some providers linked on this page. It changes none of the objects, parameters or limits reported here, all of which come from the providers' own reference pages and are linked below.

FAQ

Can one crypto payment gateway account handle multiple stores?

Partly, and only on the inbound leg at most providers. Of the seven we read on 14 October 2026, BTCPay Server is the only one with a documented store object and no stated limit on how many you create. Cryptomus lets you create merchants and issue a payment key to each, CoinGate lets you create API Apps, and the rest give you a credential you can name. None of the hosted six documents a per-store balance.

Do crypto payment gateways have sub-accounts?

Not under that name in any of the seven reference sets we read. The closest equivalents are a BTCPay store, a Cryptomus merchant, a CoinGate API App and an Apirone wallet. If a provider's sales page promises sub-accounts, ask which of the five layers — credential, callback, payout, ledger, users — it actually separates, because the word is used for all five.

Should I use a separate API key for each website?

Yes, wherever the provider allows it, and it is nearly free. A per-site key limits what a leak or a compromised plugin can do, it makes rotation possible without taking every brand offline, and it gives you a second attribution field in your own logs. Check the rotation cost first: at Cryptomus a new payout key blocks withdrawals for 24 hours.

Can two stores share one wallet or xpub?

On BTCPay Server, yes, with a condition. Its wallet FAQ says two stores on the same instance can use the same xpub and that it "will do address rotation correctly and never re-use between the stores" — but "this has to be done on the same instance". Two servers deriving from one key have no shared view of what has been issued, so they can hand one address to two customers.

Is it against the rules to open two gateway accounts for one business?

None of the documentation we read on 14 October 2026 forbids it or permits it; BlockBee and OxaPay are silent in both directions. Get it in writing from support before you build on it. Separate entities, jurisdictions or risk profiles are the defensible reasons; splitting volume to stay under a verification threshold is not, and it puts both accounts at risk.

How do I keep two brands apart if the gateway pools the balance?

Do the attribution yourself. Put a brand key in every order id, register a distinct callback URL per brand, and store the payment address plus the raw webhook against the order. Then reconcile from your own records and treat the gateway balance as a single treasury account. This is the only method that works at all seven providers.

Which crypto payment gateway is best for multiple stores in 2026?

BTCPay Server if you can self-host: unlimited stores, store-scoped API keys and per-store settings. Apirone if you want hosted-style simplicity with real separation, because a wallet is one POST and carries its own transfer key and destination list. Cryptomus or CoinGate if you need their coverage and will accept one treasury with your own ledger on top.

Sources

Primary documentation, read 14 October 2026:

We may earn commission from affiliate links on this site at no extra cost to you. Read our affiliate disclosure
Multiple Stores, One Crypto Gateway: 2026 Limits | Payyd