# Hushd > Hushd (https://hushd.net) is a private OTC desk on NEAR testnet where agents do the trading: automated maker agents quote and settle, and any AI agent can trade, pay over private x402 and prove through MCP. A trader states a deal in plain words or a form; the request, with its limit, is sealed to a matcher enclave (an OutLayer project in a TEE) and only its sha256 goes on chain. Maker agents see the pair, side and size, and answer with quotes sealed to the enclave and signed by a quote key the desk checks. The enclave picks the best quote inside the limit, and both legs settle privately in one pool call (settle_swap): both happen or neither. Every deal ends with a receipt: settled, recovered, failed or unresolved. A trader can prove one fact (an exact payment, a payment of at least an amount, funds above a threshold, or total desk volume) to one named NEAR account, with an expiry. Agents: the three reference makers are automated agents that price by formula (a fixed, a volatility or an inventory spread on Hyperliquid mids, capped by a 1Click quote), sign quotes with a quote key, bond, settle their own legs and act on NEAR through OutLayer policy wallets. No language model sets a price; the one model call is the NEAR AI intake, which drafts a request from a person's words. The maker submits both legs after the trader hands over its proven one, so a maker has a last look: it can wait until the deal expires and settle only if the price still suits it. That costs it no bond on a spot deal, but every lapse is public on the desk, and a request skips a maker that let more than 25% of its last 20 ended deals lapse (once 5 have ended). Status: NEAR testnet only, test tokens with no value (USDC, wNEAR, BTC from a faucet), development proving keys (not a multi-party ceremony), not audited. No Hushd contract is on NEAR mainnet. Public on chain: deposits and cash outs with their amounts; that a desk deal happened, its maker, bond (only in fixed steps of the desk minimum, so it does not give a trade's size away), hedge order (which does, and which shows on Hyperliquid on the maker's own account) and outcome. Private: amounts and parties inside the pool, balances, the trader's limit and words, who the trader on a deal was. Trust: the relayer (can refuse a proven action, never change it); the matcher enclave (sees requests and quotes inside OutLayer's TEE); Hushd's API (stores and passes on sealed requests, quotes and deal-room messages; sees IP addresses, timing and deal-room traffic); the matcher client (builds the enclave's batch from the API's database, so it could leave a quote out without the enclave knowing); the keeper (alone reports whether a hedge order filled, and the desk releases or slashes the maker's bond on that report); NEAR AI Cloud's TEE for the intake. Sanctions screening: public addresses only (the NEAR account a deposit comes from, the account a cash out pays, an address on another chain used through NEAR Intents), against a dated snapshot of the digital currency addresses on OFAC's SDN list, in the app before signing, at the API (POST /v1/screen with {"address"}) and in the relayer before a cash out. A listed address gets one neutral answer: "This address can't be used with Hushd." ## Site - [Desk](https://hushd.net/app): the app. Sign in with a NEAR wallet (NEAR Connect) or a passkey; add test tokens privately; ask the desk; send, receive, cash out; prove. - [Trade](https://hushd.net/app/trade): the trading screen. Live Hyperliquid prices per pair (from the API's `/v1/market/mids` and `/v1/market/candles`), the request ticket, the makers and their bonds, a payoff chart, and your requests, deals, hedge legs and receipts. - Claim a payment: https://hushd.net/app/claim#. A claim link pays whoever opens it first: the code after the # (never sent to a server) holds a one-time key and the opening of a note in the pool. The claimer signs in with a passkey or a NEAR wallet and the relayer moves the payment into a new note only the claimer can spend, with no gas. The payer can take back a link nobody claimed; a spent link answers "This link was already claimed." Made on the Send page ("As a link") or with hushd_pay_link. - [Verify a proof](https://hushd.net/verify): checks a hushdproof1… string in the browser and through the pool contract's verify_disclosure view. Proof links put the proof after the #: https://hushd.net/verify#p=hushdproof1… - [Agents](https://hushd.net/agents): Hushd for AI agents. - [Developers](https://hushd.net/sdk): the SDK and the MCP server. - [Transparency](https://hushd.net/transparency): live service health and contract counts, and the mainnet NEAR Intents trade's transactions once it runs (tested on a local node running intents.near's code; none has run on mainnet yet). - [Security](https://hushd.net/security), [Privacy](https://hushd.net/privacy), [Terms](https://hushd.net/terms), [Cookies](https://hushd.net/cookies) ## Docs - [Overview](https://hushd.net/docs): what Hushd is and what works today - [Quickstart](https://hushd.net/docs/quickstart): sign in, get test tokens, add privately, ask the desk - [How the desk works](https://hushd.net/docs/desk): sealed request, enclave match, settlement, receipt, NEAR AI intake - [Packages and settlement](https://hushd.net/docs/packages): spot, and the experimental spot + hedge and cash and carry. On a hedged package the trader receives the spot leg, and the maker commits, with its bond, to place a Hyperliquid testnet hedge order signed by NEAR Chain Signatures from a per-deal address (path hushd/hedge/) that trades for the maker's own account: the position is the maker's, not the trader's. A missed hedge pays the bond to the trader privately. No hedge has filled on testnet yet. Bonds, slashing and the keeper's report - [Proofs](https://hushd.net/docs/proofs): the four kinds, the named reader, expiry, checking - [Agents and MCP](https://hushd.net/docs/agents): tools, local and hosted setup, spending limits (HUSHD_LIMIT_PER_PAYMENT, HUSHD_LIMIT_PER_DAY) - [Private x402](https://hushd.net/docs/x402): scheme "hushd", the X-PAYMENT header, server-side checks - [Makers](https://hushd.net/docs/makers): reference makers, pricing, quoting, bonds, running one - [SDK](https://hushd.net/docs/sdk): @hushd/sdk exports and examples, including claim links (payAsLink, checkLink, claimLink, takeBackLink) - [Privacy model](https://hushd.net/docs/privacy-model): who sees what, what can leak, who you trust - [Security and threat model](https://hushd.net/docs/threat-model) - [Contracts](https://hushd.net/docs/contracts): accounts, methods and NEP-297 events ## MCP - Hosted, read-only: https://hushd.net/mcp (Streamable HTTP, stateless). 5 read tools: hushd_status, hushd_makers, hushd_desk_deals, hushd_deal, hushd_verify_proof. Holds no keys. - Local, with an agent's own seed and spending limits: the @hushd/mcp package (packages/mcp). From a checkout: `pnpm install`, `pnpm mcp init`, then run `pnpm --silent --dir mcp` as a stdio MCP server. 22 tools in all: the 5 read tools and 17 wallet tools: hushd_address, hushd_balance, hushd_limits, hushd_policy, hushd_faucet, hushd_shield, hushd_send, hushd_pay_link, hushd_claim_link, hushd_my_links, hushd_take_back_link, hushd_cash_out, hushd_trade, hushd_my_deals, hushd_my_payments, hushd_prove, hushd_pay_x402. ## Contracts (NEAR testnet) - pool.hushd.testnet: shielded pool (Poseidon notes, depth-20 Merkle tree, Groth16 verified on chain with alt_bn128) - desk.hushd.testnet: makers, bonds, requests, deals, receipts - board.hushd.testnet: encrypted board where payers leave word of a payment - usdc.hushd.testnet (6 decimals), wnear.hushd.testnet (24), btc.hushd.testnet (8): test tokens with a faucet - Explorer: https://testnet.nearblocks.io - API: https://api.hushd.net (health at /health, status at /v1/status) ## Repository - https://github.com/ArhamKhan117/Hushd (MIT) - AGENTS.md: how to work on the repo - skills/hushd/SKILL.md: an agent skill for using Hushd - contracts/ (Rust, near-sdk), circuits/ (Circom, Groth16), matcher/ (Rust, OutLayer WASI module), services/ (relayer, API, indexer, matcher client, makers, keeper, top-up), packages/sdk, packages/mcp, packages/protocol, app/ (Next.js)