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

# ComplianceService

> The caller's region status

Package: `monaco.api.compliance`

Source: `protos/api/compliance.proto`

Use `ComplianceService` to learn whether Monaco is available in the caller's region. It is public — no auth — and serves the same answer as `GET /api/v1/compliance/region`.

```protobuf theme={null}
service ComplianceService {
  rpc GetRegionStatus(GetRegionStatusRequest) returns (GetRegionStatusResponse);
}
```

## Notes

* `GetRegionStatus` is public and takes an empty `GetRegionStatusRequest`. Over gRPC it answers callers the edge lets through; the production edge refuses a caller from a restricted region with HTTP `451` before the call reaches this RPC. To show a region notice from anywhere, call the REST endpoint `GET /api/v1/compliance/region`, which the edge serves from every region.
* `GetRegionStatusResponse` carries `restricted` and `country` (the ISO 3166-1 alpha-2 code the edge geolocated, `T1` for Tor, `XX` for unknown, empty when the request carried no location).
* Behind the edge, every other RPC refuses a caller from a restricted region with `PERMISSION_DENIED`, message `Monaco is not available in your region.`, and a `google.rpc.ErrorInfo` detail with reason `REGION_RESTRICTED`, domain `compliance.0xmonaco.com`, and metadata `reason: app_geo_block`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.