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
allowedDomainsset. The API validates theOriginheader 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 standardPOST /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
label, allowedDomains, feePercentage, feeAddress, payeeDestinationId, operatorWalletAddress, defaultPreApprovalExpiry, defaultAuthorizationExpiry, and status.
Revoke a Client ID
Webhook Scoping
Webhooks can be scoped to specific Client IDs. When a webhook is created with aclientId, it only receives events for requests created with that Client ID.
See Webhooks for details.
Related Pages
Authentication
How to use Client IDs for API authentication.
Payee Destinations
Create destinations to bind to Client IDs.