| Crates.io | bvs-registry |
| lib.rs | bvs-registry |
| version | 2.4.0 |
| created_at | 2025-05-02 03:55:49.515772+00 |
| updated_at | 2025-09-08 06:37:56.478317+00 |
| description | SatLayer Bitcoin Validated Service |
| homepage | https://satlayer.xyz/ |
| repository | https://github.com/satlayer/satlayer-bvs.git |
| max_upload_size | |
| id | 1657253 |
| size | 139,266 |
The BVS Registry is a central record-keeping contract for all Operators and Services within the SatLayer ecosystem. It serves as a directory where Operators and Services can register themselves and establish mutual relationships.
The BVS Registry provides essential bookkeeping for the vault-router to query delegations and determine
if an Operator is validating a Service.
This enables the vault-router to make informed vault management decisions,
such as queuing funds withdrawal from the Vault when delegated.
RegisterAsService: Register an address as a Service with optional metadataRegisterAsOperator: Register an address as an Operator with optional metadataRegisterOperatorToService: Service registers an Operator to run itRegisterServiceToOperator: Operator registers a Service it's willing to runUpdateServiceMetadata: Update a Service's metadata (name, URI)UpdateOperatorMetadata: Update an Operator's metadata (name, URI)DeregisterOperatorFromService: Service removes an OperatorDeregisterServiceFromOperator: Operator removes a ServiceStatus: Check registration status between a Service and OperatorIsService: Check if an address is registered as a ServiceIsOperator: Check if an address is registered as an OperatorIsOperatorActive: Check if an Operator has active Service registrationsEnableSlashing: Enable slashing for a Service with specified parametersDisableSlashing: Disable slashing for a ServiceOperatorOptInToSlashing: Operator opts into service slashingAn Operator/Service can register a Service/Operator to run and vice versa. However, both the Operator and Service must register to each other to establish an active relationship.
sequenceDiagram
participant Operator
participant Service
participant Registry
Operator ->> Registry: 0. RegisterAsOperator()
Service ->> Registry: 0. RegisterAsService()
Service ->> Registry: 1. RegisterOperatorToService(operator)
Operator ->> Registry: 2. RegisterServiceToOperator(service)