Delegated Mode
All partner-triggered actions use simple API calls but result in secure onchain execution through UR’s delegated smart contracts.
1. User Onboarding
In Delegated Mode, the Partner redirects the user to a secure UR Webview. Within this Webview, the user completes identity verification (KYC), creates their UR account and URID, and crucially, signs an approval to "Delegate" access to the Partner. Once complete, UR redirects the user back to the Partner App with an authorization code.
Key Difference: Unlike External Wallet Mode, the user does not sign every action with a personal wallet; they perform a one-time "Delegation" setup here.
Authorization Flow Diagram
Flow Description:
Initialization: The user initiates the process on the Partner App. The Partner constructs a standard OAuth-style Authorization URL and redirects the user to UR.
Onboarding (UR Side): The user lands on the secure UR Webview and authenticates via social login (Google or Email OTP, managed by the UR account system). A UR account is automatically created along with a unique URID. The user completes the KYC process (Liveness/ID scan) directly within the UR Webview. The initial status of the URID is set to "Tourist".
Delegation (Critical Step): Upon submitting KYC data for review, UR prompts the user to grant permissions to the Delegated Contract that is dedicated to the Partner. This authorization enables the Partner to execute future actions (such as offramps) via API without requiring blockchain interaction for every transaction.
Account creation: UR redirects the user back to the Partner's
redirect_uriwith an Authorization Code. The Partner App to retrieve the user'sURID,ETH Address, and status, completing the binding process.Finalization: Once KYC has been approved, the URID status will become live. Follow up functions will be then unlocked for the user.
KYC retry: This step is an exception handling mechanism and is not part of the standard workflow. Following the initial KYC submission, UR may occasionally flag specific verification steps for retry (e.g., due to document quality issues). This status is updated dynamically via the profile API. Best Practice: We recommend performing a status check on this field before the user initiates any UR-related features. The user should be redirected to get.ur.app to complete the retry process if and only if the
kycRetryVerificationLevelfield returns a non-zero value.
2. Card
Once the user completes onboarding and their URID status becomes 'Live', they are eligible for card issuance. Critical operations — such as card activation, revealing card details (PAN/CVV), and managing card settings — are performed by redirecting the user to the UR Card Webview. Refer to this document for details of integrating the Card webview integration.
3. Profile
Some users may need to view their IBAN information, so we provide an integration for the Profile Webview. Partners can integrate this webview into their app as either a webview or a dialog. For detailed integration instructions, please refer to this document.
4. Core Banking Functions
Crypto-to-Fiat (Off-Ramp)
Core Mechanism
Quotation & Pricing: The Partner requests a real-time exchange rate and fee structure via the Offramp quote API. This ensures the user sees the exact estimated fiat output before confirming.
API-Driven Execution: Once the user confirms the trade on the Partner's UI, the Partner triggers the transaction by calling the Offramp API. Critically, this step does not require a user wallet signature. The Partner signs the API request using their own key.
On-Chain Settlement: UR's backend validates the request and triggers the Delegated Contract on the Mantle Network. The contract verifies the user's pre-authorized allowance, transfers the authorized crypto assets (e.g., USDC), and credits the user's UR account with the corresponding fiat balance (e.g., USD).
Asynchronous Notification: Upon successful on-chain settlement, UR notifies the Partner via a webhook, allowing the Partner to update the user's UI to reflect the completed transaction.
Fiat-to-Crypto (On-Ramp)
Coming Soon
Fiat-to-Fiat (FX)
Coming Soon
Cash Pay-in
Coming Soon
Cash Pay-out (Bank Transfer)
Coming Soon
Last updated