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

# Partner Dashboard

> Manage your NowRamp integration from the self-service partner dashboard.

# Partner Dashboard

The Partner Dashboard is your self-service hub for managing your NowRamp integration. Monitor transactions, analyze gateway performance, manage API keys, configure webhooks, export data, and test checkout flows — all from a single interface.

```mermaid theme={null}
flowchart TB
    subgraph Dashboard["Partner Dashboard"]
        Overview["Dashboard\nOverview"]
        Orders["Transaction\nHistory"]
        Analytics["Gateway\nAnalytics"]
        Export["Data\nExport"]
        Webhooks["Webhook\nManagement"]
        Checkout["Hosted\nCheckout"]
        APIKeys["API Key\nManagement"]
    end

    Dashboard --> API["NowRamp API"]
    Checkout --> Form["Checkout Form"]
```

## Getting Started

1. You'll receive login credentials from the NowRamp team during onboarding
2. Navigate to your dashboard URL
3. Sign in with your email and password

<Info>
  Your session automatically refreshes. If you're inactive for an extended period, you'll be prompted to sign in again.
</Info>

***

## Dashboard Overview

The main page provides at-a-glance metrics with month-over-month comparison:

| Metric           | Description                                 |
| ---------------- | ------------------------------------------- |
| **Total Orders** | Number of transactions processed this month |
| **Total Volume** | Total fiat value of all transactions        |
| **Customers**    | Unique customers who completed transactions |
| **Success Rate** | Percentage of successful transactions       |

Each metric shows a trend indicator (green up / red down) compared to the previous month.

### Charts

* **Orders Over Time** — 7-day area chart showing daily transaction volume
* **Status Breakdown** — Pie chart showing distribution across transaction statuses

### Quick Actions

Jump directly to key sections: webhooks, API keys, widget testing, and hosted checkout.

***

## Transaction History

View and search your complete transaction history with filtering and detailed inspection.

### Filtering

| Filter         | Options                                                                                  |
| -------------- | ---------------------------------------------------------------------------------------- |
| **Search**     | Order ID, customer ID, crypto currency, fiat currency, wallet address, provider order ID |
| **Status**     | Completed, Pending, Processing, Failed                                                   |
| **Date Range** | Custom date selection                                                                    |

### Transaction Details

Click any transaction to view:

* **Transaction Info** — Order ID, status, creation and completion dates
* **Amounts** — Fiat amount, crypto amount, exchange rate, fee breakdown
* **Customer** — Customer ID, country, payment method
* **Wallet** — Destination address, blockchain network, transaction hash (with explorer link)

<Tip>
  Click the transaction hash to view it on the blockchain explorer. The dashboard supports 14+ networks including Ethereum, Polygon, Arbitrum, Base, Solana, and Bitcoin.
</Tip>

***

## Analytics

Analyze transaction performance across gateways and countries.

### Filters

* **Gateway** — Filter by specific payment gateway
* **Country** — Filter by customer country

### Charts

* **Completion vs Authorization** — Bar chart comparing initiated, authorized, and completed counts
* **Completion Rate by Gateway** — Line chart tracking completion rates over time
* **Authorization Rate by Gateway** — Line chart tracking auth rates per gateway

### Analytics Table

Per-gateway/country breakdown showing:

| Metric                 | Description                       |
| ---------------------- | --------------------------------- |
| **Initiated**          | Total transactions started        |
| **Authorized**         | Payments authorized by provider   |
| **Completed**          | Crypto successfully delivered     |
| **Completion Rate**    | Completed / Initiated percentage  |
| **Authorization Rate** | Authorized / Initiated percentage |

Use this data to identify which gateways perform best for your user base and regions.

***

## Data Export

Export filtered transaction data asynchronously in CSV, JSON, or Excel (XLSX) format.

### Creating an Export

1. Navigate to **Export** in the sidebar
2. Set filters: date range, status, order type (buy/sell), gateway, country
3. Preview the filtered data (first 50 records shown with total count)
4. Select format: **CSV**, **JSON**, or **Excel**
5. Click **Export** — the job runs in the background

### Export Jobs

Track export job status in the jobs table:

| Status       | Description             |
| ------------ | ----------------------- |
| `pending`    | Export queued           |
| `processing` | Generating file         |
| `ready`      | File ready for download |
| `failed`     | Export failed           |
| `expired`    | Download link expired   |

Click **Download** when the job is ready. Export files are available for a limited time before expiring.

***

## Webhook Management

Configure, monitor, and debug webhook deliveries from a single interface.

### Configuration

1. Navigate to **Webhooks** in the sidebar
2. Enter your webhook endpoint URL and click **Save**
3. Note the signing key (used for [signature verification](/guides/callback-urls))

Additional tools:

* **Test Webhook** — Send a sample payload to verify your endpoint
* **Validate Endpoint** — Check URL reachability, SSL certificate, and response time
* **Rotate Key** — Generate a new signing key

### Delivery History

View all webhook deliveries with status filtering:

| Status                | Description                           |
| --------------------- | ------------------------------------- |
| **Delivered** (green) | Your endpoint returned a 2xx response |
| **Failed** (red)      | Delivery failed after retries         |
| **Pending** (yellow)  | Awaiting delivery                     |

Click any delivery to inspect the full request/response details including headers, payload, status code, and timing.

### Dead-Letter Queue

Webhooks that failed all retry attempts are moved here. The dead-letter tab shows:

* Total failed deliveries and breakdown by failure reason
* Per-entry details with full payload inspection
* **Retry** button to requeue individual entries
* **Resolve** button to mark entries as handled (with notes)

### Subscribed Events

| Event                    | Description                        |
| ------------------------ | ---------------------------------- |
| `transaction.pending`    | Checkout created, awaiting payment |
| `transaction.processing` | Payment received, processing       |
| `transaction.completed`  | Crypto delivered to wallet         |
| `transaction.failed`     | Transaction failed                 |
| `transaction.cancelled`  | Transaction cancelled              |
| `transaction.refunded`   | Payment refunded                   |

See the [Callback URLs guide](/guides/callback-urls) for implementation details and code examples.

***

## Hosted Checkout

NowRamp provides a white-label hosted checkout page that you can share with your users as a link. The hosted checkout is fully branded with your colors and logo, and uses the multi-provider aggregator to compare quotes and process payments.

### How It Works

```mermaid theme={null}
sequenceDiagram
    participant Partner as Your Backend
    participant Dashboard as Partner Dashboard
    participant Checkout as Hosted Checkout
    participant User as Customer
    participant API as NowRamp API

    Partner->>Dashboard: Create checkout session
    Dashboard-->>Partner: Checkout URL

    Partner->>User: Share checkout URL
    User->>Checkout: Opens branded checkout page
    Checkout->>API: Fetch quotes from all gateways
    API-->>Checkout: Ranked quotes

    User->>Checkout: Selects amount and provider
    Checkout->>API: Create checkout intent
    User->>Checkout: Completes payment
    Checkout-->>User: Redirects to your success URL
```

### Creating a Checkout Session

From the Partner Dashboard:

1. Navigate to **Hosted Checkout** in the sidebar
2. Select type: **Onramp** (buy crypto) or **Offramp** (sell crypto)
3. Configure session parameters:

| Setting             | Description                        |
| ------------------- | ---------------------------------- |
| **Customer ID**     | Your user's external ID            |
| **Amount**          | Pre-filled purchase amount         |
| **Fiat Currency**   | Source fiat currency (e.g., USD)   |
| **Crypto Currency** | Destination crypto (e.g., ETH)     |
| **Network**         | Blockchain network                 |
| **Wallet Address**  | Destination wallet address         |
| **Redirect URL**    | Where to send users after checkout |

### Field Locks

Lock specific fields so users cannot modify them during checkout. This is useful for deposit flows where the wallet address and currency are predetermined.

| Field              | Use Case                                                                  |
| ------------------ | ------------------------------------------------------------------------- |
| **Wallet Address** | Lock the destination wallet for deposit-to-platform flows                 |
| **Currency**       | Lock the crypto currency when your platform only supports specific tokens |
| **Network**        | Lock the blockchain network to prevent sending to the wrong chain         |
| **Amount**         | Set a fixed amount or configure min/max range                             |

### The Checkout URL

After creating a session, the dashboard provides a shareable checkout URL:

```
https://checkout.nowramp.com?sessionId=sess_abc123&clientSecret=secret_xyz789
```

Share this URL with your users via:

* Email or SMS
* In-app deeplinks
* QR codes
* Buttons on your website

The dashboard also provides a **cURL example** for creating sessions programmatically from your backend.

### Per-Partner Branding

Each hosted checkout page is fully branded to match your company:

| Branding Option   | Description                                        |
| ----------------- | -------------------------------------------------- |
| **Logo**          | Your company logo displayed in the checkout header |
| **Accent Color**  | Primary buttons, links, and active states          |
| **Background**    | Page background color (or custom background image) |
| **Surface Color** | Card and panel backgrounds                         |
| **Input Color**   | Input fields and pill backgrounds                  |
| **Text Colors**   | Primary, secondary, and muted text                 |
| **Border Style**  | Border color and corner radius                     |

Branding is configured per partner during onboarding. The checkout page automatically loads your brand configuration based on your subdomain.

### User Experience

When a customer opens the checkout URL, they see:

1. **Your branded header** with your logo and company name
2. **Amount selection** — enter fiat amount (or pre-filled if locked), see live crypto conversion
3. **Quote comparison** — quotes from all available gateways ranked by rate, with fee breakdown
4. **Wallet input** — enter or confirm the destination wallet address (pre-filled if locked)
5. **Provider checkout** — complete payment via the selected gateway (iframe or redirect)
6. **Redirect** — auto-redirect to your configured success URL

<Tip>
  Checkout sessions expire after 30 minutes by default. Configure a longer expiry when creating the session if needed (up to 24 hours).
</Tip>

***

## API Key Management

Manage your API keys directly from the dashboard.

### Key Types

| Type           | Prefix | Use Case                                                         |
| -------------- | ------ | ---------------------------------------------------------------- |
| **Secret Key** | `sk_`  | Backend server operations (webhook management, session creation) |
| **Public Key** | `pk_`  | Frontend use — optional, for higher Onramp API rate limits       |

<Warning>
  **Never expose secret keys** in client-side code. The full key is shown only once at creation — copy and store it securely.
</Warning>

### Key Actions

| Action     | Description                                                |
| ---------- | ---------------------------------------------------------- |
| **Create** | Generate a new key with name, type, and permissions        |
| **Reveal** | Show the full key value (requires confirmation)            |
| **Toggle** | Temporarily enable/disable a key                           |
| **Rotate** | Generate a replacement key (old key remains valid briefly) |
| **Revoke** | Permanently deactivate a key                               |

***

## Checkout Form Testing

Test the `@nowramp/form` checkout component directly in the dashboard before deploying to production.

### Configuration

| Setting            | Description                          |
| ------------------ | ------------------------------------ |
| **Flow Type**      | Buy or Sell crypto                   |
| **Theme**          | Light or Dark mode                   |
| **Amount**         | Pre-fill fiat amount                 |
| **Currencies**     | Source fiat and destination crypto   |
| **Network**        | Blockchain network                   |
| **Wallet Address** | Destination wallet (with validation) |

### Live Preview

The dashboard renders the actual `RampForm` component from `@nowramp/form` with your selected configuration. Walk through the complete checkout flow end-to-end:

1. Configure settings in the panel
2. Interact with the live form preview
3. Complete a test purchase in sandbox mode
4. Monitor events in the event log

***

## Best Practices

### API Keys

1. **Use separate keys** for development and production
2. **Rotate keys** periodically (every 90 days recommended)
3. **Limit permissions** to only what's needed
4. **Monitor usage** for unusual activity

### Webhooks

1. **Respond quickly** (return 2xx within 30 seconds)
2. **Verify signatures** on all incoming webhooks
3. **Handle duplicates** using event IDs
4. **Monitor the dead-letter queue** for failed deliveries

### Hosted Checkout

1. **Lock the wallet address** for deposit-to-platform flows to prevent user error
2. **Set a redirect URL** so users return to your app after payment
3. **Test in sandbox** before sharing live checkout URLs
4. **Use field locks** to simplify the user experience when parameters are predetermined
