Hashlock Markets — the settlement layer for the agent economy, as MCP tools. Non-custodial cross-chain OTC: sealed RFQ + price negotiation + HTLC
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 custodian). BTC ↔ EVM / TRON. TESTNETS. Exposed over MCP by the hashlock mcp mcp server, that capability becomes something an assistant can invoke while it works, not something you go and do afterwards.
The canonical Model Context Protocol server for Hashlock Markets. It gives AI agents (Claude, Cursor, Windsurf, any MCP client) the full OTC trading loop:
Everything the assistant can do here goes through one of these:
list_assets — Asset registry (SYMBOL@chain refs, decimals)list_open_rfqs — Public RFQ board, filterableget_rfq — One RFQ / private ordercreate_rfq — Post a public RFQ or private fixed-price ordercancel_rfq — Cancel your own requestrespond_to_rfq — Respond with a price → opens a deal threadnegotiate — message / propose / accept_proposal / accept / rejectdeal_status — Thread + negotiation history + HTLC swap stateset_settlement_address — Your receive/refund address per chainget_deal_secret — The locally-stored swap preimage (gated on both legs funded)reveal_claim — Report an out-of-band claim (secret + tx) so the other leg settleswhoami — The account you're authenticated asInstallation goes through your MCP client rather than a global install: point it at pnpm on npm and it is fetched when the client starts. The copy-paste blocks for Claude Desktop, Claude Code and Cursor are further down this page.
You will need 8 environment variables: HASHLOCK_EVM_KEY, HASHLOCK_TRON_KEY, HASHLOCK_BTC_KEY, HASHLOCK_TOKEN, HASHLOCK_API_URL, HASHLOCK_APP_URL, HASHLOCK_TRON_HOST, HASHLOCK_SECRETS_PATH. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.
Among the developer tooling options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. Hashlock MCP's toolset — list_assets, list_open_rfqs, get_rfq and 9 more — is a fair guide to whether it matches your workflow. It is maintained by hashlock-tech; worth a glance at recent repository activity before you build anything load-bearing on it.
This entry was verified against Hashlock MCP's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.
| Tool | What it does |
|---|---|
| list_assets | Asset registry (SYMBOL@chain refs, decimals) |
| list_open_rfqs | Public RFQ board, filterable |
| get_rfq | One RFQ / private order |
| create_rfq | Post a public RFQ or private fixed-price order |
| cancel_rfq | Cancel your own request |
| respond_to_rfq | Respond with a price → opens a deal thread |
| negotiate | message / propose / accept_proposal / accept / reject |
| deal_status | Thread + negotiation history + HTLC swap state |
| set_settlement_address | Your receive/refund address per chain |
| get_deal_secret | The locally-stored swap preimage (gated on both legs funded) |
| reveal_claim | Report an out-of-band claim (secret + tx) so the other leg settles |
| whoami | The account you're authenticated as |
{
"mcpServers": {
"hashlock": {
"command": "npx",
"args": ["-y", "@hashlock-tech/mcp"],
"env": {
"HASHLOCK_EVM_KEY": "0x<agent EVM key (TESTNET!)>",
"HASHLOCK_TRON_KEY": "<agent TRON key, 64-hex (optional)>",
"HASHLOCK_BTC_KEY": "<agent BTC WIF, signet (optional)>"
}
}
}
}Configuration as documented by the project. Restart the client after saving.
| Variable | Description | Required |
|---|---|---|
| HASHLOCK_EVM_KEY | Credential the server authenticates with. | Yes |
| HASHLOCK_TRON_KEY | Credential the server authenticates with. | Yes |
| HASHLOCK_BTC_KEY | Credential the server authenticates with. | Yes |
| HASHLOCK_TOKEN | Credential the server authenticates with. | Yes |
| HASHLOCK_API_URL | Endpoint or connection string the server talks to. | Yes |
| HASHLOCK_APP_URL | Endpoint or connection string the server talks to. | Yes |
| HASHLOCK_TRON_HOST | Endpoint or connection string the server talks to. | Optional |
| HASHLOCK_SECRETS_PATH | Credential the server authenticates with. | Yes |
Kill hallucinated APIs — version-accurate, up-to-date library documentation injected straight into context.
Microsoft's official browser automation server — drive a real browser through the accessibility tree, no screenshots needed.
GitHub's official server — repos, issues, pull requests, Actions and code security, straight from your assistant.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Local repository surgery — status, diffs, commits, branches and history for any repo on disk.
Timezone sanity for AI — current time anywhere and correct conversions, without the model doing date math.