Skip to main content
Monaco is not available in some jurisdictions. Requests from a restricted region are refused with HTTP 451 and the error code REGION_RESTRICTED. The region status endpoint is the one exception: it is public — no authentication is required — and answers from every region, so a frontend can show a region notice up front instead of failing on the next call. The restriction applies to production only: on the testnet environments restricted is always false and no request is refused for its region.

Get Region Status

() => Promise<GetRegionStatusResponse>
Fetch the caller’s region status. No authentication required.Returns: GetRegionStatusResponse:
  • restricted: boolean — true when Monaco is not available in the caller’s region.
  • country: string — the ISO 3166-1 alpha-2 country code the edge geolocated (T1 for Tor, XX for unknown); empty when the request carried no location.
Example:

Refused requests

Every other request from a restricted region is refused before it is processed, with this body:
details.reason is edge_geo_block when the edge refused the request and app_geo_block when the API did. Branch on error, not on the reason. In the SDK the refusal is an APIError with statusCode 451 and retryable: false. A WebSocket connection from a restricted region is refused at the upgrade with the same 451 body, and gRPC calls fail with PERMISSION_DENIED (see ComplianceService).