TD TrustDrop Docs

Deployment & SDK

Current Prototype Deployment

These addresses describe the current Arbitrum Sepolia deployment used by the prototype stack.

Contracts

ContractAddress
ExchangeHub0x907337991b4cE4D9a6e70865e40Dc013df13a0D7
ExchangeChannelImplementation0xB8D465C1ee0f990F6bA0AB23531eebc03f374c74
OracleProxy0x456Eb12B6A9584967d4ed1cB5B640B4Cd7215672
VisionRegistry0x79A070bF4b64f815249F4ac0ea05bdB983b92261

SP1 Guest Programs

GuestVerifierELF
VSS 0x5e80ed679fb9f4050a5c7ede5ccbe39178f142a2 guest/vss/target/elf-compilation/riscv64im-succinct-zkvm-elf/release/vss-program
VDD Walrus RSLH/VE 0x154D59Ed30B7784B5c9324b32b9ec5d6c8DE4071 guest/vdd/target/elf-compilation/riscv64im-succinct-zkvm-elf/release/program-vdd-walrus-rslhve

TypeScript SDK

packages/drop-ts-sdk is the buyer-side SDK. It provides wallet connection, account switching support, purchase preparation, contract submission, refund submission, subgraph reads, Walrus aggregator download, and buyer recovery/decryption.

import {
  connectWallet,
  preparePurchase,
  submitPurchase,
  recoverPurchasedAsset
} from "@trustdrop/drop-ts-sdk";

Seller CLI

Sellers use drop-cli for listing, Walrus upload, SP1 proof requests, fulfillment, oracle checks, and settlement.

The seller side has four moving parts: a funded Arbitrum Sepolia seller account, a Walrus publisher endpoint, SP1 Prove Network credentials, and the local drop-cli state database. An agent should first inspect the repository's CLI help, environment examples, and seller state directory, then run the readonly checks before sending any transaction or proof request.

The CLI supports both direct commands and a daemon mode. Direct commands are useful for listing a file, checking a sale, uploading to Walrus, requesting VSS/VDD proofs, fulfilling a purchase, and settling it. The daemon watches seller sales, discovers purchase requests, records threads in the local database, and can resume failed work after the operator fixes the missing dependency.

For a new seller flow, use the CLI to prepare and list an asset, make sure the Walrus blob is readable, then let either explicit phase commands or the daemon handle buyer purchases. If a step fails, inspect the thread state, check Walrus, RPC, oracle, and SP1 readiness, then resume the same thread instead of starting a new exchange.