Build vs. Buy: The True Cost of Adding Tokenized Assets to Your App

Investors want their idle assets to earn. Your users hold stablecoins, but stablecoins on their own earn no yield. Vaults and lending pools are one option, but they carry smart contract risk that many teams don't want on their users' balances. Tokenized Treasury and money market funds are a better fit for many of them. For most fintechs, neobanks and wallets, the question isn't whether to offer tokenized Treasury funds. It's how. Should you build the plumbing yourself, or plug into an existing provider?
This post lays out what building involves, what it costs to maintain, and when integrating Passage by CoinList makes more sense.
What you'd need to build
Offering even one tokenized asset takes more than an API call to an issuer. Here is the work behind it.
Eligibility. Unlike standard crypto assets, tokenized Treasury and money market funds need a more robust compliance workflow. The rules differ by issuer and by asset. Ondo's tokenized assets, for example, are only for eligible non-US investors and exclude a list of jurisdictions that includes Canada. Some issuers require full identity verification, recorded with the issuer itself. Whatever you integrate, you need to build these rules into your front end for each issuer and asset.
Issuer integrations, one at a time. Each issuer has its own API, onboarding, allowlists and purchase flow. Ondo assets are bought through a request-for-quote flow and settle in USDC in one atomic transaction. Some tokenized funds work through a queue instead: the user deposits USDC, the fund fills the queue on its dealing schedule, and the user claims the tokens once it does. Each is its own project. Teams we talk to tell us a single integration can take up to three months.
Transaction flows and settlement. Wallet ownership proofs, allowlist registration before funds move, quotes, purchases, redemptions, and getting tokens to the right wallet. Trading windows vary by asset, from around the clock to US market hours only, and trading pauses around corporate actions.
Disclosures, tax forms and reporting. Each offering brings its own disclosures, tax documents and reporting, and who carries the tax burden depends on how the asset is structured. Where users own the underlying asset directly, some issuers require tax documents from every user at onboarding, so your app has to collect them. For Ondo's tokenized funds, the tax burden is handled by an offshore trust instead. You need to know which is which for every asset you list.
Ongoing screening. Most issuers require allowlisted wallets to be screened on an ongoing basis, not just at onboarding.
What it costs to keep running
Launch is only where the cost starts. Every issuer you add is a system someone on your team owns for as long as you offer it.
Someone owns every catalog change. Ondo's catalog alone runs to more than 400 assets, and Ondo adds assets regularly. Each new asset needs its eligibility rules, trading window and minimum wired into your app before your users can buy it. That is engineering time on every addition, not a one-time build.
Someone tracks every rule change. Trading windows follow each issuer's schedule and pause around corporate actions. Minimums are set by each issuer, differ from offer to offer, and can change. Eligibility rules change too. Every change has to reach your front end before the next purchase, so someone has to watch each issuer and ship the update.
Compliance reviews repeat for every issuer. Screening doesn't stop at onboarding: most issuers require allowlisted wallets to be re-screened over time, and every new jurisdiction or asset means another compliance review. Without KYC built into the integration, each issuer that requires it can also mean another redirect and another separate verification for your users. One team told us that was a real pain point.
Every new integration can cost another quarter. One neobank told us its first tokenized asset integration took three months, and that adding more is still slow. A lot of their team's time goes into these integrations when they'd rather focus elsewhere. Multiply that by every issuer your users ask for.
The highest cost is focus. Every sprint spent on issuer plumbing is a sprint not spent on the product your users chose you for.
What integrating Passage looks like
Passage by CoinList is one integration between your app and multiple issuers. You build the experience; Passage runs the middle and back office.
- You build: the UI and UX, discovery and marketing, wallet connection, and post-sale communication with your users.
- Passage handles: compliance screening, eligibility by jurisdiction, issuer allowlists, purchase flows, settlement, ongoing wallet screening where required, disclosures and tax documents.
In practice:
- One SDK and API. One SDK and API carries the whole workflow, from onboarding through investing and selling. You own the UX and choose which assets and offerings to support from a growing catalog.
- Flexible sign-in. Users can sign in with CoinList through OAuth inside your app, verify once, and carry that identity across every offering. For some offerings, you can instead let users sign in with just a wallet, with no CoinList account, using permissions your team sets and is responsible for.
- A wide range of investable assets. Tokenized Treasury and bond funds such as SGOVon (Treasury bonds) and BILon (T-bills), tokenized stocks and ETFs, and commodities: 400+ assets through the same integration. New assets arrive as new offers in your existing integration, not as items on your product roadmap.
- Your app, your brand. Use ready-made React components, or build your own UI on the hooks or the HTTP API.
- Non-custodial. Users hold assets in wallets they control. The money-movement contracts were audited by Oak Security and are public on GitHub.
- Built on CoinList's infrastructure: 12M+ verified users in 150+ countries, $1.2B+ raised, and $40B+ in distributed assets.
When building makes sense
Building can be the right call if tokenized assets are your core product and you expect a single issuer to cover your users' demand for a long time. If you want your users earning on their balances, with room to add more over time, without becoming a compliance and issuer-integration company, Passage is usually faster to ship and cheaper to maintain.
Four questions before you decide
1. How many assets, and what types, will your users want a year from now, not just at launch?
2. Who on your team owns compliance, including transaction monitoring, sanctions screening, and KYC where required?
3. What happens to your roadmap when an issuer changes its API or adds assets?
4. How long can your users wait to start earning on their balances?
See it working
Try the live partner demo →
Read how Passage works →
Building a savings or earn feature? Talk to us →
Disclosures: Tokenized assets on Passage are available only to eligible users, subject to issuer, offering and jurisdictional restrictions. Ondo assets are available only to eligible non-US investors. Ondo tokens provide economic exposure to the underlying asset and are not shares in it. Returns are not guaranteed and the value of an investment can go down. This post is for information only and is not investment, legal or tax advice.