Skip to main content

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 loop
  • client — 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:

FeatureDescription
rocksdbPersistent storage (required for production)
sp1Zero-knowledge proof generation via SP1
admin-apiExposes 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.