One Fasset account carries a USD cash balance, USDC/USDT and spot-crypto wallets, a Visa card ledger, and investment positions across US stocks, metals and bonds — all folded into a single balance, as the app itself describes it. That consolidation is the interesting part for an integrator: the value a partner wants is not one feed but a consistent read across cash, tokens and securities that a user manages in one place. The work here is separating those layers cleanly and keeping them current. The route we would take is authorized protocol analysis of the app's own traffic under the account holder's consent, reconciled against the public chains where the stablecoins actually settle.
What sits inside a Fasset account
A user's home screen leads with the USD balance; the tabs beneath it hold everything else. Each surface below is something the account holder already sees, mapped to where it comes from and what a partner would build on it.
| Data domain | Where it lives in the app | Granularity | What an integrator does with it |
|---|---|---|---|
| USD account balance and ledger | Global USD account, home screen | Per-entry, timestamped, USD | Reconcile the fiat cash position, feed accounting or treasury tools |
| Stablecoin and crypto wallets | Deposit flow (USDC, USDT, BTC, ETH) | Per-asset balance plus deposit/withdrawal addresses | Track holdings and reconcile them against on-chain movement |
| Fasset Card transactions | Card tab (Visa) | Per-swipe merchant, amount, currency | Expense feeds and spend analytics, separate from transfers |
| Investment positions | Invest tab (crypto, US stocks, metals, bonds) | Per-holding quantity, cost basis, market value | Portfolio aggregation alongside holdings held elsewhere |
| Fasset Earn / yield | Earn product on eligible stablecoins | Accrued yield, quoted rate, principal | Yield and accrual reporting |
| OWN Points / cashback | Rewards | Points per transaction, tier state | Rewards reconciliation and loyalty accounting |
| Profile and verification | Account / profile | KYC tier, region, product eligibility | Gate reads by what a given account can actually access |
Reaching the balances and card flows
There is no open-banking AIS regime covering crypto brokerages in the UAE or Indonesia, so the read rests on the account holder's own authorization rather than a regulator-mandated consent scheme. Two routes carry the weight here, with a third as backup.
Authorized interface integration and protocol analysis
We observe the app's own authenticated traffic under the customer's authorization, map the request and response shapes for the balance, positions, card and rewards surfaces, and rebuild them as documented calls. This reaches everything the account itself shows. Durable enough to run day to day; it needs a re-validation step in maintenance when the app front end shifts, which we plan for rather than react to.
User-consented account access
Where the end user is your own customer, they authorize the read directly and we drive it against their live session. Cleaner consent trail, scoped to exactly the assets that user holds, and the natural fit for an aggregator surfacing Fasset alongside other accounts.
On-chain reconciliation as backing
Because deposits and withdrawals settle in USDC and USDT on public chains, wallet movement is independently observable. We use that as a cross-check on the in-app view, not as a standalone route. For most builds we lead with authorized protocol analysis and let the consented-session path take over wherever the integrator owns the user relationship — that pairing gives the widest reach with the cleanest consent record.
A token refresh and a consolidated balance read
A session starts from a stored refresh token, then pulls the blended balance in one call. Field names and paths below are illustrative; the exact host, routes and token lifetime are confirmed during the build against a consenting account.
POST /v3/auth/token # illustrative shapes, confirmed during the build
{ "grant_type": "refresh_token", "refresh_token": "<stored>" }
-> 200 { "access_token": "<jwt>", "token_type": "Bearer", "expires_in": 900 }
GET /v3/accounts/overview
Authorization: Bearer <jwt>
-> 200 {
"usd_account": { "available": "1240.50", "currency": "USD" },
"wallets": [
{ "asset": "USDC", "chain": "ethereum", "balance": "800.00", "decimals": 6 },
{ "asset": "BTC", "chain": "bitcoin", "balance": "0.0142" }
],
"card": { "last4": "••••", "state": "active", "scheme": "visa" },
"positions": [ { "class": "equity", "symbol": "AAPL", "qty": "0.75" },
{ "class": "metal", "symbol": "XAU", "grams": "3.10" } ]
}
# error handling we wire in:
# 401 -> refresh once, retry; if refresh fails, surface re-consent, do not loop
# 429 -> exponential backoff, honour Retry-After
# wallet deposits -> mark pending until on-chain confirmations >= threshold
What lands in your repo
What ships is a working client, not a slide deck. For Fasset that means:
- An OpenAPI/Swagger specification covering the overview, positions, card-transaction and rewards reads.
- A protocol and auth-flow report: the bearer-token and refresh cadence, and how device/app attestation is handled on this app.
- Runnable source in Python and Node.js for the balance, wallet, card and positions endpoints — the code from the snippet above, filled in.
- Automated tests: contract tests on each read, a token-refresh test, and an on-chain reconciliation test for stablecoin deposits.
- Interface documentation, plus data-retention and consent-logging guidance sized to VARA and OJK expectations.
VARA, OJK and consent-scoped reads
VARA licensed Fasset FZE as a virtual-asset broker-dealer in Dubai, a status carried on the authority's public register and reported in the trade press when the operational license was granted in late 2023. In Indonesia, supervision of crypto assets moved from Bappebti to OJK on 10 January 2025, and Fasset has been named among platforms working through the OJK licensing process; we track that status so consent records name the current supervisor. Neither regime hands a third party a data feed, which is exactly why the account holder's consent is the dependable basis for the read. Consent is scoped to the balances and positions that user owns, expires when their token is invalidated, and is revocable on demand. We minimize to the fields a use case needs, log consent and access, and work under NDA where the engagement calls for it. Personal-data handling follows the UAE's PDPL and Indonesia's PDP Law for accounts in those markets.
What the build has to get right
The single balance blends fiat cash, stablecoins, spot crypto and securities, so the first job is to un-blend it. We model each asset class distinctly — a USDC balance at six decimals, a fractional US equity, a gram of tokenized metal — so they never collide in one numeric field, and market-value assets stay separable from cash. Settlement adds a second concern: since stablecoin deposits clear on public chains, a transfer can be visible in-app before it is final, so we reconcile against confirmations and label pending versus settled rather than trusting a single view. Product availability is the third: card issuance, supported assets and Earn eligibility vary by region and KYC tier, as the app's own notes state, so we scope each read to what a given account can access and let a field being absent in one market be expected, not a crash. Access to a consenting account or a sponsor sandbox is arranged with you as part of getting started — it sits inside the project, not ahead of it.
Where integrators point a Fasset read
- A neobank or money-view app surfacing a user's Fasset USD and stablecoin balance next to their other accounts, refreshed on a schedule.
- A treasury or bookkeeping tool pulling Fasset Card spend and account settlement into expense categories.
- A portfolio tracker consolidating Fasset investment positions — crypto, US stocks, metals — with holdings on other platforms into one view.
- A compliance or audit workflow that pairs the in-app wallet history with on-chain confirmations for a clean deposit trail.
Screens we mapped
The listing images below are the surfaces the mapping is drawn from. Select one to enlarge it.
How this brief was put together
Checked on 1 July 2026 against the app's Google Play listing and public reporting on the company's regulatory footing. The VARA public register was used to confirm the Dubai broker-dealer status; trade coverage of the Dubai license and of the May 2026 funding round supplied the market and expansion context; a legal write-up documented the Bappebti-to-OJK handover in Indonesia. Data domains are read from the app's own description and store screens. Primary sources:
- VARA public register — Fasset FZE
- Cointelegraph — Fasset granted an operational license in Dubai
- SSEK — Indonesia's crypto oversight moves from Bappebti to OJK
- Google Play — Fasset: Global Digital Bank listing
OpenBanking Studio · interface mapping, 1 July 2026.
Nearby wallet-and-card apps
Fasset sits among crypto and multi-asset consumer apps serving the same emerging markets. A unified integration usually has to reach several of these, so each is worth knowing:
- Pintu — Indonesian retail crypto app holding spot balances and order history behind a KYC account.
- Tokocrypto — Indonesian exchange with per-user wallets and trade records, reported at millions of users.
- Indodax — long-running Indonesian exchange carrying account balances and withdrawal history.
- Luno — crypto app active across several emerging markets, holding wallet balances and transaction history.
- Pluang — Indonesian multi-asset app spanning crypto, US stocks and gold, with per-user portfolio positions.
- BitOasis — Middle East crypto exchange with per-user balances and order records.
- Rain — Gulf-region regulated crypto platform holding custody balances and trade history.
- Bitget — global exchange app with spot and futures balances and a companion wallet.
- Binance — global exchange holding per-account balances, trades and a card ledger.
Questions integrators ask about Fasset
Does Fasset's move to OJK supervision in Indonesia change how you read the account?
The January 2025 shift of crypto oversight from Bappebti to OJK is a supervisory change, not a data mandate. Our read still rests on the account holder's own authorization, so the mechanics do not change. We track the current regulator so the consent records name whoever supervises the market at build time.
How do you tell a pending stablecoin deposit from a settled one?
Fasset settles USDC and USDT on public chains, so we reconcile the app's wallet view against the chain. A deposit stays labelled pending until it clears the confirmation threshold we set, which keeps downstream balances from double-counting a transfer that has not landed.
Can you separate the USD cash balance from stablecoin and investment holdings?
Yes. The single Fasset balance blends fiat cash, stablecoins, spot crypto and securities. We normalize each asset class into its own typed field, so a treasury tool sees cash while a portfolio tool sees positions, from the same underlying read.
The Fasset Card runs on Visa — can card transactions come through too?
Card spend surfaces in the card view with merchant, amount and currency. We expose it as a transaction feed suitable for expense or bookkeeping tools, kept distinct from on-account transfers and stablecoin movements so the two are never confused.
App profile: Fasset: Global Digital Bank
Fasset offers an interest-free account combining a global USD balance, stablecoin and crypto deposits (USDC/USDT and native assets), a Visa card for spending, and investing in crypto, US stocks, metals and bonds — settled on regulated stablecoin infrastructure for near-instant cross-border movement, per its own description. Package ID com.fasset.cashapp as listed on Google Play. The company is dual-headquartered in the UAE and Indonesia, holds a VARA virtual-asset license in Dubai, and sits under OJK supervision in Indonesia. Products, card availability and supported assets vary by region and eligibility, and investing carries risk including possible loss of principal.
Taking delivery
Source code for the Fasset reads lands in one to two weeks. Take it as a one-off delivery — runnable Python and Node source with the OpenAPI spec, tests and interface docs, from $300, invoiced only after it is delivered and you are satisfied — or skip hosting entirely and call our maintained Fasset endpoints, paying per call with nothing upfront. Give us the app name and what you want out of it; access and compliance are arranged with you as we go. Start at /contact.html and we will scope the read.