# Integration Types

Relevant source files

- [en/catalog.json](https://github.com/FrontFin/front-web-platform-locales/blob/967df441/en/catalog.json)
- [es/catalog.json](https://github.com/FrontFin/front-web-platform-locales/blob/967df441/es/catalog.json)
- [tr/catalog.json](https://github.com/FrontFin/front-web-platform-locales/blob/967df441/tr/catalog.json)

This document provides a comprehensive overview of the different types of integrations supported by the Mesh Connect system. The focus is on the technical implementation details of how Mesh Connect interfaces with various cryptocurrency exchanges, wallets, and payment providers. For specific information about authentication flows, see [Account Linking and Authentication](/content/FrontFin/front-web-platform-locales/2.1-account-linking-and-authentication/index.html), and for transfer capabilities, see [Transfer and Payment Flows](/content/FrontFin/front-web-platform-locales/2.2-transfer-and-payment-flows/index.html).

## Overview of Integration Categories

Mesh Connect supports four main categories of integrations, each with distinct connection methodologies, authentication requirements, and capabilities.

```
Mesh Connect System

Cryptocurrency Exchanges

DeFi Wallets

Hardware Wallets

Payment Providers

Binance

Coinbase

Revolut

Robinhood

Mobile Wallets

Browser Extensions

Ledger

Trezor

PayPal
```

---

## Cryptocurrency Exchanges

Cryptocurrency exchanges are centralized platforms that allow users to buy, sell, and trade digital assets. Mesh Connect integrates with several major cryptocurrency exchanges to provide users with access to their accounts and facilitate transfers.

### Supported Exchanges

The system supports multiple cryptocurrency exchanges, each with their own authentication mechanisms and capabilities:

| Exchange   | Authentication Method       | Special Features                              |
|------------|----------------------------|---------------------------------------------|
| Binance    | OAuth, 2FA, Face Verification | Whitelist IP address, MFA requirements     |
| Coinbase   | OAuth, 2FA                 | API integration                             |
| Revolut    | OAuth                       | In-app approval for transfers                |
| Robinhood  | OAuth, KYC                 | Identity verification requirements           |

### Exchange Authentication Flow

```
Cryptocurrency ExchangeMesh ConnectClient ApplicationCryptocurrency ExchangeMesh ConnectClient Applicationalt[MFA Required]alt[Face Verification Required]alt[IP Whitelisting Required (Binance)]UserInitiates connectionRequests exchange integrationDisplays available exchangesSelects exchangeRedirects to OAuth pagePresents login screenEnters credentialsRequests MFA verificationProvides MFA codeValidates codePrompts face verificationCompletes verification in exchange appConfirms verificationProvides IP to whitelistAdds IP to trusted IPsConfirms IP whitelistingReturns auth tokenConfirms successful connectionShows success screenUser
```

### Exchange-Specific Requirements

#### Binance Integration

Binance has specific requirements for API usage and withdrawals:

1. **2FA Requirements**: Both email and authenticator app must be configured for withdrawals
2. **IP Whitelisting**: API users must whitelist IP addresses for security
3. **Face Verification**: Some actions require face verification in the Binance app

#### KYC Verification for Exchanges

Several exchanges require KYC (Know Your Customer) verification before enabling crypto transfers:

```
Yes

No

Pending

Approved

Start

KYC
Verified?

Enable Crypto Transfers

Open Exchange Account

Navigate to Crypto Section

Complete Identity Verification

Verification
Status

Wait 1-3 Business Days

Return to Mesh Connect

Complete Transfer
```

## DeFi Wallets

DeFi (Decentralized Finance) wallets are self-custody crypto wallets that allow users to maintain control of their private keys. Mesh Connect enables connecting to these wallets to verify ownership and facilitate transfers.

### DeFi Wallet Connection Flow

```
DeFi WalletMesh ConnectClient ApplicationDeFi WalletMesh ConnectClient Applicationalt[Mobile Wallet with QR Code][Browser Wallet]alt[Network Switch Required]UserInitiates wallet connectionRequests wallet integrationDisplays available walletsSelects walletDisplays QR codeScans QR code with wallet appPrompts connection approvalApproves connectionSends connection requestPrompts connection approvalApproves connectionRequests network switchPrompts network changeApproves network changeEstablishes connectionConfirms wallet connectionShows success screenUser
```

### Address Verification

For security purposes, Mesh Connect requires wallet ownership verification through message signing:

```
Approves

Declines

Start

Display Verification Request

Send Signature Request to Wallet

Prompt User to Sign Message

User Action

Sign Message

Verification Failed

Verify Signature

Verification Successful

Offer Retry Option

Complete
```

## Hardware Wallets

Hardware wallets provide the highest level of security for cryptocurrency storage by keeping private keys in secure hardware devices. Mesh Connect supports integration with major hardware wallet providers.

### Supported Hardware Wallets

The system primarily supports two hardware wallet brands:

1. **Ledger**: Supports connection via USB or Bluetooth
2. **Trezor**: Supports connection via USB

### Hardware Wallet Connection Flow

```
Ledger

Trezor

USB

Bluetooth

Start

Select Hardware Wallet Type

Wallet Type

Choose Connection Method

Connect via USB

Connection
Method

Connect via USB

Connect via Bluetooth

Select Device from USB Window

Select Device from Bluetooth Window

Follow Instructions to Complete Connection

Follow Instructions to Complete Connection

Follow Device-Specific Instructions

Open Network-Specific App on Device

Sign Verification Message on Device

Connection Complete
```

### Hardware Wallet Verification Process

Hardware wallets require a specific verification process to confirm address ownership:

1. **Device Connection**: Connect hardware wallet via appropriate method (USB/Bluetooth)
2. **App Selection**: Open the relevant cryptocurrency app on the hardware device
3. **Message Signing**: Sign a verification message on the device
4. **Verification**: The signed message verifies wallet ownership

For certain cryptocurrencies like XRP (Ripple), a special verification process is used:

> "Note: For XRP, you will see a dummy transaction with minimal values. This is only to verify your wallet and will not cost anything or send any funds."

## Payment Providers

Mesh Connect also supports integration with payment providers to facilitate cryptocurrency purchases and payments.

### PayPal Integration

The primary payment provider integration is with PayPal, which follows a flow similar to cryptocurrency exchanges but with payment-specific functionality:

```
Start

Select PayPal as Payment Method

Authenticate via OAuth

Select Asset to Transfer

Select Transfer Network

Enter Transfer Amount

Preview Transfer Details

Confirm Transfer

Process Payment

Transfer Complete
```

### Payment Preview and Confirmation

For all payment provider integrations, Mesh Connect implements a standardized payment preview and confirmation flow:

```
Payment ProviderMesh ConnectClient ApplicationPayment ProviderMesh ConnectClient ApplicationPreview includes fees and estimated receiptUserInitiates paymentRequests payment flowDisplays payment optionsSelects payment providerInitiates authenticationRequests authenticationAuthenticatesReturns auth tokenDisplays asset selectionSelects asset and networkRequests payment amountEnters payment amountShows payment previewConfirms paymentInitiates paymentProcesses paymentReturns payment statusShows payment confirmationUser
```

## Integration Implementation in Codebase

The integration types are implemented through localization strings in the catalog.json files. Each integration type has specific UI components, error messages, and flow descriptions.

### Integration Categories in Code

The integration categories are defined in the catalog.json file:

```
"categories": {
  "brokerage": "Brokerages",
  "deFiWallet": "Wallets",
  "deFiWalletFull": "Self-custody crypto wallets",
  "exchange": "Exchanges",
  "exchangeFull": "Centralized crypto exchanges",
  "nftMarketplace": "NFT Marketplaces",
  "popular": "Popular"
}
```

### Integration-Specific Flows

Each integration type has specific flows implemented in the codebase:

1. **Exchange Integration**: OAuth flows, 2FA verification, address whitelisting
2. **DeFi Wallet Integration**: QR code scanning, connection approval, network switching
3. **Hardware Wallet Integration**: Device connection, app selection, message signing
4. **Payment Provider Integration**: OAuth authentication, asset selection, payment processing

## Error Handling for Integrations

Each integration type has specific error messages and handling procedures:

```
Authentication

Connection

Transfer

Verification

Integration Error

Error Type

Authentication Errors

Connection Errors

Transfer Errors

Verification Errors

2FA Validation Failed

Invalid Credentials

Network Disabled

Integration Unavailable

Amount Below Minimum

Amount Above Maximum

Insufficient Balance

KYC Verification Required

Address Not Whitelisted
```

## Summary

Mesh Connect supports a diverse range of integration types, each with specific authentication flows, capabilities, and requirements. By implementing these integrations through localized strings, the system provides a consistent user experience across different languages and platforms.

The key integration types are:

- Cryptocurrency Exchanges (Binance, Coinbase, Revolut, Robinhood)
- DeFi Wallets (mobile and browser-based self-custody wallets)
- Hardware Wallets (Ledger, Trezor)
- Payment Providers (PayPal)

Each integration type implements specialized flows for authentication, verification, and transaction processing, with appropriate error handling for each step in the process.
