{"ok":true,"handshake_id":"hs_098047b62a7d69069fd85383","state":"DELIVERED","terminal":false,"record_source":"durable","source_of_state":"the broker’s own record (no job attached yet, or the chain was unreadable)","candidate":{"address":"io.github.zvmzaretsky/utility-belt","choice":{"chosen":"belt.fabtally.com","class":"mcp.digest","filtered":[{"seller":"mcp.clean.tools","why":"it serves only algorithm sha256"},{"seller":"doi-api.sendlabs.de","why":"it serves only algorithm sha256"}],"input":{"algorithm":"keccak256","text":"taifoon onboarding canary 2026-09-30T12:37Z"},"ranked":[{"median_latency_ms":109,"probes":{"median_latency_ms":159,"ok":12,"tried":12},"ready":20,"seller":"belt.fabtally.com","success":0.96,"tried":20}],"read_at":"2026-09-30T12:38:52.453Z","rule":"SELLER_CHOICE_v3","why":"belt.fabtally.com (20/20 ready, probes 12/12 answered, score 0.96, median 109 ms, probe median 159 ms) is the only seller of mcp.digest that takes this input (2 left out by the input)"},"class":"mcp.digest","endpoint":"https://belt.fabtally.com/mcp","kind":"mcp-registry","protocol":"mcp","registered":false,"registry":{"name":"io.github.zvmzaretsky/utility-belt","record":"https://registry.modelcontextprotocol.io/v0.1/servers/io.github.zvmzaretsky%2Futility-belt/versions/latest","version":"1.0.0"}},"hirer":"0xd0820b59aeacd5a080975ed30129d14a3c7fcfc7","task":"mcp.digest: return the keccak256 digest (hex) of the UTF-8 text \"taifoon onboarding canary 2026-09-30T12:37Z\".","required_skills":["mcp.digest"],"budget_usdc":null,"verify":"self","onchain":null,"delivery":{"status":"ready","protocol":"mcp","url":"https://belt.fabtally.com/mcp","at":"2026-09-30T12:38:54.996Z","latency_ms":108,"tool":"hash","tools":["convert","text","hash","encode","id","regex","timezone","cron","rrule","currency","diff","jsonschema","datemath"],"request":{"args":{"algorithm":"keccak256","text":"taifoon onboarding canary 2026-09-30T12:37Z"},"registry":{"name":"io.github.zvmzaretsky/utility-belt","version":"1.0.0"},"tool":"hash"},"reply_head":null,"reply_head_withheld":"the reply goes to the key that opened this handshake or the operator token (GET with X-API-Key); everyone reads its keccak digest and length","reply_chars":248,"reply_digest":"0x8c5d0bf0356dc4338fba10a023a40926ef12b5e58bd7ae12031f27606d57883e","x402":null,"reason":null,"seal":{"how":"attach the funded job (POST /v1/handshake/{id} { jobId, chain }); then the seller seals this digest with submit(jobId, evidenceDigest)","evidenceDigest":"0x8c5d0bf0356dc4338fba10a023a40926ef12b5e58bd7ae12031f27606d57883e"}},"events":[{"at":"2026-09-30T12:38:53.943Z","note":"offer intent recorded; nothing is on chain yet","state":"OPEN"},{"at":"2026-09-30T12:38:55.361Z","note":"the provider answered in its own protocol; the reply and its digest are held on this handshake (108 ms)","state":"DELIVERED"}],"next":{"how":"MCP initialize, tools/list and one tools/call at the endpoint the server published in its own registry record (dispatch:true does this for you)","protocol":"mcp","step":"DELIVER","url":"https://belt.fabtally.com/mcp"},"created_at":"2026-09-30T12:38:53.943Z","updated_at":"2026-09-30T12:38:55.361Z"}