Skip to content
Tolinku
Tolinku
Sign In Start Free
Use Cases · · 4 min read

Deep Links for Neobanks and Digital Banks

By Tolinku Staff
|
Tolinku e commerce deep linking dashboard screenshot for use cases blog posts

Neobanks are mobile-first, which means deep linking is central to how users interact with the product. Every notification, email, and marketing campaign should link directly into the app. A push notification about a suspicious transaction should open the transaction detail. A referral link from a friend should launch the signup flow with the referral bonus applied. A marketing email about a new savings feature should open that feature directly.

This guide covers deep linking patterns for neobanks and digital banks. For broader fintech deep linking, see deep linking for fintech and banking apps. For onboarding flows, see banking app onboarding deep links.

Route Patterns

Accounts

/accounts                          → Account overview
/accounts/{account-id}             → Specific account
/accounts/{account-id}/transactions → Transaction history
/accounts/{account-id}/statements  → Statements
/accounts/{account-id}/details     → Account details (routing number, etc.)

Transactions

/transactions/{tx-id}              → Transaction detail
/transactions/search               → Transaction search
/transactions/categories           → Spending categories

Cards

/cards                             → All cards
/cards/{card-id}                   → Card detail
/cards/{card-id}/activate          → Card activation flow
/cards/{card-id}/freeze            → Freeze/unfreeze card
/cards/{card-id}/pin               → Set/change PIN
/cards/{card-id}/limits            → Spending limits

Features

/savings                           → Savings overview
/savings/{goal-id}                 → Specific savings goal
/invest                            → Investment section
/rewards                           → Rewards and cashback
/budgets                           → Budget overview
/direct-deposit                    → Direct deposit setup

Transfers

/transfer                          → New transfer
/transfer/internal                 → Between own accounts
/transfer/external                 → To external account
/transfer/p2p/{username}           → Send to a specific user
/transfer/international            → International transfer

Onboarding

/signup                            → Start signup
/signup/{referral-code}            → Signup with referral
/verify                            → KYC verification step
/fund                              → Initial funding

Card Activation

New customers receive a physical or virtual card and need to activate it:

func handleCardActivation(_ cardId: String) {
    guard authManager.isAuthenticated else {
        pendingDeepLink = "/cards/\(cardId)/activate"
        showLogin()
        return
    }

    guard let card = cardManager.getCard(cardId) else {
        showError("Card not found. Please contact support.")
        return
    }

    switch card.status {
    case .inactive:
        showActivationFlow(card)
    case .active:
        showCardDetail(card, message: "This card is already active.")
    case .frozen:
        showCardDetail(card, message: "This card is frozen. Unfreeze before using.")
    case .expired, .cancelled:
        showError("This card is no longer available.")
    }
}

Direct Deposit Setup

Many neobanks promote direct deposit. The deep link should guide users through setup:

https://links.neobank.com/direct-deposit

This link from an email or in-app message should open the direct deposit setup screen showing the routing number, account number, and instructions for setting up with the employer.

Referral Program

Neobank referrals are a primary growth channel:

func handleReferralDeepLink(_ url: URL) {
    guard let code = url.pathComponents.last else { return }

    if authManager.isAuthenticated {
        // Existing user tapped a referral link
        showMessage("You already have an account. Share your own referral link to earn rewards.")
    } else {
        // New user
        showSignupFlow(referralCode: code)
    }
}

The referral deep link should:

  1. Show the referral bonus ("You and your friend each get $25").
  2. Start the signup flow with the referral code pre-applied.
  3. Work as a deferred deep link (referral code preserved through app install).

Statement Ready

<p>Your July 2026 statement is ready.</p>
<a href="https://links.neobank.com/accounts/ACC-123/statements">
  View Statement
</a>

Spending Insights

<p>You spent $450 on dining this month, 15% more than last month.</p>
<a href="https://links.neobank.com/transactions/categories">
  View Spending Breakdown
</a>

New Feature Launch

<p>Introducing Round-Up Savings. Every purchase rounds up to the nearest dollar, and the extra goes to your savings.</p>
<a href="https://links.neobank.com/savings">
  Enable Round-Up Savings
</a>

Frozen Card Alert

<p>Your card ending in 4589 has been frozen due to suspicious activity.</p>
<a href="https://links.neobank.com/cards/CARD-456">
  Review Card Activity
</a>
Notification Deep Link Priority
Transaction alert /transactions/{tx-id} High
Low balance warning /accounts/{account-id} High
Card frozen (fraud) /cards/{card-id} Critical
Direct deposit received /accounts/{account-id}/transactions Normal
Savings goal reached /savings/{goal-id} Normal
Referral bonus earned /rewards Normal
Card shipped /cards/{card-id} Normal
Bill due reminder /transfer High

Security

Never include sensitive data in the URL itself:

BAD:  /accounts/ACC-123?balance=5430.50
GOOD: /accounts/ACC-123

The app fetches account details after authenticating the user. The URL only specifies where to navigate, not what data to display.

Authentication Requirements

Every deep link to account, card, or transaction data must require authentication:

fun handleDeepLink(uri: Uri) {
    val path = uri.path ?: return

    // Public routes (no auth needed)
    val publicRoutes = listOf("/signup", "/help", "/about")
    if (publicRoutes.any { path.startsWith(it) }) {
        navigateTo(path)
        return
    }

    // All other routes require auth
    if (!authManager.isAuthenticated) {
        pendingDeepLink = path
        showLogin()
        return
    }

    // High-security routes need step-up auth
    val sensitiveRoutes = listOf("/cards/", "/transfer", "/settings/security")
    if (sensitiveRoutes.any { path.startsWith(it) }) {
        requestBiometric {
            navigateTo(path)
        }
        return
    }

    navigateTo(path)
}

Fraud Prevention

Monitor deep link patterns for abuse:

  • Rapid attempts to access different account IDs (account enumeration).
  • Deep links to transfer pages with pre-filled amounts (social engineering).
  • Unusual patterns of card freeze/unfreeze via deep links.

Tolinku for Neobanks

Tolinku supports the route patterns neobanks need. Define routes for accounts, cards, transfers, and features in the Tolinku dashboard. The privacy-first approach (no fingerprinting) aligns with financial regulation requirements.

For payment deep links, see payment deep links. For banking onboarding, see banking app onboarding deep links.

Get deep linking tips in your inbox

One email per week. No spam.

Ready to add deep linking to your app?

Set up Universal Links, App Links, deferred deep linking, and analytics in minutes. Free to start.