Conversion Routing
Conversion Optimization
Meld's intelligent quote ranking system maximizes conversion rates by guiding users toward the most suitable payment providers. Through advanced algorithms analyzing user history, provider performance, and KYC requirements, Meld helps developers achieve significantly higher success rates.
Proven ResultsMeld's customerScore and lowKyc optimization features have enabled developers to achieve 69-94% end-to-end conversion rates - a dramatic improvement over industry averages.
Overview
Every quote response includes intelligent ranking data to help you:
- Prioritize familiar providers where users have succeeded before
- Identify low-friction options requiring minimal verification
- Optimize for user success based on historical performance
- Reduce abandonment rates through smart provider selection
Scope: These optimization features apply to buy transactions only and are included automatically in all quote responses.
Understanding KYC Impact
Know Your Customer (KYC) verification significantly impacts conversion rates. Each provider has different requirements:
- Minimal KYC: Email, phone, basic details (high conversion)
- Standard KYC: Document uploads, identity verification (medium conversion)
- Enhanced KYC: Bank statements, proof of funds (low conversion)
Meld's optimization ensures users are directed to providers where they've already completed verification, dramatically reducing friction.
Key Optimization Parameters
Every quote includes these conversion-critical fields:
customerScore (0-100)
customerScore (0-100)Meld's proprietary recommendation engine that predicts conversion likelihood for each user-provider pair. Higher scores indicate greater success probability. Meld recognizes users by their wallet address, so this score works across the entire Meld ecosystem, even if your user used the same wallet address via a different wallet before!
lowKyc (boolean)
lowKyc (boolean)Indicates whether the transaction can complete without document uploads for new users.
Calculation Factors
Meld's algorithm processes multiple data points, updated several times daily:
User History (Primary Factor)
- Previous successful transactions with each provider
- Transaction recency and frequency
- Failure patterns and recovery behavior
- Cross-wallet transaction history within Meld network
Provider Performance
- Historical success rates by geography and payment method
- Average processing times and reliability metrics
- Fee competitiveness and spread analysis
- Payment method diversity and regional support
Market Dynamics
- Real-time provider availability and capacity
- Regional regulatory compliance status
- Seasonal performance variations
Score Interpretation
| Score Range | Meaning | Recommendation |
|---|---|---|
| 70-100 | Excellent Match | Multiple recent successes, prioritize prominently |
| 30-69 | Good Match | Some success history, feature positively |
| 0-29 | New/Unknown | No significant history, standard positioning |
Implementation Note: Always include the user'swalletAddressin quote requests to enable personalized scoring.
Implementation Strategy
Primary Sorting: Always rank quotes by customerScore (highest first)
Visual Emphasis: Highlight providers with scores > 30 using:
- "⭐ Recommended" badges
- Primary button styling
- "You've used this before" messaging
Code Example:
interface Quote {
customerScore: number;
serviceProvider: string;
lowKyc: boolean | null;
partnerFee: number | null;
sourceAmount: number;
destinationAmount: number;
totalFee: number;
// ... other fields
}
function sortQuotesByRecommendation(quotes: Quote[]): Quote[] {
return quotes.sort((a, b) => b.customerScore - a.customerScore);
}
function getRecommendationBadge(score: number): string {
if (score >= 70) return "🏆 Your Best Choice";
if (score >= 30) return "⭐ Recommended";
return "";
}
Best Practice: Never hide or de-emphasize high-scoring options, even if they have higher fees. User familiarity typically outweighs small price differences in conversion impact.
Low KYC Optimization
The lowKyc flag identifies providers where new users can complete transactions without document uploads, significantly reducing friction and improving conversion rates.
What Low KYC Means
✅ Low KYC Requirements:
- Basic information: email, phone, name
- Simple verification: SMS codes, email confirmation
- Optional: SSN or tax ID (varies by country)
- No document uploads required
❌ Standard KYC Requirements:
- Government ID photos (license, passport)
- Proof of address documents
- Bank statements or financial verification
- Selfie verification
Response Values
| Value | Meaning | User Experience |
|---|---|---|
true | No documents needed for this amount | ⚡ Fast completion (2-5 minutes) |
false | Documents required | 📋 Standard process (10-30 minutes) |
null | Provider doesn't specify or amount exceeds threshold | 🤷 Unknown requirements |
Implementation Guidelines
Badge Messaging:
lowKyc: true→ "⚡ No Documents Required"lowKyc: false→ Standard presentationlowKyc: null→ No special treatment
Code Example:
function getLowKycBadge(lowKyc: boolean | null): string {
return lowKyc === true ? "⚡ No Documents Required" : "";
}
function shouldHighlightForSpeed(quote: Quote): boolean {
return quote.lowKyc === true;
}
Conversion Impact: Low KYC options can improve completion rates by 40-60% for new users, making them valuable for customer acquisition.
Implementation Example
Here's a realistic quote response showing how optimization parameters work together:
{
"quotes": [
{
"transactionType": "CRYPTO_PURCHASE",
"sourceAmount": 200.00,
"sourceAmountWithoutFees": 195.83,
"destinationAmount": 0.04308219,
"destinationCurrencyCode": "ETH",
"exchangeRate": 4642.29,
"paymentMethodType": "CREDIT_DEBIT_CARD",
"customerScore": 78.5,
"serviceProvider": "UNLIMIT",
"lowKyc": null,
"partnerFee": 2
},
{
"transactionType": "CRYPTO_PURCHASE",
"sourceAmount": 200.00,
"sourceAmountWithoutFees": 193.09,
"destinationAmount": 0.04176125,
"destinationCurrencyCode": "ETH",
"exchangeRate": 4789.13,
"paymentMethodType": "CREDIT_DEBIT_CARD",
"customerScore": 45.2,
"serviceProvider": "KRYPTONIM",
"lowKyc": true,
"partnerFee": 0
},
{
"transactionType": "CRYPTO_PURCHASE",
"sourceAmount": 200.00,
"sourceAmountWithoutFees": 190.07,
"destinationAmount": 0.041154,
"destinationCurrencyCode": "ETH",
"exchangeRate": 4859.80,
"paymentMethodType": "CREDIT_DEBIT_CARD",
"customerScore": 12.1,
"serviceProvider": "STRIPE",
"lowKyc": false,
"partnerFee": null
}
]
}Analysis & UI Recommendations
1. UNLIMIT (Score: 78.5)
- 🏆 Primary Recommendation: Highest customer score indicates strong success history
- UI Treatment: Featured position, "Your Best Choice" badge
- Conversion Expectation: Very high (user familiarity)
2. KRYPTONIM (Score: 45.2)
- ⚡ Speed Advantage:
lowKyc: truemeans fast completion for new users - UI Treatment: "No Documents Required" badge
- Conversion Expectation: Good for new users, moderate for returning
3. STRIPE (Score: 12.1)
- Standard Treatment: Lowest score, no special advantages
- UI Treatment: Regular presentation
- Conversion Expectation: Lower (unknown user history)
Optimal Implementation Strategy
// Sort quotes optimally
function optimizeQuoteDisplay(quotes: Quote[]): Quote[] {
return quotes
.sort((a, b) => b.customerScore - a.customerScore)
.map(quote => ({
...quote,
recommendationBadge: getRecommendationBadge(quote.customerScore),
speedBadge: getLowKycBadge(quote.lowKyc),
isPrimary: quote.customerScore >= 70,
isRecommended: quote.customerScore >= 30
}));
}
Key Principle: Rank bycustomerScorefirst, then enhance withlowKycbadges. Never let low KYC override strong user history - familiarity typically wins over convenience.
Summary
Meld's conversion optimization combines user history intelligence with friction analysis to maximize transaction success rates. By implementing proper quote ranking and visual emphasis, developers can achieve industry-leading conversion performance.
Implementation Checklist:
- ✅ Always include
walletAddressin quote requests - ✅ Sort quotes by
customerScore(highest first) - ✅ Add visual badges for scores > 30
- ✅ Highlight
lowKyc: trueoptions with speed messaging - ✅ Never override high customerScore with other factors
- ✅ Monitor conversion metrics and iterate
Updated 13 days ago