# SERVICE_PROVIDER_REGISTRY

> `const` **SERVICE\_PROVIDER\_REGISTRY**: `object`

Defined in: [packages/synapse-core/src/utils/constants.ts:150](https://github.com/FilOzone/synapse-sdk/blob/8736322ef69c7a6b0f16402937c72a79b17d03e8/packages/synapse-core/src/utils/constants.ts#L150)

Limits mirrored from
[ServiceProviderRegistry.sol](https://github.com/FilOzone/filecoin-services/blob/main/service_contracts/src/ServiceProviderRegistry.sol).
Sync with `VERSION` in that contract (currently `1.1.0`) when upgrading.

## Type Declaration

### MAX\_CAPABILITIES

> `readonly` **MAX\_CAPABILITIES**: `24` = `24`

Maximum number of capability key/value pairs per product.

### MAX\_CAPABILITY\_KEY\_LENGTH

> `readonly` **MAX\_CAPABILITY\_KEY\_LENGTH**: `32` = `32`

Maximum UTF-8 byte length for each capability key.

### MAX\_CAPABILITY\_VALUE\_LENGTH

> `readonly` **MAX\_CAPABILITY\_VALUE\_LENGTH**: `128` = `128`

Maximum byte length for each capability value (raw bytes, not hex chars).

### MAX\_DESCRIPTION\_LENGTH

> `readonly` **MAX\_DESCRIPTION\_LENGTH**: `256` = `256`

Maximum UTF-8 byte length for `ServiceProviderInfo.description`.

### MAX\_LOCATION\_LENGTH

> `readonly` **MAX\_LOCATION\_LENGTH**: `128` = `128`

Maximum UTF-8 byte length for the `location` capability value.

Declared on-chain but not currently enforced in a dedicated require — the
stricter `MAX_CAPABILITY_VALUE_LENGTH` already covers it.

### MAX\_NAME\_LENGTH

> `readonly` **MAX\_NAME\_LENGTH**: `128` = `128`

Maximum UTF-8 byte length for `ServiceProviderInfo.name`.

### REGISTRATION\_FEE

> `readonly` **REGISTRATION\_FEE**: `5000000000000000000n` = `5_000_000_000_000_000_000n`

Registration fee in attoFIL (5 FIL) required by `registerProvider`.

Callers that pass `value` explicitly are validated against this value.
Callers that omit `value` fetch the live `REGISTRATION_FEE()` from the contract.