Prototype · Preview: every server in the official registry, synced every 30 minutes. Sign in with Google to write reviews.
PopNx MCPMCP servers for people who use AI · explained in plain words

Hashlock Markets

by Hashlock-Techversion 1.12.1i★ 0iComputer or cloud
Registry nameio.github.Hashlock-Tech/hashlock

How to install

What it does

Non-custodial cross-chain OTC for AI agents: sealed RFQ, negotiation, HTLC atomic swaps.

  • Connects Computer or cloud
  • Account or key Cloud: Needs Authorization · Local: Needs HASHLOCK_EVM_KEY, HASHLOCK_BANKR_API_KEY, HASHLOCK_TRON_KEY, HASHLOCK_BTC_KEY, HASHLOCK_SOLANA_KEY, HASHLOCK_TOKEN, HASHLOCK_API_URL, HASHLOCK_TRON_API_KEY
  • Category Crypto & blockchain

Install

Pick the AI app you use, then copy the settings.

Passed 5/5 checks · What you ask goes through the maker’s server (hashlock.markets)

First: which AI do you use?

Pick your app and the steps appear below.

Works with Claude · about 5 min

You need a Hashlock Markets key (create it on the maker’s site) · Set it up once on claude.ai or the desktop app, then use it in chat · free accounts can add 1 · on Team/Enterprise an Owner adds it

  1. Sign up and create a Hashlock Markets key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the Hashlock Markets site ↗

  2. Open Claude’s Connectors page

    CustomizeConnectors

    CustomizeConnectors1+ Add2https://…3Add4
  3. Click “+ Add” → “Add custom connector” and fill in these 2 fields

    Copy each value into the field with the same name in Claude, then click Continue

    Name · NameHashlock Markets
    Remote MCP server URL · Addresshttps://hashlock.markets/mcp

    Under Request headers, add this name and value

    Header nameAuthorization
    ValueBearer <paste your key here>

    Paste the key only into the app’s field, never into a chat or to anyone

    Leave Authentication as Claude detected it, then click Add

  4. Turn it on in a chat

    +ConnectorsHashlock Markets

  5. Try it

    Use Hashlock Markets and tell me what you can do for me, then show me one thing

    ✓ If Claude says it is using Hashlock Markets or shows a Hashlock Markets tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

ChatGPT cannot connect Hashlock Markets yet

Hashlock Markets needs your own key to connect, but OpenAI’s help page only describes OAuth sign-in; there is no key option we could verify

What you can do instead

A · Use an app that can connect Hashlock Markets

  • You need a Hashlock Markets key (create it on the maker’s site) · Set it up once on claude.ai or the desktop app, then use it in chat · free accounts can add 1 · on Team/Enterprise an Owner adds it
  • You need a Hashlock Markets key (create it on the maker’s site)
  • You need a Hashlock Markets key (create it on the maker’s site)
  • You need a Hashlock Markets key (create it on the maker’s site)

B · Others in Crypto & blockchain that work with ChatGPT

Picked from the most used in the same category, only ones that connect by address with no key

Works with Claude Code · about 5 min

You need a Hashlock Markets key (create it on the maker’s site)

  1. Sign up and create a Hashlock Markets key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the Hashlock Markets site ↗

  2. Open Terminal

    Mac: press Command+Space and type Terminal · Windows: open PowerShell

  3. Paste this command and press Enter

    claude mcp add --transport http --scope user hashlock https://hashlock.markets/mcp --header 'Authorization: Bearer your-value'

    Replace “your-value” with your key before pressing Enter

    Paste the key only into the app’s field, never into a chat or to anyone

  4. Type /mcp in Claude Code

    You should see Hashlock Markets listed as connected

  5. Try it

    Use Hashlock Markets and tell me what you can do for me, then show me one thing

    ✓ If Claude Code says it is using Hashlock Markets or shows a Hashlock Markets tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with Cursor · about 5 min

You need a Hashlock Markets key (create it on the maker’s site)

  1. Sign up and create a Hashlock Markets key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the Hashlock Markets site ↗

  2. Click this button to open Cursor

    Open in Cursor

    Cursor asks you to confirm; click Install

  3. Fill in your key

    In the Hashlock Markets settings, Authorization is empty; add your key and save

    Paste the key only into the app’s field, never into a chat or to anyone

  4. Open the AI chat in Cursor in Agent mode

  5. Try it

    Use Hashlock Markets and tell me what you can do for me, then show me one thing

    ✓ If Cursor says it is using Hashlock Markets or shows a Hashlock Markets tool in the answer, you are connected

Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with VS Code · about 5 min

You need a Hashlock Markets key (create it on the maker’s site)

  1. Sign up and create a Hashlock Markets key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the Hashlock Markets site ↗

  2. Click this button to open VS Code

    Open in VS Code

    VS Code asks you to confirm; click Install

  3. Fill in your key

    In the Hashlock Markets settings, Authorization is empty; add your key and save

    Paste the key only into the app’s field, never into a chat or to anyone

  4. Open the AI chat in VS Code in Agent mode

  5. Try it

    Use Hashlock Markets and tell me what you can do for me, then show me one thing

    ✓ If VS Code says it is using Hashlock Markets or shows a Hashlock Markets tool in the answer, you are connected

Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.

See every app that uses MCP →

Address for apps that connect over the web

Addresshttps://hashlock.markets/mcp

JSON settings are under “For developers” below

Stuck? Ask people who use Hashlock Markets💬 Discussion →
For developers: Terminal commands and JSON settings

Over the web

Claude Code

claude mcp add --transport http --scope user hashlock https://hashlock.markets/mcp --header 'Authorization: Bearer your-value'

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "hashlock": {
      "url": "https://hashlock.markets/mcp",
      "headers": {
        "Authorization": "Bearer your-value"
      }
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "hashlock": {
      "type": "http",
      "url": "https://hashlock.markets/mcp",
      "headers": {
        "Authorization": "Bearer your-value"
      }
    }
  }
}

Installed on your computer

Claude Code

claude mcp add --scope user hashlock --env HASHLOCK_EVM_KEY=your-value --env HASHLOCK_BANKR_API_KEY=your-value --env HASHLOCK_TRON_KEY=your-value --env HASHLOCK_BTC_KEY=your-value --env HASHLOCK_SOLANA_KEY=your-value --env HASHLOCK_TOKEN=your-value --env HASHLOCK_API_URL=your-value --env HASHLOCK_EVM_RPC=your-value --env HASHLOCK_TRON_HOST=your-value --env HASHLOCK_TRON_API_KEY=your-value --env HASHLOCK_SOLANA_RPC=your-value --env HASHLOCK_BTC_ESPLORA=your-value -- npx -y @hashlock-tech/mcp

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "hashlock": {
      "command": "npx",
      "args": [
        "-y",
        "@hashlock-tech/mcp"
      ],
      "env": {
        "HASHLOCK_EVM_KEY": "your-value",
        "HASHLOCK_BANKR_API_KEY": "your-value",
        "HASHLOCK_TRON_KEY": "your-value",
        "HASHLOCK_BTC_KEY": "your-value",
        "HASHLOCK_SOLANA_KEY": "your-value",
        "HASHLOCK_TOKEN": "your-value",
        "HASHLOCK_API_URL": "your-value",
        "HASHLOCK_EVM_RPC": "your-value",
        "HASHLOCK_TRON_HOST": "your-value",
        "HASHLOCK_TRON_API_KEY": "your-value",
        "HASHLOCK_SOLANA_RPC": "your-value",
        "HASHLOCK_BTC_ESPLORA": "your-value"
      }
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "hashlock": {
      "command": "npx",
      "args": [
        "-y",
        "@hashlock-tech/mcp"
      ],
      "env": {
        "HASHLOCK_EVM_KEY": "your-value",
        "HASHLOCK_BANKR_API_KEY": "your-value",
        "HASHLOCK_TRON_KEY": "your-value",
        "HASHLOCK_BTC_KEY": "your-value",
        "HASHLOCK_SOLANA_KEY": "your-value",
        "HASHLOCK_TOKEN": "your-value",
        "HASHLOCK_API_URL": "your-value",
        "HASHLOCK_EVM_RPC": "your-value",
        "HASHLOCK_TRON_HOST": "your-value",
        "HASHLOCK_TRON_API_KEY": "your-value",
        "HASHLOCK_SOLANA_RPC": "your-value",
        "HASHLOCK_BTC_ESPLORA": "your-value"
      }
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "hashlock": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@hashlock-tech/mcp"
      ],
      "env": {
        "HASHLOCK_EVM_KEY": "your-value",
        "HASHLOCK_BANKR_API_KEY": "your-value",
        "HASHLOCK_TRON_KEY": "your-value",
        "HASHLOCK_BTC_KEY": "your-value",
        "HASHLOCK_SOLANA_KEY": "your-value",
        "HASHLOCK_TOKEN": "your-value",
        "HASHLOCK_API_URL": "your-value",
        "HASHLOCK_EVM_RPC": "your-value",
        "HASHLOCK_TRON_HOST": "your-value",
        "HASHLOCK_TRON_API_KEY": "your-value",
        "HASHLOCK_SOLANA_RPC": "your-value",
        "HASHLOCK_BTC_ESPLORA": "your-value"
      }
    }
  }
}

Values you fill in

  • HASHLOCK_EVM_KEY secret env
    EVM private key (0x, 32-byte) for autonomous SIWE login + EVM settlement — use a dedicated key
  • HASHLOCK_BANKR_API_KEY secret env
    Bankr API key, instead of HASHLOCK_EVM_KEY: the EVM wallet is the Bankr wallet, Bankr signs and sends
  • HASHLOCK_TRON_KEY secret env
    TRON private key (64-hex) for autonomous login + TRON settlement
  • HASHLOCK_BTC_KEY secret env
    Bitcoin WIF for autonomous BIP-322 login + BTC HTLC claims
  • HASHLOCK_SOLANA_KEY secret env
    Solana secret key (base58, 32- or 64-byte) for autonomous login + Solana HTLC settlement
  • HASHLOCK_TOKEN secret env
    A ready JWT (alternative to a key)
  • HASHLOCK_API_URL required env
    Hashlock Markets REST API base (required), e.g. https://hashlock.markets/api
  • HASHLOCK_EVM_RPC env
    EVM RPC the agent submits fund/claim through
  • HASHLOCK_TRON_HOST env
    TRON full host
  • HASHLOCK_TRON_API_KEY secret env
    TronGrid API key (TronGrid throttles requests without one)
  • HASHLOCK_SOLANA_RPC env
    Solana RPC the agent reads the counterparty's escrow through before funding
  • HASHLOCK_BTC_ESPLORA env
    Esplora the agent reads the counterparty's Bitcoin escrow through (default: mempool.space for the network)
  • Authorization secret HTTP header
    Optional: "Bearer hk_live_…" API key from https://hashlock.markets/developers. Without it, MCP clients sign in through OAuth.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

At a glance

Downloads per weeki
881/wk
Connection
Computer or cloud
Transport
stdio, streamable-http
Latest versioni
1.12.1
Published to registryi
Nov 10, 2026
Code last changedi
Nov 11, 2026
Maker
Hashlock-Tech
Packages
npm: @hashlock-tech/mcp
Registry status
Active

Which apps can use it

Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.

Connect over the internet in

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast

Run on your computer in

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

All apps, with pros and cons →

Related guides

What it can do

The server asks you to sign in before it lists its tools.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 12, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account Hashlock-Tech, which owns the repo

  • ✓ Pass

    Still maintained

    Code last changed yesterday

  • ✓ Pass

    Has a licence

    Uses MIT

  • ✓ Pass

    Endpoint responds

    Responded in 50 ms (HTTP 401)

  • ✓ Pass

    Sign-in with OAuth

    Declares OAuth sign-in, so your AI app can take you to log in

  • … Not checked yet

    No hidden instructions in tool descriptions

    Not checked yet; we read the tool list when we check the endpoint

Discussion

Ask, share a tip or report that it does not work. Sorted by what people marked helpful.

No posts yet. Be the first to ask or share.

Posts here are written by users, not the PopNx team.

Sign in with Google to post

User reviews

No reviews yet

Sign in with Google to write a review

Compared with others in Crypto & blockchaini

  • More stars than 0% of the other 1659 servers in this category
  • Published to the registry more recently than 95% of the other 1659 servers in this category
  • Basic checks equal to or better than 100% of the other 1659 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Hashlock Markets safe?

It passed 5 of 5 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: Authorization, HASHLOCK_EVM_KEY, HASHLOCK_BANKR_API_KEY, HASHLOCK_TRON_KEY, HASHLOCK_BTC_KEY, HASHLOCK_SOLANA_KEY, HASHLOCK_TOKEN, HASHLOCK_API_URL, HASHLOCK_TRON_API_KEY

Does it run on my computer or in the cloud?

Either way works: install it on your computer or connect to the cloud version.

Is it still maintained?

The GitHub repo last changed yesterday, and the latest version (1.12.1) reached the registry 2 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT Business and above.

What can I use instead?

In the same category: Solana MCP by Vybe, Oracle3 prediction-market arbitrage checks, Polymarket Paper Trader

Others in the same category

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Solana MCP by Vybe

Solana MCP developer toolkit: wallets, trades, markets, PnL, transfers, onchain, swaps & API tools.

by vybenetworkGrowing★ 2.6K Stars for the whole repoUpdated 6 months ago

Runs in the cloud

Polymarket Paper Trader

Polymarket paper trading for AI agents: $10k paper money, real order books, official fees.

by agent-nextGrowing↓ 226/wk★ 504Updated 27 days ago

Runs on your computer

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

@hashlock-tech/mcp

Hashlock Markets — the settlement layer for the agent economy, as MCP tools. Non-custodial cross-chain OTC: sealed RFQ + price negotiation + HTLC atomic settlement — both legs settle or both refund; no bridge, no custodian, no counterparty risk. BTC ↔ EVM / TRON / Solana.

Live on mainnet: Bitcoin, Ethereum, Base, Robinhood Chain, TRON, Solana. Use a dedicated key with only the funds you intend to trade.

📖 Documentation: docs.hashlock.markets — concepts, quickstart, guides and the API reference. For agents: llms.txt (index), llms-full.txt (everything in one file), any page as Markdown by adding .md, and a docs-search MCP server at https://docs.hashlock.markets/mcp.

What is this?

The canonical Model Context Protocol server for Hashlock Markets. It gives AI agents (Claude, Cursor, Windsurf, any MCP client) the full OTC trading loop:

  1. Browse the asset registry and the public RFQ board
  2. Post a public RFQ or a private fixed-price order (shareable link)
  3. Respond to requests with a price; negotiate (counter / accept / decline) in the deal thread
  4. Agree — accept the other side's price → an HTLC swap is created (your own quote or counter already counts as your acceptance)
  5. Track settlement — who funded, timelocks, tx hashes — and manage receive/refund addresses

Settlement signing (funding and claiming the HTLCs) stays with your own wallet — the server never holds keys or funds. The swap secret is generated locally on your machine and only its sha256 hashlock is sent; retrieve it with get_deal_secret when it's time to claim.

Two ways to run

  • Local (stdio) — the npm package below. You run it on your machine with your own keys; it can settle autonomously (SIWE login + on-chain signing with HASHLOCK_*_KEY). Full trust in yourself.
  • Remote (hosted, Streamable HTTP) — a public URL (https://hashlock.markets/mcp) anyone can add from Claude / ChatGPT / any MCP client; one-click OAuth, no install. Multi-tenant, so it is strictly non-custodial: settlement returns unsigned transactions you sign with your own wallet, and the server never holds keys or your swap preimage. See Remote (hosted) below.

Install

HASHLOCK_API_URL=https://hashlock.markets/api npx -y @hashlock-tech/mcp

Minimal config (read-only — browse assets and the RFQ board, no key needed):

{

"mcpServers": { "hashlock": { "command": "npx", "args": ["-y", "@hashlock-tech/mcp"], "env": { "HASHLOCK_API_URL": "https://hashlock.markets/api" } } } }

To trade, add the agent's own key(s) — local stdio via npx (Claude Desktop / Cursor / Windsurf mcpServers config):

{

"mcpServers": { "hashlock": { "command": "npx", "args": ["-y", "@hashlock-tech/mcp"], "env": { "HASHLOCK_API_URL": "https://hashlock.markets/api", "HASHLOCK_EVM_KEY": "0x ", "HASHLOCK_TRON_KEY": " ", "HASHLOCK_BTC_KEY": " ", "HASHLOCK_SOLANA_KEY": " " } } } }

Auth — autonomous, per chain

The agent owns its key(s); the server does the login itself (nonce → sign → JWT, refreshed on expiry). The first configured key (EVM → TRON → BTC → Solana) mints the session; each key also signs settlement on its chain.

Env varChainLogin
HASHLOCK_EVM_KEYEVMSIWE personal_sign
HASHLOCK_TRON_KEYTRONsignMessageV2
HASHLOCK_BTC_KEYBitcoinBIP-322
HASHLOCK_SOLANA_KEYSolanaed25519 signMessage
HASHLOCK_TOKEN—a ready JWT (alternative to a key)

HASHLOCK_SOLANA_KEY is base58 — the 64-byte export a wallet gives you, or a bare 32-byte seed. It mints the session when it is the only key set, and otherwise sits behind the others in the order above. Either way it proves ownership of the wallet (a signed, nonce-bearing message to /me/link-solana) the first time the agent posts, quotes, accepts or calls whoami, because an order whose give leg is Solana is refused without it — and because it is what puts the agent in the feed for a private order aimed at that wallet. If the account is already linked to a different Solana wallet, that link is left alone; nothing else is blocked, and whoami.solanaLink says so. Solana is also the one chain whose transactions this package does not build: the escrow's ADDRESS is a hash of the agreed terms, so the server composes each one and the agent signs the bytes it is handed. Set the agent's Solana address — whoami returns it as localSigners.addresses.solana — as its settlement address with set_settlement_address before funding.

With none set, read-only tools (list_assets, list_open_rfqs, get_rfq) still work. Use a dedicated key with only the funds you intend to trade.

Required: HASHLOCK_API_URL — the API base, e.g. https://hashlock.markets/api; there is no default. Other env: HASHLOCK_APP_URL (share links; default derived), HASHLOCK_EVM_RPC (default a public Ethereum mainnet RPC; another EVM chain takes HASHLOCK_EVM_RPC_ , e.g. HASHLOCK_EVM_RPC_BASE), HASHLOCK_TRON_HOST (default TronGrid mainnet), HASHLOCK_TRON_API_KEY (a TronGrid API key — TronGrid throttles requests without one), HASHLOCK_SOLANA_RPC (default Solana mainnet-beta; devnet for a testnet API) and HASHLOCK_BTC_ESPLORA (default mempool.space for the API's Bitcoin network) — where the agent reads the counterparty's escrow itself, HASHLOCK_SECRETS_PATH (default ~/.hashlock/mcp-secrets.json, mode 0600).

Remote (hosted)

The same server also runs as a remote MCP over Streamable HTTP so anyone can connect by URL — no install. This is the multi-tenant, non-custodial surface: browse, RFQ, negotiate, and get unsigned fund/claim/refund transactions you sign with your own wallet (there is no autonomous key-in-env signing and no server-side secret storage here — you supply your own hashlock and keep your own preimage).

Connect from a client: add the server URL. Nothing else — the client discovers that it needs authorization, sends you to Hashlock to sign in and approve, and receives its own key:

URL: https://hashlock.markets/mcp

Approving takes a signature from your wallet — a signed-in session alone grants nothing. The grant then appears under Developers as an ordinary API key: it expires after 90 days, you are told in Telegram (when linked) whenever one is created, and it can be revoked there at any time. Clients that do not speak OAuth can still send a key they created themselves as Authorization: Bearer hk_….

Agents, with no browser: an agent that holds a wallet key mints its own hk_ key — GET https://hashlock.markets/api/v1/keys/nonce, sign Hashlock Markets — create an API key. plus Address: and Nonce: lines (optionally Key name: and Scopes:), and POST /api/v1/keys with { rail, address, message, signature }. The key belongs to the account that wallet signs in to, created on first use. A wallet-only account holds one key — signing again replaces it, which is also how a lost key is recovered; sign up at /developers with email, Google or Telegram to hold up to 10. See /api/v1/docs.

How the OAuth flow works

Standard OAuth 2.1, so any compliant MCP client drives it unattended:

StepEndpoint
Unauthorized call names its metadata401 + WWW-Authenticate: … resource_metadata=… (RFC 9728)
Client reads the resource + server metadata/.well-known/oauth-protected-resource, /.well-known/oauth-authorization-server (RFC 8414)
Client registers itselfPOST /oauth/register (RFC 7591)
You sign in and approve with a wallet signature, in the browser/oauth/authorize
Client redeems the code for a keyPOST /oauth/token — PKCE S256 required (RFC 7636)

Codes are single-use and expire in 60 seconds; redirect URIs are allowlisted, with loopback permitted per RFC 8252. The issued token IS the API key, so a grant is revocable from the same list as every other key.

Which chains you can give on. An order that GIVES an asset needs a wallet you proved on that chain, and a key starts with only the address its owner signed in with — whoami lists both. To add another, call wallet_proof_message for the exact text, sign it with that wallet (EVM personal_sign · TRON signMessageV2 · Solana signMessage · Bitcoin BIP-322) and pass it to prove_wallet. A proof widens what you can trade and nothing else: it never becomes the account's payout address, which only a wallet session can set, and remove_wallet_proof takes it back.

Run the hosted service yourself:

docker build -t hashlock-mcp-http .

docker run -p 8080:8080 -e HASHLOCK_V1_URL=https://api.hashlock.markets/v1 hashlock-mcp-http

or, from source:

pnpm build && HASHLOCK_V1_URL=https://api.hashlock.markets/v1 PORT=8080 pnpm start:http

Env: HASHLOCK_V1_URL (developer-API base, default https://api.hashlock.markets/v1) · PORT (default 8080). Put it behind your reverse proxy at /mcp; GET /health is a liveness probe.

Tools (17)

ToolWhat it does
list_assetsAsset registry (SYMBOL@chain refs, decimals)
list_open_rfqsPublic RFQ board, filterable
get_rfqOne RFQ / private order
create_rfqPost a public RFQ or private fixed-price order
cancel_rfqCancel your own request
respond_to_rfqRespond with a price → opens a deal thread
negotiatemessage / propose / accept_proposal / accept / reject — accepting names the price you read, and is refused if it moved; your own quote or counter counts as your acceptance, so you accept only the other side's price; accept_proposal takes their counter and agrees the deal in one step
my_rfqs, my_dealsYour requests and deal threads
deal_statusThread + negotiation history + HTLC swap state
set_settlement_addressYour receive/refund address per chain
get_deal_secretThe locally-stored swap preimage (gated on both legs funded)
reveal_claimReport an out-of-band claim (secret + tx) so the other leg settles
whoamiThe account you're authenticated as
`fund_leg`Autonomous: fund your side of a swap on-chain with the agent's own key (EVM/TRON/BTC/Solana)
`claim_leg`Autonomous: claim your receive leg with the preimage (reveals the secret on-chain)
`refund_leg`Autonomous: take your funded leg back once its timelock has passed and nobody claimed it

Amounts are human decimal strings ("0.5"); prices are the total quote-asset amount, not per-unit. Errors return a structured envelope { error: { code, is_retryable, recovery_hint } } agents can branch on.

Fully autonomous loop

With a key set for each chain a swap touches, an agent can run end to end with no human: create_rfq/respond_to_rfq → negotiate (accept) → set_settlement_address (both chains) → fund_leg → claim_leg. Funding/claiming is signed locally with the agent's keys; the swap secret is generated + stored locally and only its hashlock leaves the machine. Use a dedicated key with only the funds you intend to trade.

The agent never signs, funds or reveals a secret on the API's word alone:

  • The deal as agreed. A request the agent creates (taker)

Only the beginning is shown; read the rest in the repo