{"name":"FabTally Utility Belt — deterministic micro-utilities for agents","version":"1.0.0","summary":"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.","operator":"Sunstone Soft","contact":"hello@fabtally.com","category":"Compute / developer utilities","terms":"Deterministic pure functions. No PII or request data stored; every call is computed in-memory and discarded. Outputs are informational; currency uses reference/mid-market rates (not a dealable quote).","pricing":{"paid":"$0.001","paidAtomicUsdc":"1000","freeUtilities":["convert","text","hash","encode","id","regex"],"freeTeaserDailyQuota":100},"mcp":{"transport":["stdio","streamable-http"],"http":"https://belt.fabtally.com/mcp","note":"Same utilities as MCP tools; paid tools relay the x402 challenge."},"payment":{"protocol":"x402","x402Version":2,"scheme":"exact","network":"eip155:8453","chainId":"eip155:8453","asset":"USDC","assetAddress":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xccB5d25C698FdfdaA7B21d54088774cF512A90e3","facilitator":"https://facilitator.daydreams.systems","creditRail":{"description":"Prepay by card and send an X-FabTally-Key: fabt_… header instead of x402.","buy":"https://fabtally.com/buy","balance":"GET https://fabtally.com/agent/v1/balance"}},"utilities":[{"key":"convert","tier":"free","method":"POST","url":"https://belt.fabtally.com/v1/convert","price":"free","priceAtomicUsdc":"0","description":"Unit conversion across length, mass, temperature, volume, data, time, area, speed, angle, pressure, energy.","example":{"value":100,"from":"c","to":"f"}},{"key":"text","tier":"free","method":"POST","url":"https://belt.fabtally.com/v1/text","price":"free","priceAtomicUsdc":"0","description":"slugify, case-convert (camel/pascal/snake/kebab/constant/dot/path/title/sentence/upper/lower) and {{template}} fill.","example":{"op":"slugify","text":"Héllo, World!"}},{"key":"hash","tier":"free","method":"POST","url":"https://belt.fabtally.com/v1/hash","price":"free","priceAtomicUsdc":"0","description":"sha256/sha512/sha384/sha1/md5/sha3-256/keccak256/ripemd160, optional HMAC, hex/base64 output.","example":{"algorithm":"sha256","text":"hello"}},{"key":"encode","tier":"free","method":"POST","url":"https://belt.fabtally.com/v1/encode","price":"free","priceAtomicUsdc":"0","description":"base64 / base64url / hex / url / html encode & decode.","example":{"op":"base64-encode","text":"hello"}},{"key":"id","tier":"free","method":"POST","url":"https://belt.fabtally.com/v1/id","price":"free","priceAtomicUsdc":"0","description":"Generate uuid v4/v7, ULID, nanoid, or random hex/base64url/int (count up to 1000).","example":{"kind":"uuidv7","count":2}},{"key":"regex","tier":"free","method":"POST","url":"https://belt.fabtally.com/v1/regex","price":"free","priceAtomicUsdc":"0","description":"test/match/extract/replace with catastrophic-backtracking protection (runs in a killable worker with a hard timeout).","example":{"pattern":"(\\d+)","flags":"g","input":"a12 b34","op":"extract"}},{"key":"timezone","tier":"paid","method":"POST","url":"https://belt.fabtally.com/v1/timezone","price":"$0.001","priceAtomicUsdc":"1000","free":"https://belt.fabtally.com/v1/timezone/free","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.","example":{"datetime":"2021-03-14T01:30:00","from_zone":"America/New_York","to_zone":"Europe/London"}},{"key":"cron","tier":"paid","method":"POST","url":"https://belt.fabtally.com/v1/cron","price":"$0.001","priceAtomicUsdc":"1000","free":"https://belt.fabtally.com/v1/cron/free","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.","example":{"expression":"0 9 * * 1-5","timezone":"UTC","count":5}},{"key":"rrule","tier":"paid","method":"POST","url":"https://belt.fabtally.com/v1/rrule","price":"$0.001","priceAtomicUsdc":"1000","free":"https://belt.fabtally.com/v1/rrule/free","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`.","example":{"rrule":"FREQ=WEEKLY;BYDAY=MO,WE;COUNT=10","count":5}},{"key":"currency","tier":"paid","method":"POST","url":"https://belt.fabtally.com/v1/currency","price":"$0.001","priceAtomicUsdc":"1000","free":"https://belt.fabtally.com/v1/currency/free","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.","example":{"amount":100,"from":"USD","to":"EUR"}},{"key":"diff","tier":"paid","method":"POST","url":"https://belt.fabtally.com/v1/diff","price":"$0.001","priceAtomicUsdc":"1000","free":"https://belt.fabtally.com/v1/diff/free","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.","example":{"a":"line1\nline2\n","b":"line1\nline2 changed\n"}},{"key":"jsonschema","tier":"paid","method":"POST","url":"https://belt.fabtally.com/v1/jsonschema","price":"$0.001","priceAtomicUsdc":"1000","free":"https://belt.fabtally.com/v1/jsonschema/free","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`.","example":{"schema":{"type":"object","required":["x"],"properties":{"x":{"type":"integer"}}},"data":{"x":"nope"}}},{"key":"datemath","tier":"paid","method":"POST","url":"https://belt.fabtally.com/v1/datemath","price":"$0.001","priceAtomicUsdc":"1000","free":"https://belt.fabtally.com/v1/datemath/free","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.","example":{"op":"business-add","date":"2026-07-31","days":3}}],"fetchedAt":"2026-08-01T03:29:16.026Z"}