{"openapi":"3.1.0","info":{"title":"Relic Forge API","version":"1.3.9","description":"A deterministic CC0 game icon generator for RPG inventory-item SVGs, one at a time or in a five-icon pack; QR SVGs; BTC funding snapshots; a Pennsylvania public business-registration lookup; and Base USDC pay-to transfer-activity reports. Calls cost 0.002–1 USDC on Base via x402 v2, depending on endpoint.","contact":{"name":"Small Signals Studio","url":"https://relic-forge-api.bakongi.chatgpt.site","email":"svgready-assistant@atomicmail.ai"},"x-guidance":"Use this API to generate deterministic game relic SVGs or a five-icon pack, encode public text as a QR SVG, retrieve raw public BTC perpetual funding snapshots, search candidate rows in Pennsylvania's public business-registration dataset, or summarize public Base USDC transfers for up to 20 addresses. Read /llms.txt and the operation schema first. Successful calls cost the exact per-operation amount in OpenAPI on Base via x402 v2; an unpaid request returns HTTP 402. Never put passwords, secrets, private URLs, access tokens, or personal data in QR requests. Funding rates are unnormalized venue data with different intervals (Hyperliquid is hourly), not trading advice. A dataset match is not current legal-status or good-standing verification. Pay-to reports count token transfers only; they do not identify people, prove purchases, or attribute activity to a specific endpoint. Do not call if the intended use is unclear or high impact.","externalDocs":{"description":"Agent usage, request examples, payment details, and output limits","url":"https://relic-forge-api.bakongi.chatgpt.site/llms.txt"}},"servers":[{"url":"https://relic-forge-api.bakongi.chatgpt.site"}],"paths":{"/api/relic":{"get":{"operationId":"generateRelic","summary":"Game icon generator: create a CC0 RPG inventory-item SVG ($0.002 USDC per successful call)","description":"Create a game icon as a CC0 RPG inventory item for loot drops, browser games, and prototypes. Returns a self-contained, deterministic 256×256 vector SVG from a short item name or seed, one of five silhouettes, and one of four palettes. Repeating the same arguments returns the same CC0 1.0 artifact; no image model or external generation API is used.","parameters":[{"name":"seed","in":"query","required":true,"schema":{"type":"string","maxLength":64},"description":"Short item name or seed."},{"name":"shape","in":"query","required":false,"schema":{"type":"string","enum":["orb","key","seed","mask","blade"]}},{"name":"palette","in":"query","required":false,"schema":{"type":"string","enum":["tide","ember","moss","dusk"]}}],"responses":{"200":{"description":"Settled payment and generated artwork","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"seed":{"type":"string"},"shape":{"type":"string"},"palette":{"type":"string"},"svg":{"type":"string"},"license":{"type":"string"}},"required":["id","seed","shape","palette","svg","license"]}}}},"400":{"description":"Invalid request"},"402":{"description":"x402 v2 payment requirements"}}}},"/api/relic-pack":{"get":{"operationId":"generateRelicPack","summary":"Generate five coordinated CC0 RPG inventory icons ($0.01 USDC per pack)","description":"Returns exactly five self-contained, deterministic 256×256 SVG icons (orb, key, seed, mask, and blade) in one palette. Repeating the same seed and palette returns the same pack. Each icon is dedicated to CC0 1.0. This fixed-size pack is one paid request; no external generation service is used.","x-price":"$0.01","parameters":[{"name":"seed","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":64},"description":"Short world, campaign, or item-set name; not personal or secret data."},{"name":"palette","in":"query","required":false,"schema":{"type":"string","enum":["tide","ember","moss","dusk"],"default":"tide"}}],"responses":{"200":{"description":"Settled payment and five generated SVG assets","content":{"application/json":{"schema":{"type":"object","properties":{"schemaVersion":{"type":"integer","const":1},"id":{"type":"string"},"seed":{"type":"string"},"palette":{"type":"string"},"license":{"type":"string","const":"CC0-1.0"},"assets":{"type":"array","minItems":5,"maxItems":5,"items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"shape":{"type":"string","enum":["orb","key","seed","mask","blade"]},"svg":{"type":"string"},"license":{"type":"string","const":"CC0-1.0"}},"required":["id","name","shape","svg","license"]}},"settlement":{"type":"object","properties":{"network":{"type":"string"},"transaction":{"type":"string"}},"required":["network","transaction"]}},"required":["schemaVersion","id","seed","palette","license","assets","settlement"]}}}},"400":{"description":"Invalid seed or palette"},"402":{"description":"x402 v2 payment requirements for the five-icon pack"}}}},"/api/qr":{"post":{"operationId":"generateQrSvg","summary":"Create a scannable QR code SVG from text or a URL ($0.002 USDC per successful call)","description":"Returns scalable, print-ready vector SVG, not a PNG. Encodes public text as a standards-compliant QR Code Model 2 image using UTF-8. Defaults to medium error correction, a four-module quiet zone, and a 256-pixel square viewBox. Do not submit secrets, passwords, private URLs, or access tokens.","x-price":"$0.002","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"text":{"type":"string","minLength":1,"maxLength":1024},"ecl":{"type":"string","enum":["L","M","Q","H"],"default":"M"}},"required":["text"]}}}},"responses":{"200":{"description":"Settled payment and generated QR SVG","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"format":{"type":"string","const":"svg"},"errorCorrection":{"type":"string","enum":["L","M","Q","H"]},"svg":{"type":"string"},"generator":{"type":"string"}},"required":["id","format","errorCorrection","svg","generator"]}}}},"400":{"description":"Invalid or oversized QR content"},"402":{"description":"x402 v2 payment requirements"}}}},"/api/funding":{"get":{"operationId":"getFundingSnapshot","summary":"BTC funding rates data feed from Binance, Bybit, OKX, and Hyperliquid ($0.002 USDC per call)","description":"BTC funding rates data feed with raw rate, next funding time, optional mark/index/oracle prices, funding interval, and source observation time: BTCUSDT linear perpetuals on Binance and Bybit, BTC-USDT-SWAP on OKX, and BTC perpetual on Hyperliquid. Hyperliquid is coin BTC (not BTCUSDT); its next funding time is estimated from its documented hourly schedule. Fields remain venue-specific; rates may use different settlement intervals and are not normalized or a trading recommendation. If any venue is unavailable, the request fails without settling payment.","parameters":[{"name":"symbol","in":"query","required":false,"schema":{"type":"string","pattern":"^BTCUSDT$","default":"BTCUSDT"},"description":"Returns BTCUSDT on Binance/Bybit, BTC-USDT-SWAP on OKX, and Hyperliquid coin BTC (not a USDT-quoted contract)."}],"responses":{"200":{"description":"All four public venue snapshots retrieved and payment settled","content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string"},"fetchedAt":{"type":"string","format":"date-time"},"venues":{"type":"array","items":{"type":"object","properties":{"venue":{"type":"string","enum":["binance","bybit","okx","hyperliquid"]},"instrument":{"type":"string"},"fundingRate":{"type":"string"},"fundingTime":{"type":"string"},"markPrice":{"type":"string"},"indexPrice":{"type":"string"},"oraclePrice":{"type":"string"},"sourceMethod":{"type":"string","enum":["GET","POST"]},"nextFundingTime":{"type":"string"},"fundingIntervalHours":{"type":["number","null"]},"observedAt":{"type":"string","format":"date-time"},"sourceUrl":{"type":"string","format":"uri"}},"required":["venue","fundingRate","nextFundingTime","observedAt","sourceUrl"]}},"settlement":{"type":"object","properties":{"network":{"type":"string"},"transaction":{"type":"string"}},"required":["network","transaction"]}},"required":["symbol","fetchedAt","venues","settlement"]}}}},"400":{"description":"Unsupported symbol"},"402":{"description":"x402 v2 payment requirements"},"503":{"description":"A public exchange endpoint is unavailable; no payment is settled"}}}},"/api/pa-business-search":{"get":{"operationId":"searchPennsylvaniaBusinessRows","summary":"Search candidate rows in Pennsylvania's public business-registration dataset ($0.002 USDC)","description":"Searches the Pennsylvania Department of State's published business-registration dataset by exact, prefix, or contains name match. Returns up to 10 public rows with business name, filing number, entity type, state, and county. The dataset refreshes periodically: a match is not evidence of current registration, good standing, ownership, licensing, sanctions, or authority to contract; no match is not evidence of non-registration. Search text is forwarded to the fixed data.pa.gov API; do not send personal or confidential data. If the source is unavailable, the request fails without settling payment.","x-price":"$0.002","parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":80},"description":"Business or entity name; do not send personal or confidential data."},{"name":"match","in":"query","required":false,"schema":{"type":"string","enum":["exact","prefix","contains"],"default":"prefix"},"description":"Name matching mode; result rows are candidates for manual review."}],"responses":{"200":{"description":"Public candidate rows returned and payment settled","content":{"application/json":{"schema":{"type":"object","properties":{"lookup_status":{"type":"string","enum":["candidate_rows_found","no_row_returned"]},"match_mode":{"type":"string"},"returned":{"type":"integer"},"checked_at":{"type":"string","format":"date-time"},"source":{"type":"string"},"source_url":{"type":"string","format":"uri"},"query_url":{"type":"string","format":"uri"},"records":{"type":"array","items":{"type":"object","properties":{"business_name":{"type":"string"},"filing_number":{"type":["string","null"]},"entity_type":{"type":["string","null"]},"state":{"type":["string","null"]},"county":{"type":["string","null"]}},"required":["business_name"]}},"interpretation":{"type":"string"},"settlement":{"type":"object","properties":{"network":{"type":"string"},"transaction":{"type":"string"}},"required":["network","transaction"]}},"required":["lookup_status","match_mode","returned","checked_at","source","source_url","records","interpretation","settlement"]}}}},"400":{"description":"Missing/invalid name or unsupported match mode"},"402":{"description":"x402 v2 payment requirements for 0.002 USDC on Base"},"503":{"description":"Pennsylvania public data source unavailable; no payment is settled"}}}},"/api/payto-audit":{"post":{"operationId":"summarizeBaseUsdcTransfers","summary":"Create a public Base USDC transfer-activity report for up to 20 addresses ($1 USDC)","description":"Fetches only public ERC-20 transfer records for the fixed Base USDC contract from Blockscout. Accepts 1–20 public EVM addresses and a 1–30 day UTC window. Returns per-address incoming transfer totals, distinct/repeating sender-address counts, weekly buckets, source links and explicit coverage status. It does not identify people, prove purchases, or attribute activity to an endpoint. The public explorer may limit historical pagination; incomplete coverage is labeled. Addresses are not stored by this handler. A successful report costs exactly 1 USDC on Base; if data retrieval fails, payment is not settled.","x-price":"$1.00","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"addresses":{"type":"array","minItems":1,"maxItems":20,"uniqueItems":true,"items":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"}},"days":{"type":"integer","minimum":1,"maximum":30,"default":30}},"required":["addresses"]},"example":{"addresses":["0x1111111111111111111111111111111111111111"],"days":30}}}},"responses":{"200":{"description":"Report generated and exact 1 USDC Base payment settled","content":{"application/json":{"schema":{"type":"object","properties":{"generated_at":{"type":"string","format":"date-time"},"window_start":{"type":"string","format":"date-time"},"window_end":{"type":"string","format":"date-time"},"source":{"type":"string"},"source_url":{"type":"string","format":"uri"},"page_limit_per_address":{"type":"integer"},"reports":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"explorer_url":{"type":"string","format":"uri"},"incoming_transfer_count":{"type":"integer"},"incoming_total_usdc":{"type":"string"},"distinct_sender_addresses":{"type":"integer"},"repeat_sender_addresses":{"type":"integer"},"transfers_from_repeat_senders":{"type":"integer"},"pages_read":{"type":"integer"},"coverage":{"type":"string","enum":["window_reached","no_more_pages","page_limit_reached"]},"weekly_buckets":{"type":"array","items":{"type":"object","properties":{"start":{"type":"string","format":"date-time"},"end":{"type":"string","format":"date-time"},"transfers":{"type":"integer"},"total_usdc":{"type":"string"}},"required":["start","end","transfers","total_usdc"]}},"required":["address","explorer_url","incoming_transfer_count","incoming_total_usdc","distinct_sender_addresses","repeat_sender_addresses","transfers_from_repeat_senders","pages_read","coverage","weekly_buckets"]}},"interpretation":{"type":"string"},"settlement":{"type":"object","properties":{"network":{"type":"string"},"transaction":{"type":"string"}},"required":["network","transaction"]}},"required":["generated_at","window_start","window_end","source","source_url","page_limit_per_address","reports","interpretation","settlement"]}}}}},"400":{"description":"Invalid address list, duplicate address, or days outside 1–30"},"402":{"description":"x402 v2 payment requirements for exactly 1 USDC on Base"},"503":{"description":"Blockscout source unavailable or malformed; no payment is settled"}}}}}}