Skip to main content
Glama
PulseBet

pulse-verity

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PULSE_API_KEYYesAPI key for Pulse Verity Index API. Obtain from https://thepulse.markets/developers

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_index_priceA

Get a current signed crypto index price from /api/index/v1/price. Returns symbol, price, optional priceText, at, grade, signature, kid and sig. Preserve priceText exactly for verify_print. Optional tier, confidence, dispersionBps, interval, sources, engine and cadence describe the observation. Pass the whole print including v2 to verify_print; require recordValid=true before trusting quality fields. Coverage changes: use list_index_assets to discover assets. A stale or unavailable response means no current price, never zero. Without a developer key, only limited daily BTC, ETH and SOL samples are served.

get_index_batchA

Read up to 100 crypto symbols in one /api/index/v1/batch request. Returns observations with individually signed successful rows and per-symbol errors for unavailable rows. Your plan may allow fewer symbols per request: get_account_status shows batchMaxSymbols, and a larger request is refused with code TOO_MANY_SYMBOLS, batchLimit and requested, so split it. Verify each successful row with verify_print and require recordValid=true before trusting its quality fields. Surrounding batch metadata is unsigned. No automatic retries. Needs a developer key (PULSE_API_KEY) or the hosted server.

list_index_assetsA

Read one bounded page from /api/index/v1/verity/catalog. Discover crypto symbols and their current coverage status and measured cadence. Catalog rows, prices and metadata are unsigned: use get_index_price or get_index_batch for signed receipts. Availability changes; total is a catalog count, not a count of fresh prices. No automatic pagination. Needs a developer key (PULSE_API_KEY) or the hosted server.

get_recorded_printA

Get the recorded signed index print nearest a requested time from /api/index/v1/print. Accepts ISO-8601 or epoch milliseconds. Check deltaMs: it is the distance between your requested time and the sampled print. Sampling and retention are bounded; a recorded print need not equal a separate live read. Preserve the whole print, including priceText, kid and v2, for verify_print. Require recordValid=true before trusting quality fields. Request-envelope fields such as deltaMs are unsigned. Needs a developer key (PULSE_API_KEY) or the hosted server.

get_settlement_printA

The earlier name of get_recorded_print, kept so existing integrations keep working; prefer get_recorded_print. Same input, output and behaviour. Get the recorded signed index print nearest a requested time from /api/index/v1/print. Accepts ISO-8601 or epoch milliseconds. Check deltaMs: it is the distance between your requested time and the sampled print. Sampling and retention are bounded; a recorded print need not equal a separate live read. Preserve the whole print, including priceText, kid and v2, for verify_print. Require recordValid=true before trusting quality fields. Request-envelope fields such as deltaMs are unsigned. Needs a developer key (PULSE_API_KEY) or the hosted server.

get_index_historyA

Read one page of index history for a crypto symbol from /api/index/v1/history: candles (open, high, low, close per interval), summary metrics, pagination and, for dataset=verified, verifiedObservations. dataset=verified (default) is built from prints Pulse calculated and signed live; dataset=reconstructed is rebuilt history, not signed at the historical time, served at interval 1h or 1d. Candles, metrics and surrounding metadata are unsigned. Each verifiedObservations row carries symbol, price (the exact signed text), at, grade, signature and kid; pass those fields to verify_print to check a row, which authenticates its price fields only (history rows carry no v2 block). A null kid can be passed as it is or left out; a row whose signature or grade is null cannot be verified. The account's plan sets how far back history reaches: when the request started earlier, rangeClamped is true and from is where the page begins. limit (1 to 1000, default 200) bounds the rows on one page. For dataset=verified at interval 1h or 1d it is at most 250: a page there can count hours, and each hour can carry up to four signed prints (open, high, low and close), so verifiedObservations can hold up to four rows per hour. For the next page pass pagination.nextCursor as cursor with the same symbol, dataset and interval. from and to are ISO-8601 times; the default window is the 30 days before to. Pass assetId, written as the server issues it (native::, or contract:: such as contract:eip155:1:0x...), when a symbol identifies more than one asset. Needs a developer key (PULSE_API_KEY) or the hosted server.

get_account_statusA

Read this developer key's Pulse Verity plan and usage from /api/index/v1/account: plan, used (calls counted this UTC month), limit, remaining, resetAt, perMinute, batchMaxSymbols, capacityAction and upgradeUrl (the plans page). The monthly allowance is account-wide: every key and connected app on the account shares it; perMinute applies to each key. This call does not count toward the allowance. The key itself is never returned. Needs a developer key (PULSE_API_KEY) or the hosted server.

verify_printA

Verify a signed print locally with ECDSA P-256/SHA-256. Legacy valid authenticates only the v1 canonical price fields. Pass the whole print including v2 to authenticate its complete live, archive or daily-close index record; agents using sources, confidence, interval or cadence must require recordValid=true. Live records sign 18 fields; archive records sign 13 without freshness ages, and daily-close records add signed assetId and closeDay. v2.signedFields lists exactly what is authenticated. kind selects the format and is not signed. Added non-null freshness ages invalidate archived verification. verificationScope is full-record only when both signatures and all required fields match, price-only for a valid v1 print without v2, or invalid otherwise. metadataSigned equals recordValid. deltaMs and surrounding metadata remain unsigned. Public keys come from /api/index/v1/pubkey, cached five minutes with refresh at most every 30 seconds. Each supplied kid selects only its exact published key; v1 prints without kid (or with kid null, as some history rows carry) use the bounded ring. No API key is sent to the key endpoint. Invalid verification can mean alteration or a key no longer published. Works without a developer key.

submit_verity_feedbackA

Submit a reproducible Verity API or MCP bug, missing capability or data-quality report for human review. Requires a developer key (PULSE_API_KEY) or the hosted server, and an enabled feedback service. Include the failed call's requestId when available. Do not send secrets, personal information or conversation transcripts. Saves a private report; does not change prices, start trades or open or merge a PR. Returns a tracking receipt only after storage succeeds.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.3/5.0

Scored across 9 tools

Disambiguation4/5

Most tools target clearly distinct operations: live price, batch read, catalog discovery, history, account status, verification, and feedback. The only overlap is get_settlement_print, which is explicitly a deprecated alias of get_recorded_print with identical input/output; the description mitigates confusion by recommending the newer name.

Naming Consistency5/5

All names follow a consistent snake_case verb_noun pattern (get_, list_, verify_, submit_) applied to clear domain nouns. The mix of verbs reflects real semantic differences rather than inconsistency.

Tool Count5/5

Nine tools is well-scoped for a signed price/index API. Each tool maps to a distinct endpoint or capability, with no padding.

Completeness4/5

Core lifecycle is covered: live price, batch, catalog, history, recorded prints, account status, and local signature verification. Minor gaps exist, e.g. no standalone public-key fetch or asset-metadata lookup, but these are handled internally by verify_print.

Maintenance

ActivityActive
ResponsivenessUnresponsive