{"x402Version":2,"name":"FabTally Utility Belt — deterministic micro-utilities for agents","description":"A bundle of fast, deterministic micro-utilities AI agents call constantly — timezone/DST, cron, iCal RRULE, unit & live currency conversion, safe regex, text diff, JSON-Schema validation, hashing/encoding/IDs, and business-day date math. Six utilities are FREE and unlimited; seven are $0.001/call via x402 (USDC on Base) or a prepaid credit key, each with a rate-limited free teaser. Stateless, no storage, sub-100ms, bad-input never charged. Also available as a standalone MCP server.","contact":"hello@fabtally.com","discovery":"https://belt.fabtally.com/agent/overview","resources":[{"resource":"https://belt.fabtally.com/v1/timezone","type":"http","method":"POST","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","amount":"1000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xccB5d25C698FdfdaA7B21d54088774cF512A90e3","resource":"https://belt.fabtally.com/v1/timezone","description":"Convert an instant between IANA time zones with historically-correct DST. Give a datetime (ISO 8601 or epoch) + from_zone + to_zone; get the converted datetime, UTC offsets, tz abbreviations, DST flags, and the offset difference. Deterministic, sub-100ms, no storage.","mimeType":"application/json","maxTimeoutSeconds":60}]},{"resource":"https://belt.fabtally.com/v1/cron","type":"http","method":"POST","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","amount":"1000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xccB5d25C698FdfdaA7B21d54088774cF512A90e3","resource":"https://belt.fabtally.com/v1/cron","description":"Parse a cron expression and return the next N run times plus a plain-English description. Give a 5- or 6-field cron `expression` (+ optional IANA `timezone`, `count`, `from`). Deterministic.","mimeType":"application/json","maxTimeoutSeconds":60}]},{"resource":"https://belt.fabtally.com/v1/rrule","type":"http","method":"POST","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","amount":"1000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xccB5d25C698FdfdaA7B21d54088774cF512A90e3","resource":"https://belt.fabtally.com/v1/rrule","description":"Expand an iCal RRULE recurrence into its next N occurrences. Give an `rrule` string (RFC 5545, e.g. FREQ=WEEKLY;BYDAY=MO,WE;COUNT=10) + optional `after`, `count`, `timezone`.","mimeType":"application/json","maxTimeoutSeconds":60}]},{"resource":"https://belt.fabtally.com/v1/currency","type":"http","method":"POST","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","amount":"1000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xccB5d25C698FdfdaA7B21d54088774cF512A90e3","resource":"https://belt.fabtally.com/v1/currency","description":"Live currency conversion at reference/mid-market rates from a keyless public central-bank feed (ECB), cached in-memory. Give `amount` + `from` + `to` ISO-4217 codes. Informational, not a dealable quote.","mimeType":"application/json","maxTimeoutSeconds":60}]},{"resource":"https://belt.fabtally.com/v1/diff","type":"http","method":"POST","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","amount":"1000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xccB5d25C698FdfdaA7B21d54088774cF512A90e3","resource":"https://belt.fabtally.com/v1/diff","description":"Text diff: a unified patch plus a structured op-list (add/remove/equal) and add/remove/hunk stats. Give `a` + `b` (+ optional `mode` lines|words|chars, `context`, labels). Deterministic.","mimeType":"application/json","maxTimeoutSeconds":60}]},{"resource":"https://belt.fabtally.com/v1/jsonschema","type":"http","method":"POST","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","amount":"1000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xccB5d25C698FdfdaA7B21d54088774cF512A90e3","resource":"https://belt.fabtally.com/v1/jsonschema","description":"Validate a value against a JSON Schema (draft 2020-12) and explain every error in plain English (which property, what was wrong, allowed values). Give `schema` + `data`.","mimeType":"application/json","maxTimeoutSeconds":60}]},{"resource":"https://belt.fabtally.com/v1/datemath","type":"http","method":"POST","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","amount":"1000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xccB5d25C698FdfdaA7B21d54088774cF512A90e3","resource":"https://belt.fabtally.com/v1/datemath","description":"Calendar date math: add/subtract an ISO-8601 duration, diff two datetimes into chosen units, or add/diff business days (configurable weekend + holiday list). Give `op` + the relevant fields.","mimeType":"application/json","maxTimeoutSeconds":60}]}],"lastUpdated":"2026-08-01T03:28:43.470Z"}