LabscoMCP early access ↗
Hashlock-TechMCP SERVER · OFFICIAL PROJECT

HashLock OTC

Post a sealed RFQ, negotiate the price in a deal thread, and settle the cross-chain swap so that both legs land or neither does.

by Hashlock-Tech ↗Wallets, Signing & Transaction Execution✓ Official

LABSCO SUMMARY

Cross-chain settlement with nothing in the middle to trust.

The quote you accept and the contract that settles it are one operation, so a half-executed trade is not a state the book can reach. The swap secret is generated on your machine and only its hash ever leaves it.

What it is

The canonical MCP server for Hashlock Markets, a non-custodial cross-chain OTC desk. One loop covers the whole trade: browse the asset registry and the RFQ board, post a request, negotiate a price in the deal thread, then settle through hash time-locked contracts on both chains. Testnets only for now — Ethereum Sepolia, TRON Nile and Bitcoin signet.

What you get

  • The asset registry and the public RFQ board read before you commit to anything — list_assets, list_open_rfqs, get_rfq
  • A public request posted, or a private fixed-price order with a shareable link, and your own request withdrawn — create_rfq, cancel_rfq
  • A price posted against someone else's request, which opens a deal thread you then counter, accept or decline in — respond_to_rfq, negotiate
  • Your own requests and threads, with negotiation history and live HTLC state alongside them — my_rfqs, my_deals, deal_status, whoami
  • Receive and refund addresses set per chain, and the locally stored swap preimage handed back once both legs are funded — set_settlement_address, get_deal_secret, reveal_claim
  • Settlement the agent signs itself, when it holds its own key for the chain — fund_leg, claim_leg
  • Failures as a structured envelope carrying a code, a retryable flag and a recovery hint, so an agent can branch on them instead of parsing prose

Requirements

Two ways in. Local stdio is npx -y @hashlock-tech/mcp on Node 20 or newer; set HASHLOCK_EVM_KEY, HASHLOCK_TRON_KEY or HASHLOCK_BTC_KEY and the server logs in and signs settlement itself. The hosted path is https://dev.hashlock.markets/mcp over Streamable HTTP with one-click OAuth — multi-tenant and non-custodial, so it hands back unsigned transactions for your own wallet to sign. With no key set, the read-only calls still work. Testnets only until the security-hardening gate: use dedicated testnet keys.

Setup effort

One command — npx -y @hashlock-tech/mcp