{"ok":true,"handshake_id":"hs_3011b2d8abed42440ad45038","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:52Z"},"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:52:26.788Z","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:52Z\".","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:52:29.719Z","latency_ms":115,"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:52Z"},"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":"0x1592745cb3591d78d64bcafca490405bd071f38e0d5e88f2836b373effd208f5","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":"0x1592745cb3591d78d64bcafca490405bd071f38e0d5e88f2836b373effd208f5"}},"events":[{"at":"2026-09-30T12:52:28.384Z","note":"offer intent recorded; nothing is on chain yet","state":"OPEN"},{"at":"2026-09-30T12:52:30.646Z","note":"the provider answered in its own protocol; the reply and its digest are held on this handshake (115 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:52:28.384Z","updated_at":"2026-09-30T12:52:30.646Z"}