Docs / Platform / SDK

SDK

Sign requests and verify agents from any language. No binary needed.

What it is

The SDK is a library for signing requests and verifying other agents. It doesn’t need the Atomic binary — just the private key.

Use it when your agent runs somewhere you can’t (or don’t want to) run the full binary: Docker, Kubernetes, Lambda, etc.

Installation

# Python
pip install atomic-sdk

# Node
npm install @atomic/sdk

# Rust
cargo add atomic-sdk

Sign a request

from atomic_sdk import Signer

signer = Signer.from_env()  # reads ATOMIC_PRIVATE_KEY
headers = signer.sign_request(request_body)

# headers contains X-Agent-Id, X-Agent-Sig, X-Agent-Sig-Time
import { Signer } from '@atomic/sdk'

const signer = Signer.fromEnv()
const headers = signer.signRequest(body)
use atomic_sdk::Signer;

let signer = Signer::from_env()?;
let headers = signer.sign_request(&body);

Verify a request

from atomic_sdk import verify_request

result = verify_request(
    agent_id=headers["X-Agent-Id"],
    signature=headers["X-Agent-Sig"],
    timestamp=headers["X-Agent-Sig-Time"],
    body=request_body,
)
# result.verified: bool
# result.agent_json: dict

Environment variables

VariableDescription
ATOMIC_PRIVATE_KEYBase64-encoded Ed25519 private key
ATOMIC_DOMAINAgent domain (e.g., scout.atomic.bond)