depth
Run Depth

Deployment and verification

Publish verified circuits, initialize the market, and serve a signed manifest.

On this page

Set up the toolchain

Resolve pinned tools
pnpm --dir contracts install --frozen-lockfile
pnpm tools:setup

The workspace selects its pinned Arcium toolchain. Build and deployment versions are resolved separately; use the repository commands rather than an unverified global binary.

Publish circuits

Verify and upload
pnpm --dir contracts verify:circuits --local
pnpm --dir contracts upload:circuits

The uploader uses the configured Pinata credentials and verifies the files through the public gateway. Save the verified DEPTH_CIRCUIT_BASE_URL in the root environment before building.

Deploy to devnet

Deploy and initialize
pnpm --dir contracts build:devnet
pnpm --dir contracts deploy:devnet --check
pnpm --dir contracts deploy:devnet
pnpm --dir contracts init:defs
pnpm --dir contracts init:protocol
pnpm --dir contracts init:market

Provision the deployment signers first. Market initialization requires five recovery committee signer/encryption key pairs and a private envelope output path. Distribute each encrypted recovery share to its committee member.

For upgrades, pause the market and finish pending computations first. Changed circuits use new versioned computation definitions.

Sign the deployment

Sign a manifest
pnpm devnet:manifest VERSION EXPIRY_UNIX deployments/devnet/manifest.json

Replace VERSION and EXPIRY_UNIX with your release version and Unix expiry in seconds. The signer must be the deployed program’s upgrade authority. Configure DEPTH_DEVNET_MANIFEST_PATH to serve the JSON at /.well-known/depth/devnet.json.

SDKs verify its signature and network, then compare the program, MXE, and market configuration with Solana. Publish a fresh manifest after an upgrade or policy revision.

Verify the lifecycle

Read deployment and callback evidence
pnpm devnet:audit
pnpm devnet:callbacks

The audit reads the deployment. Callback verification checks finalized Arcium callbacks and circuit hashes.

Run a funded test trade
pnpm devnet:quote

The quote proof submits real devnet transactions through deposit, allocation, open, close, release, withdrawal, and fee claims. It retains operation IDs in data/devnet/quote.json and refuses to overwrite an interrupted workflow.

Documentation
8 results