delta Domain SDK
The delta_domain_sdk provides the framework for building
and running a domain on the delta network. Import the crate to get
core types like vaults and addresses, support for
user-level transactions such as debit
allowances and token mints, and most importantly
the Domain struct to run your domain and connect to the base layer.
Architecture
The SDK's main entry point is Domain, which provides three components:
runner— launches the domain's event loopclient— performs actions (apply, submit, prove)views— read-only access to state and SDLs
use delta_domain_sdk::{Domain, Config};
let config = Config::load()?;
let Domain { runner, client, views } = Domain::from_config(config)
.build()
.await?;
runner.run_in_background().await?;
Features
Enable these cargo features based on your needs:
| Feature | Description |
|---|---|
rocksdb | Persistent storage (required for production) |
sp1 | Zero-knowledge proof generation via SP1 |
admin-api | Exposes the admin API for SDL management |
Next Steps
There are several paths to start building with the SDK. You can explore the example domain to see a working implementation, then copy and modify it to fit your needs. Alternatively, you can build a domain from scratch using the SDK primitives directly.
- Run the Example Domain — get a working domain running locally
- Code Walkthrough — understand how the example domain works
- Testing with Mocks — develop and test without the live network
- API Documentation — full SDK reference