Skip to main content

Overview

Client IDs identify applications using the Request Network API. Domain-restricted Client IDs support frontend/browser integrations; Client IDs without allowed domains support server-side applications. Key differences from API keys:

Backend vs Frontend Client IDs

  • Frontend Client IDs — have allowedDomains set. The API validates the Origin header against the whitelist.
  • Backend Client IDs — have empty allowedDomains. No domain validation is performed. Useful for server-side applications that need Client ID scoping without browser restrictions.

Using a Client ID with a payment destination

When a Client ID is bound to a payee destination, a standard POST /v2/request call made with that Client ID can omit the payee. Request Network resolves it from the bound destination. This lets an application create requests without including wallet details each time.
This is separate from a formal orchestrator. For a Client ID linked to an orchestrator, creating a Secure Payment link or payout requires both x-client-id and x-orchestrator-key. A request using that linked Client ID alone is rejected. See paired authentication.

Two ways to manage Client IDs

Both paths use the same Client ID — there is no functional difference.

CRUD Operations

Client IDs can be managed through the auth API (session-based) or the request API (API key-based).

Create a Client ID

string
required
Display name for the Client ID (1-100 characters).
string[]
List of allowed origins (max 10). Must be HTTPS, except http://localhost and http://127.0.0.1. Leave empty for backend Client IDs.
string
Default fee percentage for requests created with this Client ID (0-100).
string
Fee recipient address. Required when feePercentage is set.
string
ERC-7828 destination ID to bind to this Client ID. A standard Client-ID-authenticated request can then resolve its payee from this destination.
string
Optional Ethereum address of a smart wallet with delegated operator permissions. Used in commerce payment (authorize/capture) flows.
number
Default pre-approval duration in seconds. Overrides per-request value when set.
number
Default authorization duration in seconds. Overrides per-request value when set.
Response (201)

List Client IDs

Get a Client ID

Update a Client ID

All fields are optional. You can update label, allowedDomains, feePercentage, feeAddress, payeeDestinationId, operatorWalletAddress, defaultPreApprovalExpiry, defaultAuthorizationExpiry, and status.

Revoke a Client ID

Revoking a Client ID is permanent and cannot be undone.

Webhook Scoping

Webhooks can be scoped to specific Client IDs. When a webhook is created with a clientId, it only receives events for requests created with that Client ID. See Webhooks for details.

Authentication

How to use Client IDs for API authentication.

Payee Destinations

Create destinations to bind to Client IDs.
Last modified on August 19, 2026