@cryptyx/tool-schemas
v0.1.1
Published
OpenAI function-calling and Anthropic tool-use schemas for the CRYPTYX x402 API. Drop-in tool definitions for any GPT- or Claude-based agent that needs institutional-grade crypto conviction, walk-forward-validated signals, and evidence-graded trigger eval
Maintainers
Readme
@cryptyx/tool-schemas
Drop-in OpenAI function-calling and Anthropic tool-use schemas for the CRYPTYX x402 API. Wire an LLM to institutional-grade crypto conviction, walk-forward-validated signals, and evidence-graded triggers with 15 pre-defined tools.
Pairs with @cryptyx/x402-client for execution.
npm install @cryptyx/tool-schemas @cryptyx/x402-clientOpenAI
import OpenAI from 'openai';
import { openaiTools } from '@cryptyx/tool-schemas/openai';
import { Cryptyx } from '@cryptyx/x402-client';
const openai = new OpenAI();
const cx = new Cryptyx({ wallet: process.env.WALLET_PRIVATE_KEY! });
const completion = await openai.chat.completions.create({
model: 'gpt-4o',
messages: [{ role: 'user', content: 'Should I buy BTC right now?' }],
tools: openaiTools(),
tool_choice: 'auto',
});
// Dispatch tool calls to CRYPTYX
for (const call of completion.choices[0].message.tool_calls ?? []) {
const args = JSON.parse(call.function.arguments);
const result = call.function.name === 'get_trigger_preset'
? await cx.api.triggers.preset(args)
: /* dispatch to the corresponding cx.api.* method by name */ null;
console.log(call.function.name, result);
}Anthropic
import Anthropic from '@anthropic-ai/sdk';
import { anthropicTools } from '@cryptyx/tool-schemas/anthropic';
import { Cryptyx } from '@cryptyx/x402-client';
const anthropic = new Anthropic();
const cx = new Cryptyx({ wallet: process.env.WALLET_PRIVATE_KEY! });
const message = await anthropic.messages.create({
model: 'claude-sonnet-4-6',
max_tokens: 4096,
messages: [{ role: 'user', content: 'What triggers are firing on BTC?' }],
tools: anthropicTools(),
});
for (const block of message.content) {
if (block.type === 'tool_use') {
const args = block.input as Record<string, unknown>;
// dispatch to cx.api.* by block.name — same pattern as OpenAI
}
}Tool catalog
15 tools covering the canonical agent workflow — grounding → signals → asset drilldown → institutional triggers → trade ideas.
Grounding (call first, $0.01 each):
get_agent_context— one-shot state snapshotget_market_brief— LLM-ready market summary
Signal discovery ($0.01):
get_signal_catalog— full 152-signal registryget_top_signals— top 10 by 7d ICget_signal_explanation— factor breakdown for one (signal, asset, day)
Per-asset drilldown ($0.05):
get_asset_thesis— Claude-narrated conviction + evidenceget_asset_asymmetry— cross-class positioning panelsget_asset_active_signals— every currently-firing signal on asset
Market pulse ($0.05):
get_market_pulse_conviction— top/bottom composite leaderboard
Institutional triggers ($0.05, $0.25 for custom):
get_trigger_preset— 5 curated institutional presetsget_trigger_z_score— single-metric z-score thresholdget_trigger_z_differential— cross-window differential (generalized crossover)evaluate_custom_trigger— arbitrary predicate definition
Trade ideas + NL ($0.10, $0.25):
get_trade_ideas— ranked starter packintelligence_query— natural-language router
Custom framework
If you're not using OpenAI or Anthropic, import the raw tool definitions and format for your target:
import { TOOLS, getTool } from '@cryptyx/tool-schemas';
// TOOLS: CryptyxTool[] — full array
// getTool('get_trigger_preset'): CryptyxTool | undefined
// Each tool has:
// { name, description, parameters, method, path, priceUsd }License
MIT.
