Introduction
Last updated
Last updated
This page outlines the 3 main components of the SatLayer BVS platform:
SatLayer Core Contracts
BVS Service Contracts
Off-Chain Operator Software
The SatLayer Core Contracts are CosmWasm contracts deployed on the Babylon Chain and maintained by SatLayer's core contributors. They provide the coordination structure between BVS applications, Operators, and Re-Stakers, as well as a Task Lifecycle. In total, there are 10 core contracts, but the ones developers will primarily interact with are:
BVS Directory: For registering the BVS's TaskInterface contract.
State Bank: Manages relevant data and state for a BVS task.
BVS Driver: Oversees the full lifecycle of a BVS tasks.
The remaining contracts power functionalities including staking, delegating assets, and rewards distribution. While we won't delve into these in detail on this page, the complete list is:
Strategy Manager: Manages the various assets accepted as collateral.
Strategy Base
Strategy Factory
Strategy Base TVL Limits
Delegation Manager: Handles the delegation and withdrawal of staker assets to operators
Rewards Coordinator: Manages the deposit and distribution of BVS token rewards
Slash Manager: Oversees the reporting and execution of asset slashing
BVS Developers are responsible for developing and deploying their own BVS Service Contracts, which interact with the SatLayer Core Contracts outlined above. The two core responsibilities of the BVS Service Contracts are:
Submitting new tasks: Store relevant data in the State Bank then calling the BVS Driver.
Accepting task results: Validate results (signatures, sender, etc.) and emit an event to confirm result acceptance.
Developers have the flexibility to design any combination of contracts that ultimately invoke SatLayer's Core Contracts. The TaskInterface
serves as a placeholder outlining the two final responsibilities. For example, a BVS can be triggered by Contract B, which in turn is triggered by Contract C. The only requirement is that the contract interfacing with SatLayer (the BVS Service Contract) must fulfill the above two responsibilities.
The Off-Chain Operator Software consists of a set of programs that listen for on-chain events and respond accordingly. At a minimum, it includes an off-chain compute process that listens for task creation events, performs the necessary computations, and submits the results back to the BVS contract.
It is recommended that BVS teams implement additional components, such as:
BVS Client to enable easy service consumption.
Reward Calculator to provide stakers and operators with insights into the rewards generated by the BVS.
SatLayer provides a series of off-chain libraries to assist in developing the off-chain software. This includes ChainIO—our library for accepting and sequencing on-chain events and querying/invoking contract functions—as well as strongly typed wrappers for easy access to all SatLayer Core Contracts, along with loggers that can accelerate the development of your Operator Software.