“White label” describes how a wallet reaches the market. It says almost nothing about who controls that wallet once it is live.
Two products sold under the same label can differ at nearly every level that matters after launch. One runs as a hosted service on the vendor’s servers, the other ships as an application codebase the buyer maintains. One routes signing through a backend the vendor operates, the other signs transactions on the user’s device. One is difficult to move away from without a rebuild, the other can be handed to a different engineering team.
The vocabulary is part of the problem. Non-custodial, white-label, self-custody and vendor-independent get used almost interchangeably in sales conversations, and they describe different properties of a system. A wallet can be non-custodial and still leave the company that launched it dependent on one supplier. A company can own the application code and still need the vendor’s backend to run it. Separating these layers is the first useful step in evaluating any wallet proposal.
“White Label” Does Not Tell You Who Controls the Wallet
A more useful way to read a wallet offer is to split it into four layers and ask a separate question about each one.
| Layer | Question |
| Keys | Who can sign transactions? |
| Code | Can the buyer modify and maintain the application? |
| Infrastructure | Does the product require the original vendor’s backend? |
| Chains | Can networks be added or replaced independently? |
The answers are independent of each other. A wallet can generate and store keys on the user’s device while the entire application remains a closed SaaS product the buyer cannot modify. Another can arrive with a full repository handover while still calling proprietary vendor APIs for account management, meaning the code is owned but not really operable alone. A third can support a dozen networks that all belong to the same protocol family, which looks broad on a feature list and is narrow in engineering terms.
Most vendor conversations answer only the first question. “We are non-custodial” is a statement about key control, and it is often treated as if it settled ownership, portability and independence as well. It does not. The three remaining layers determine what the buying company can actually do with the product in year two or three: change suppliers, pass a security audit on its own terms, add a network its market demands, or move the application to its own infrastructure without rewriting it.
1. Key Control: Non-Custodial Is an Architecture, Not a Marketing Label
Custody comes down to one capability: who can authorise a transfer of funds. Everything else is interface.
In a conventional self-custodial mobile wallet, private keys or seed-derived signing material are generated under the user’s control, and transactions are authorised without a custodial backend. Sensitive material may be protected using platform security mechanisms such as iOS Keychain or the Android Keystore system. In conventional HD wallets, recovery is commonly handled through a BIP39 mnemonic or an equivalent recovery mechanism held by the user. Other designs exist, including MPC, smart-account and passkey-based models, and they distribute signing authority differently. What they share, when they are genuinely self-custodial, is that the vendor’s backend cannot move funds on its own.
In a custodial or semi-custodial design, key material or a signing capability sits on a server. The app may still show a balance, a PIN screen and a Face ID prompt. Those are authentication controls, not custody controls. They decide who may use the client, not who may sign.
This is where the plainest test applies. Ask the vendor: can any remote server produce a valid signed transaction without the user’s device participating? If the answer is yes, the product is custodial in some form regardless of the label on the datasheet. If the answer is no, ask where in the code signing happens, and expect to see it.
A related detail is worth pinning down carefully, because it is often overstated in both directions. “The seed phrase never leaves the device” can become misleading once an optional cloud backup of encrypted seed material is enabled. The accurate version is narrower: unencrypted seed material and private keys do not need to be transmitted to the wallet vendor or to a custody backend, and where optional cloud backup exists, the backup payload can be encrypted client-side before upload. That is a real property with a real security model behind it. The absolute version is not, and it tends to fall apart during the first serious security review.
2. Source-Code Ownership Is Separate From Self-Custody
Key control says nothing about who owns the product. A non-custodial wallet might be open source, a proprietary SaaS platform, an SDK embedded in someone else’s app, a white-label codebase licensed for a term, or a codebase transferred outright to the buyer. All five can be architecturally non-custodial. Only some of them leave the buyer able to change anything.
The practical questions are dull and worth asking early. Who holds the repository after delivery, and under what licence? Can an independent security team audit the full codebase, or only the parts exposed to it? Can the buyer’s own engineers modify the wallet, or does every change route back through the vendor’s roadmap? Are there recurring licence fees tied to users, transaction volume or continued use of the code? And if the relationship with the development partner ends, does the buyer keep something they can build, sign and ship, or only a compiled artefact?
A hosted Wallet-as-a-Service product answers most of these with “the provider.” That is not automatically the wrong choice, and for a team without mobile engineering capacity it is frequently the right one. But it should be a decision, not a discovery.
A different model is the full-code white label. OmiSoft, for example, offers a white-label crypto wallet built around a non-custodial mobile architecture in which transactions are signed on the device. Its delivery model includes source-code handover and does not require the application to remain on OmiSoft-hosted infrastructure. That structure changes the ownership answer without changing the custody answer. The two are independent variables, and conflating them is the most common mistake in this category of purchase.
3. “No Vendor Lock-In” Does Not Mean “No External Dependencies”
Once source-code ownership enters the conversation, the pitch often escalates to complete independence. That claim does not survive contact with how wallets actually work, and buyers should be suspicious of it rather than reassured by it.
There are two different dependencies here. The first is vendor dependency: reliance on the original wallet supplier through a proprietary backend, a closed signing service, a vendor-controlled account system, mandatory licensing, or APIs that cannot be swapped for anything else. This is the dependency that source-code handover and self-hosting can genuinely remove.
The second is operational infrastructure dependency, and some of it usually remains. Every production wallet needs access to blockchain state and a way to broadcast transactions, typically through RPC endpoints that may be third-party or self-hosted. Price feeds, swaps, bridges and fiat on-ramps introduce additional dependencies where those features are used, each with its own terms and compliance obligations. Push notifications, crash reporting and analytics are usually external too. Even a wallet the buyer fully owns runs on a service layer, and parts of that layer will normally belong to someone else.
What distinguishes a good architecture is not the absence of these dependencies but whether they are replaceable. A provider registry with configurable RPC endpoints and automatic failover, for instance, means an RPC supplier can be changed without touching transaction logic. A hard-coded endpoint means it cannot. The same test applies to swap providers and on-ramps.
The formulation that survives scrutiny is “no mandatory dependency on the original vendor’s hosted infrastructure after handover.” The formulation that does not is “zero infrastructure dependencies.” If a vendor uses the second one, that is a useful signal about how the rest of their technical claims should be read.
4. Multi-Chain Means More Than Adding Another Network Name
Chain support is the layer where feature lists mislead most reliably, because two very different engineering situations produce identical marketing copy.
Adding another EVM-compatible network to a wallet that already supports Ethereum usually allows significantly more reuse than integrating a new protocol family. EVM-compatible networks generally share account and address derivation conventions, familiar transaction primitives and ERC-20 interfaces, which allows substantial reuse of wallet logic, and EIP-1559 fee handling applies where the network implements it. Fee mechanics, RPC behaviour, finality assumptions and network-specific edge cases still require configuration and testing, so support for Polygon, Base, Arbitrum, Optimism and BNB Smart Chain is real work. It is work built on one implementation rather than several.
Solana is a different protocol family. It uses Ed25519 signing and a different account model; SPL token balances, associated token accounts, fee handling and transaction construction require separate implementation logic. Address validation and balance reading do not carry over from an EVM implementation.
TRON introduces another operational model: transactions interact with bandwidth and energy resources that accounts obtain by staking TRX, with TRX burned to cover any shortfall, so fee estimation and TRC-20 transfers require chain-specific validation rather than a reuse of EVM gas logic. A wallet that treats TRON as an EVM chain with a different name will produce confusing fee estimates and failed transactions.
So a wallet supporting Ethereum plus five EVM networks is a genuinely different engineering artefact from a wallet core supporting EVM, Solana and TRON as separate protocol families, even though both may be marketed as multi-chain. OmiSoft’s current mobile wallet core, to take one concrete example, supports seven EVM networks — Ethereum, Polygon, BNB Smart Chain, Base, Arbitrum, Optimism and Avalanche C-Chain — alongside Solana and TRON, using network-specific adapters behind a unified interface so that chain-specific transaction and validation logic stays separated.
That separation matters for the buyer more than the network count does. It is what determines whether adding a network next year is a configuration task, a new adapter, or a rewrite. Ask which networks are implemented and shipping today, and treat anything described as roadmap as absent.
5. Custom Build vs Full-Code White Label vs Wallet-as-a-Service
The three models optimise for different constraints, and none of them is generally correct.
| Factor | Custom build | Full-code white label | Wallet-as-a-Service |
| Initial speed | Slowest | Faster | Fastest |
| Source-code control | High if contractually transferred | High if transferred | Low, provider-dependent |
| Customisation | Highest | High | Medium |
| Vendor runtime dependency | Low | Low if self-hostable | Typically provider-dependent |
| Engineering burden | Highest | Medium | Lowest initially |
| Maintenance responsibility | Client | Client or partner | Provider-heavy |
| Migration complexity | Typically lower vendor lock-in | Low to medium | Medium to high |
| Multi-chain availability | Must build | Existing core | Provider-defined |
WaaS makes sense when the wallet is a feature inside a larger product, the team has no mobile or blockchain engineering capacity, and the roadmap does not depend on deep customisation. A payments app adding self-custody as an option is a reasonable fit. The trade-off is accepted rather than hidden: depending on the implementation, the provider may control significant parts of the runtime, the infrastructure and the supported feature roadmap.
Custom development makes sense when the wallet is the product, the architecture is a differentiator, and the company intends to maintain an engineering team around it for years. It typically requires the most engineering effort up front, but it can offer the highest degree of control when IP, source-code and infrastructure terms are structured accordingly.
Full-code white label sits between them, and its value depends almost entirely on the delivery terms. A codebase with a real handover, self-hosting and a maintainable structure is close to custom development with a head start. The same product delivered with mandatory licensing and vendor-hosted services attached is closer to WaaS with a larger invoice. The label does not tell you which one you are buying, so the contract has to.
6. Questions to Ask Before Buying a White-Label Wallet
The following list is worth running past any vendor in any of the three categories. The answers, taken together, describe the position the buyer will occupy in two years.
Keys
- Where are private keys generated, and in which secure storage do they live on iOS and Android?
- Where are transactions signed, and can this be verified in the code?
- Can the vendor’s infrastructure sign anything without the user’s device?
- How does recovery work, and if cloud backup exists, where is the payload encrypted?
Code
- Who owns the application repository after delivery, and under what licence?
- Are there recurring licence fees, and do they scale with users or volume?
- Can an independent auditor review the full codebase?
- What happens to the product if the development vendor is replaced?
Infrastructure
- Are backend components included in the source-code handover, or only the mobile client?
- Does the wallet require vendor-hosted backend services to function?
- Which third-party services will still be needed, and can RPC, indexing, price feed, swap and on-ramp providers be replaced individually?
- Who owns and maintains the App Store and Google Play accounts, signing certificates and deployment pipelines?
Chains
- Which networks are implemented and shipping today, as opposed to planned?
- Are Solana, TRON or other non-EVM networks native implementations or roadmap items?
- What is the actual process for adding a new network after launch?
Conclusion
Wallet ownership is layered, and the layers do not move together. Key control is an architectural property. Code ownership is a contractual one. Infrastructure independence is partial by definition, since every wallet depends on services it does not run. Chain support is an engineering claim that a feature list cannot verify.
A buyer who separates these four questions will get a more accurate picture from any vendor conversation than one who asks whether the product is custodial, or whether it is white label, and stops there. The useful question is not which category a wallet belongs to. It is which parts of the stack the buyer can still control after launch, and which parts belong to somebody else.
Leave a Reply