BlueprintsSurplus MarketOperator Requirements

Operator Requirements

Surplus operators run a market venue and, when bonded as issuers, must back credit lots with real inference capacity.

Required Runtime

RequirementNotes
surplus-operatorFull Tangle runner built with the blueprint feature.
HTTP venueDefault port 9100.
Settlement contractSURPLUS_SETTLEMENT_ADDR and chain RPC.
Operator keySigns RFQ quotes and batch attestations.
Submitter keyPays gas and submits settlement transactions.
Persistent stateOrder book, settlement outbox, fills, lots, and redemption records.

Environment

VariablePurpose
SURPLUS_CHAIN_IDEIP-712 settlement chain ID.
SURPLUS_SETTLEMENT_ADDRSurplusSettlement contract address.
SURPLUS_RPC_URLRPC endpoint for settlement submission.
SURPLUS_OPERATOR_KEYAttester or issuer signing key.
SURPLUS_SUBMITTER_KEYHot transaction key.
SURPLUS_SIDECAR_URLMarket-maker sidecar URL; default http://127.0.0.1:9110.
SURPLUS_INSTRUMENTBoot market, defaulting to an Anthropic output-credit instrument.
SURPLUS_MM_SIZEQuote size; minimum 1000, default 50000.

Shared Books and Privacy

ModeVariables
Shared CLOBSURPLUS_CLOB_OPERATORS, SURPLUS_CLOB_BOOK, SURPLUS_CLOB_THRESHOLD
Attester-onlySURPLUS_ATTESTER_ONLY=1
Tor privacyPRIVACY_MODE=tor, SURPLUS_TOR_SOCKS, SURPLUS_ONION_FILE

The privacy layer uses Arti/Tor for outbound calls and .onion operator services. It is not custom cryptography.

App Environment

The hosted app needs:

VariablePurpose
VITE_SURPLUS_VENUE_URLDefault venue URL.
VITE_TANGLE_ROUTER_URLTangle Router endpoint.
VITE_WALLETCONNECT_PROJECT_IDWalletConnect project ID; do not ship a shared fallback.