Changelog

Shipped-work log for Hashlock Markets. Every entry reflects code that landed on main and is running in production. No roadmap promises.

AI SEO layer and search-engine presence

Full LLM and search-engine discoverability layer shipped. Hashlock Markets is now indexable by Google, Bing, and every major AI crawler, with structured data that reliably disambiguates the brand from the cryptographic hashlock primitive.

  • JSON-LD @graph on every page: Organization, WebSite, SoftwareApplication, and FAQPage (8 questions) as a single bound graph
  • robots.txt explicitly welcoming 20 AI crawlers: GPTBot, ClaudeBot, PerplexityBot, Google-Extended, CCBot, Applebot-Extended, Bytespider, MistralAI-User, and more
  • /about and /docs public pages with semantic H1/H2/H3 hierarchy, brand disambiguation, and MCP / Vercel AI SDK / LangChain quick-start snippets
  • Dynamic edge-rendered OpenGraph image at /opengraph-image for social link previews (Twitter, Discord, Slack, LinkedIn)
  • sitemap.xml with four public URLs; metadata enriched with metadataBase, OpenGraph, Twitter card, canonical, keywords, and viewport
  • Google Search Console and Bing Webmaster Tools ownership verified via meta tag; sitemap submitted to both

MCP and AI-agent distribution

First-class AI-agent integrations went live across three ecosystems, making Hashlock Markets reachable from Claude Desktop, Cursor, Windsurf, VS Code, ChatGPT, and any Vercel AI SDK or LangChain agent.

  • Remote MCP server shipped over Streamable HTTP transport
  • llms.txt and llms-full.txt published for LLM agent discovery, with explicit Hashlock vs cryptographic-primitive disambiguation
  • /ai-plugin.json published for OpenAI / ChatGPT plugin discovery
  • Hashlock documentation for AI agents: tools, intents, validation flow, commit semantics
  • Domain finalized to hashlock.markets; supported chains restricted to Ethereum, Bitcoin, and SUI across all surfaces
  • Privacy policy shipped for MCP directory submission

GraphQL performance pass and full SUI integration

A major round-trip reduction on the frontend and end-to-end SUI support, plus a handful of chat and socket reliability fixes.

  • HTTP GraphQL operation batching: per-page request count dropped from roughly 30 to 2–3
  • Full SUI chain integration: provider, explorer, schema, and wallet options
  • WebSocket browser traffic routed through nginx instead of direct container ports (fixes staging TLS path)
  • Chat call silent-fail fix, dealing-code format fix, and pageSize ceiling enforcement
  • Duplicate (dashboard)/page.tsx removed so pnpm build no longer conflicts with app/page.tsx

Ethereum mainnet deployment

Production HTLC contracts are live on Ethereum mainnet. Both the base HTLC and ERC20Fee wrapper are deployed, verified on Etherscan, and enforcing the configured protocol fee.

  • HTLC core contract deployed to Ethereum mainnet with fee enforcement
  • ERC20Fee wrapper deployed and verified on Etherscan
  • Default contract addresses updated across chain-watcher and web runtime config

Cross-asset ERC20/BTC settlement

First end-to-end cross-chain atomic settlement between an ERC20 token on Ethereum and native BTC on Bitcoin. The HTLC preimage now auto-claims on the counterparty leg with no manual entry.

  • Cross-asset ERC20/BTC settlement shipped; multi-chain token registry added
  • Auto-send BTC via browser wallet extensions (Xverse, Leather)
  • Auto-calculate BTC satoshi amount from trade data; auto-fill BTC pubkeys from user_wallets
  • ERC20Fee MIN_AMOUNT lowered to accommodate 6-decimal tokens (USDT, USDC)
  • Preimage stored in DB so auto-claim no longer requires a human to paste the secret
  • ERC20 gas estimation + allowance verification hardened before the settlement transaction is sent

Chat-centric trading UI polish

A focused week on the chat-centric terminal: bilateral call signaling, blind-auction identity masking, and a set of RFQ socket reliability fixes that made the auction flow instant.

  • Bilateral call:ended signaling — both counterparties transition to read-only on END CHAT
  • Instant auction close on trade confirm via an rfq:closed socket event
  • Blind Auction: comprehensive counterparty identity masking with creature pseudonyms
  • Auto-purge non-trade conversations on END CHAT so the sidebar stays clean
  • Glassmorphic amber-tinted toasts with backdrop blur; HUD header restyled to Bloomberg amber
  • Selective-service deploy script (deploy-staging.sh) that eliminates the gateway race on rebuilds

Blind auction and trade cycle popup

Blind-auction RFQs landed as a first-class toggle, and the trade cycle popup moved to the bottom tray so the full RFQ-to-settlement lifecycle is visible in one view.

  • Blind Auction — isBlind toggle on RFQ with counterparty identity masking
  • Trade cycle popup from bottom tray; completed trades filter through to the blotter
  • Sepolia, Bitcoin Signet, and Sui Testnet added as selectable wallet chains
  • RFQ watch defaults to ON for users without a saved preference
  • Dealing-code copy works on plain HTTP via a clipboard-API fallback
  • Market-price gate: RFQs without a live price are blocked; Binance REST fallback when WS drops
Changelog | Hashlock Markets