pulse_verify_print

Pack: pulse-verity · Endpoint: https://gateway.pipeworx.io/pulse-verity/mcp

No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/pulse_verify_print for the schema, then POST the same URL with its arguments for the data.

Check whether a Pulse signed price print is authentic and unaltered. Pass a print back exactly as a Pulse tool returned it and this recomputes the ECDSA P-256 / SHA-256 signature over the canonical string, returning valid true or false plus the exact bytes it checked. The verification is computed here, not asked of Pulse, so Pulse cannot vouch for a print it never signed and an offline or compromised source cannot turn an invalid print into a valid one. Detects any alteration, including a single changed digit of price or a one-millisecond shift in the timestamp. Needs NO API key. Example: pulse_verify_print({ symbol: “BTC”, priceText: “76051.0676303142”, price: 76051.0676303142, at: “2026-09-16T23:39:30.524Z”, grade: “consensus”, signature: “wiD005d9…”, kid: “pvi-Sl40p5Gj2t_-JyKUhxyg” }).

Parameters

NameTypeRequiredDescription
symbolstringyesFrom the print, unchanged.
pricenumbernoFrom the print. Used only if priceText is absent.
priceTextstringnoThe price EXACTLY as Pulse served it. This is what was signed — prefer it always.
atstringyesFrom the print, unchanged. A 1ms difference invalidates the signature.
gradestringyesFrom the print: consensus, blended or indicative.
signaturestringyesBase64 signature from the print.
kidstringnoKey id from the print; selects which public key to check against.
sigstringnoScheme tag from the print (pulse-index-v1).

Example call

Arguments

{
  "symbol": "BTC",
  "price": 76153.41417523642,
  "priceText": "76153.41417523642",
  "at": "2026-09-16T23:46:02.683Z",
  "grade": "consensus",
  "signature": "VynRCj8QOezyoqIaV6d7gOpZ9DxrMiwXv4Mms+RkgbFbzuRJYbwdMhgHZdMTBSikSIdk7Ph7xVGPD9ovLrWDHA==",
  "kid": "pvi-Sl40p5Gj2t_-JyKUhxyg"
}

curl

curl -X POST https://gateway.pipeworx.io/pulse-verity/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"pulse_verify_print","arguments":{"symbol":"BTC","price":76153.41417523642,"priceText":"76153.41417523642","at":"2026-09-16T23:46:02.683Z","grade":"consensus","signature":"VynRCj8QOezyoqIaV6d7gOpZ9DxrMiwXv4Mms+RkgbFbzuRJYbwdMhgHZdMTBSikSIdk7Ph7xVGPD9ovLrWDHA==","kid":"pvi-Sl40p5Gj2t_-JyKUhxyg"}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('pulse_verify_print', {
  "symbol": "BTC",
  "price": 76153.41417523642,
  "priceText": "76153.41417523642",
  "at": "2026-09-16T23:46:02.683Z",
  "grade": "consensus",
  "signature": "VynRCj8QOezyoqIaV6d7gOpZ9DxrMiwXv4Mms+RkgbFbzuRJYbwdMhgHZdMTBSikSIdk7Ph7xVGPD9ovLrWDHA==",
  "kid": "pvi-Sl40p5Gj2t_-JyKUhxyg"
});

Connect

Add this to your MCP client config, or use one-click install buttons:

{
  "mcpServers": {
    "pulse-verity": {
      "url": "https://gateway.pipeworx.io/pulse-verity/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build September 18, 2026