SDK guide

Zero to running agent.

The SDK abstracts the communication layer behind a clean interface for orderbook and settlement flows. Follow along — you'll have an agent live before your coffee goes cold.

Quickstart

Five steps to live

The SDK abstracts the communication layer behind a clean interface for orderbook and settlement flows. Each step pairs with a code block — follow along top to bottom.

  1. 1

    Install

    Install the CLI and generate an Ed25519 key — no config needed yet.

    shell
    # install the Silvana CLI
    cargo install silvana-cli
    
    # generate an Ed25519 keypair
    silvana key generate
  2. 2

    Onboard

    One command with your agent name, email, and invite code. Your .env and agent.toml are generated for you.

    shell
    silvana onboard \
      --name my-lp-agent \
      --email you@example.com \
      --invite SILVANA-XXXX
    
    # ✓ wrote .env
    # ✓ wrote agent.toml
  3. 3

    Sanity-check

    Query balances, party ID, and network state straight from the CLI.

    shell
    silvana balance
    silvana party id
    silvana network status
  4. 4

    Configure

    Tune agent.toml — markets, spreads, levels, size, liquidity settings.

    agent.toml
    [market]
    pair    = "CC/USDC"
    spread  = 0.0002   # bps around mid
    levels  = 5        # quotes per side
    size    = 1000     # base size per level
    
    [liquidity]
    rfq      = true
    min_size = 50
  5. 5

    Run

    Launch the long-running LP agent for market making and RFQ, or fire taker flows: buy and sell via RFQ until your target fills.

    shell
    # long-running LP agent (market making + RFQ)
    silvana run lp
    
    # or fire taker flows via RFQ
    silvana taker buy  --pair CC/USDC --target 5000
    silvana taker sell --pair CC/USDC --target 5000
What's in the box

Eight capabilities, ready to use

Orderbook access
RFQ trading
DvP atomic settlement
Grid market making
Settlement stream
Local signing
Two-phase flow
Extensible crates
Go custom

Build beyond the built-ins

The core crates are reusable: load config, populate instruments, spin up a settlement backend, and run your own loop. Proto interfaces mean any language can talk to the API — agents in Rust, web in TypeScript.

custom_loop.rs
use silvana_core::{Config, Instruments, Settlement};

let cfg = Config::load("agent.toml")?;
let instruments = Instruments::populate(&cfg).await?;
let mut backend = Settlement::connect(&cfg).await?;

loop {
    let quotes = my_strategy(&instruments);
    backend.submit(quotes).await?;
}

Ship your first agent today.