> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zbdpay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# User Flow Walkthrough

> Visual walkthrough of the complete ZBD Ramp user experience

This guide walks through the complete user journey in the ZBD Ramp widget, from initial screen to completed purchase. Use this reference to understand what your users will experience when buying Bitcoin through your app.

## 1. Initial Screen

When users first launch the ramp widget, they're greeted with a clean, intuitive interface to begin their purchase journey.

<Frame>
  <img src="https://mintcdn.com/zbd/L0EfIBceLyEPByKv/img/v3/ramp-ui/1.%20initial-screen.png?fit=max&auto=format&n=L0EfIBceLyEPByKv&q=85&s=3d2da5dffb758ec3d8704d334ec80d0f" alt="ZBD Ramp Initial Screen" width="798" height="1108" data-path="img/v3/ramp-ui/1. initial-screen.png" />
</Frame>

The initial screen presents the core functionality and guides users to begin the purchase process.

***

## 2. Email Verification

To ensure account security and compliance, users must verify their email address before proceeding.

<Frame>
  <img src="https://mintcdn.com/zbd/L0EfIBceLyEPByKv/img/v3/ramp-ui/2.%20email-verification.png?fit=max&auto=format&n=L0EfIBceLyEPByKv&q=85&s=e3595282951005f38da25cb226333e11" alt="Email Verification Screen" width="789" height="1044" data-path="img/v3/ramp-ui/2. email-verification.png" />
</Frame>

Users receive a verification code via email and enter it to confirm their identity and proceed to KYC.

***

## 3. KYC Flow

The Know Your Customer (KYC) process is streamlined into clear steps. This is required for regulatory compliance and fraud prevention.

### Step 1: Getting Started

<Frame>
  <img src="https://mintcdn.com/zbd/L0EfIBceLyEPByKv/img/v3/ramp-ui/3.%20kyc-flow/1.%20initial.png?fit=max&auto=format&n=L0EfIBceLyEPByKv&q=85&s=4e2c9d7764187cec423fec5f0a53fea9" alt="KYC Initial Screen" width="807" height="1107" data-path="img/v3/ramp-ui/3. kyc-flow/1. initial.png" />
</Frame>

Users are introduced to the KYC process and what information they'll need to provide.

### Step 2: Country Selection

<Frame>
  <img src="https://mintcdn.com/zbd/L0EfIBceLyEPByKv/img/v3/ramp-ui/3.%20kyc-flow/2.%20country.png?fit=max&auto=format&n=L0EfIBceLyEPByKv&q=85&s=7154e17864dfc1d6a59ab8c9d13eddcb" alt="Country Selection" width="802" height="1108" data-path="img/v3/ramp-ui/3. kyc-flow/2. country.png" />
</Frame>

Users select their country of residence. This determines available payment methods and compliance requirements.

### Step 3: Personal Information

<Frame>
  <img src="https://mintcdn.com/zbd/L0EfIBceLyEPByKv/img/v3/ramp-ui/3.%20kyc-flow/3.%20personal-info.png?fit=max&auto=format&n=L0EfIBceLyEPByKv&q=85&s=45c95eba0206b2dd9f8423ac0462aa8c" alt="Personal Information Form" width="796" height="1102" data-path="img/v3/ramp-ui/3. kyc-flow/3. personal-info.png" />
</Frame>

Users provide basic personal information including full name, date of birth, and other required details.

### Step 4: Address

<Frame>
  <img src="https://mintcdn.com/zbd/L0EfIBceLyEPByKv/img/v3/ramp-ui/3.%20kyc-flow/4.%20address.png?fit=max&auto=format&n=L0EfIBceLyEPByKv&q=85&s=0f05c1b8a3679b74c94642e41658d69d" alt="Address Form" width="799" height="1107" data-path="img/v3/ramp-ui/3. kyc-flow/4. address.png" />
</Frame>

Users enter their residential address for identity verification purposes.

### Step 5: Document Selection

<Frame>
  <img src="https://mintcdn.com/zbd/L0EfIBceLyEPByKv/img/v3/ramp-ui/3.%20kyc-flow/5.%20document.png?fit=max&auto=format&n=L0EfIBceLyEPByKv&q=85&s=aef1a5e2fbf1a05a534f2d0c19c6d8ab" alt="Document Type Selection" width="804" height="1111" data-path="img/v3/ramp-ui/3. kyc-flow/5. document.png" />
</Frame>

Users choose which type of government-issued ID they'll upload (passport, driver's license, etc.).

### Step 6: Document Upload

<Frame>
  <img src="https://mintcdn.com/zbd/L0EfIBceLyEPByKv/img/v3/ramp-ui/3.%20kyc-flow/6.%20upload-document.png?fit=max&auto=format&n=L0EfIBceLyEPByKv&q=85&s=67a19da044d8ccc9e23be26676ea2212" alt="Document Upload Screen" width="799" height="1105" data-path="img/v3/ramp-ui/3. kyc-flow/6. upload-document.png" />
</Frame>

Users can upload documents directly or receive a secure link to complete the upload on their phone.

<Tabs>
  <Tab title="Phone Upload">
    <Frame>
      <img src="https://mintcdn.com/zbd/L0EfIBceLyEPByKv/img/v3/ramp-ui/3.%20kyc-flow/6.2%20upload%20document-phone.png?fit=max&auto=format&n=L0EfIBceLyEPByKv&q=85&s=28226b9ccb0c8f27e07a6a3219bdbdcd" alt="Upload from Phone" width="798" height="1105" data-path="img/v3/ramp-ui/3. kyc-flow/6.2 upload document-phone.png" />
    </Frame>

    Users can scan a QR code or receive a link to upload from their mobile device.
  </Tab>

  <Tab title="Secure Link">
    <Frame>
      <img src="https://mintcdn.com/zbd/L0EfIBceLyEPByKv/img/v3/ramp-ui/3.%20kyc-flow/6.3%20upload-document-secure-link.png?fit=max&auto=format&n=L0EfIBceLyEPByKv&q=85&s=f5bfac1d005d62f17c86387c96a3ee60" alt="Secure Link Option" width="807" height="1101" data-path="img/v3/ramp-ui/3. kyc-flow/6.3 upload-document-secure-link.png" />
    </Frame>

    A secure, one-time link is generated for mobile document uploads.
  </Tab>

  <Tab title="Phone Connected">
    <Frame>
      <img src="https://mintcdn.com/zbd/QOoFMHeraTK7d2Zh/img/v3/ramp-ui/3.%20kyc-flow/6.4.%20upload-document-phone-connected.png?fit=max&auto=format&n=QOoFMHeraTK7d2Zh&q=85&s=255a1e142b8f3be280ced70e91b1c64b" alt="Phone Connected" width="805" height="1099" data-path="img/v3/ramp-ui/3. kyc-flow/6.4. upload-document-phone-connected.png" />
    </Frame>

    Confirmation that the mobile device is connected and ready for upload.
  </Tab>
</Tabs>

***

## 4. KYC Processing

After submitting KYC information, users enter the verification stage.

<Tabs>
  <Tab title="Processing">
    <Frame>
      <img src="https://mintcdn.com/zbd/QOoFMHeraTK7d2Zh/img/v3/ramp-ui/4.%20kyc-processing.png?fit=max&auto=format&n=QOoFMHeraTK7d2Zh&q=85&s=357f7ffd0424b27ce89d3db1ea7b4faa" alt="KYC Processing" width="816" height="1045" data-path="img/v3/ramp-ui/4. kyc-processing.png" />
    </Frame>

    Users see a processing screen while their information is being verified. This typically takes just a few moments.
  </Tab>

  <Tab title="Success">
    <Frame>
      <img src="https://mintcdn.com/zbd/QOoFMHeraTK7d2Zh/img/v3/ramp-ui/5.%20kyc-success.png?fit=max&auto=format&n=QOoFMHeraTK7d2Zh&q=85&s=9a02037eec58b4166d45d70963c7174e" alt="KYC Success" width="817" height="1044" data-path="img/v3/ramp-ui/5. kyc-success.png" />
    </Frame>

    Upon successful verification, users are cleared to proceed with their purchase.
  </Tab>

  <Tab title="Failed">
    <Frame>
      <img src="https://mintcdn.com/zbd/QOoFMHeraTK7d2Zh/img/v3/ramp-ui/5.%20kyc-failed.png?fit=max&auto=format&n=QOoFMHeraTK7d2Zh&q=85&s=8fc588aa80e6a5ca476a430fb6f9d8c2" alt="KYC Failed" width="816" height="1039" data-path="img/v3/ramp-ui/5. kyc-failed.png" />
    </Frame>

    If verification fails, users receive clear guidance on next steps or alternative options.
  </Tab>
</Tabs>

***

## 5. Payment Method Selection

Once KYC is approved, users choose how they want to pay for their Bitcoin.

<Frame>
  <img src="https://mintcdn.com/zbd/QOoFMHeraTK7d2Zh/img/v3/ramp-ui/6.%20payment-method.png?fit=max&auto=format&n=QOoFMHeraTK7d2Zh&q=85&s=f889313ff5cd8f3f931e45c1fb6c3b26" alt="Payment Method Selection" width="796" height="1107" data-path="img/v3/ramp-ui/6. payment-method.png" />
</Frame>

Users can connect their bank account via Plaid for ACH payments. Additional payment methods are coming soon.

<Info>
  If a user hasn't linked a bank account yet, they'll see an option to connect via Plaid.
</Info>

<Frame>
  <img src="https://mintcdn.com/zbd/QOoFMHeraTK7d2Zh/img/v3/ramp-ui/6.1.%20payment-method-no-link.png?fit=max&auto=format&n=QOoFMHeraTK7d2Zh&q=85&s=d69f75ed0dcbf139a86757562d911b3a" alt="Payment Method - No Bank Linked" width="819" height="1044" data-path="img/v3/ramp-ui/6.1. payment-method-no-link.png" />
</Frame>

***

## 6. Plaid Bank Connection

To enable bank payments, users securely connect their bank account through Plaid.

### Plaid Flow Steps

<Steps>
  <Step title="Initiate Connection">
    <Frame>
      <img src="https://mintcdn.com/zbd/QOoFMHeraTK7d2Zh/img/v3/ramp-ui/6.%20plaid-flow/1.%20initial.png?fit=max&auto=format&n=QOoFMHeraTK7d2Zh&q=85&s=d8b7a52738f170fa57801efadb63c496" alt="Plaid Initial Screen" width="802" height="1102" data-path="img/v3/ramp-ui/6. plaid-flow/1. initial.png" />
    </Frame>

    Users are introduced to the secure Plaid connection process.
  </Step>

  <Step title="Select Institution">
    <Frame>
      <img src="https://mintcdn.com/zbd/QOoFMHeraTK7d2Zh/img/v3/ramp-ui/6.%20plaid-flow/2.%20institution.png?fit=max&auto=format&n=QOoFMHeraTK7d2Zh&q=85&s=a6d025e2dfa5d2e559045e851756b5cf" alt="Bank Institution Selection" width="805" height="1101" data-path="img/v3/ramp-ui/6. plaid-flow/2. institution.png" />
    </Frame>

    Users search for and select their bank from thousands of supported institutions.
  </Step>

  <Step title="Bank Authentication">
    <Frame>
      <img src="https://mintcdn.com/zbd/QOoFMHeraTK7d2Zh/img/v3/ramp-ui/6.%20plaid-flow/3.%20bank-connect.png?fit=max&auto=format&n=QOoFMHeraTK7d2Zh&q=85&s=09761129a219d6578fad649629b26579" alt="Bank Authentication" width="802" height="1107" data-path="img/v3/ramp-ui/6. plaid-flow/3. bank-connect.png" />
    </Frame>

    Users log into their bank account securely through Plaid's interface.
  </Step>

  <Step title="Connection Complete">
    <Frame>
      <img src="https://mintcdn.com/zbd/QOoFMHeraTK7d2Zh/img/v3/ramp-ui/6.%20plaid-flow/4.%20bank-connected.png?fit=max&auto=format&n=QOoFMHeraTK7d2Zh&q=85&s=55db4b8a48d9f5dd2890fe98a402de8f" alt="Bank Connected Successfully" width="804" height="1105" data-path="img/v3/ramp-ui/6. plaid-flow/4. bank-connected.png" />
    </Frame>

    Confirmation that the bank account is successfully connected and ready for payments.
  </Step>
</Steps>

***

## 7. Payment Confirmation

After payment method setup, users confirm their purchase details.

<Tabs>
  <Tab title="Success">
    <Frame>
      <img src="https://mintcdn.com/zbd/QOoFMHeraTK7d2Zh/img/v3/ramp-ui/7.%20confirmation-screen.png?fit=max&auto=format&n=QOoFMHeraTK7d2Zh&q=85&s=224e193f6e424c07c13782125db9a4a7" alt="Payment Confirmation Success" width="826" height="1044" data-path="img/v3/ramp-ui/7. confirmation-screen.png" />
    </Frame>

    Users see a success screen confirming their Bitcoin purchase and delivery details.
  </Tab>

  <Tab title="Failed">
    <Frame>
      <img src="https://mintcdn.com/zbd/QOoFMHeraTK7d2Zh/img/v3/ramp-ui/7.%20confirmation-fail.png?fit=max&auto=format&n=QOoFMHeraTK7d2Zh&q=85&s=dce08ccbcc60e084f698c0026b134598" alt="Payment Confirmation Failed" width="820" height="1039" data-path="img/v3/ramp-ui/7. confirmation-fail.png" />
    </Frame>

    If the payment fails, users receive clear error messages and options to retry.
  </Tab>
</Tabs>

***

## 8. Transaction Management

Users can view their transaction history and details at any time.

### Transaction History

<Frame>
  <img src="https://mintcdn.com/zbd/QOoFMHeraTK7d2Zh/img/v3/ramp-ui/tx-history.png?fit=max&auto=format&n=QOoFMHeraTK7d2Zh&q=85&s=ca77f19df9a2d14a72f30a801a69fe49" alt="Transaction History" width="829" height="1048" data-path="img/v3/ramp-ui/tx-history.png" />
</Frame>

A comprehensive list of all past and pending transactions, with status indicators for easy tracking.

### Transaction Details

<Frame>
  <img src="https://mintcdn.com/zbd/QOoFMHeraTK7d2Zh/img/v3/ramp-ui/tx-details.png?fit=max&auto=format&n=QOoFMHeraTK7d2Zh&q=85&s=7e65fa4934a8ca97176898f1ca30beb7" alt="Transaction Details" width="820" height="1039" data-path="img/v3/ramp-ui/tx-details.png" />
</Frame>

Detailed view of individual transactions including amounts, timestamps, fees, and destination addresses.

***

## Integration Tips

<CardGroup cols={2}>
  <Card title="Smooth Transitions" icon="arrow-right">
    Design your app to seamlessly transition users into the ramp widget. Consider the context and timing of when you present the purchase option.
  </Card>

  <Card title="Handle Callbacks" icon="webhook">
    Implement webhook handlers to process purchase events and update your app state in real-time as users progress through the flow.
  </Card>
</CardGroup>

***

## Next Steps

<CardGroup cols={2}>
  <Card title="Integration Guide" icon="rocket" href="/payments/ramp/quickstart">
    Learn how to integrate the ZBD Ramp widget into your application
  </Card>

  <Card title="Customize Appearance" icon="palette" href="/payments/ramp/themes">
    Customize the widget's theme to match your brand
  </Card>

  <Card title="Webhook Events" icon="webhook" href="/payments/ramp/webhooks">
    Handle webhook events to track user progress and purchases
  </Card>

  <Card title="API Reference" icon="code" href="/payments/ramp/session">
    Explore the complete API documentation
  </Card>
</CardGroup>
