{"openapi":"3.1.0","info":{"title":"Unicode","version":"0.1.0","description":"Inspect Unicode code points and look up characters by name, block or script over a Unicode Character Database subset. Handles algorithmic CJK, Tangut and Hangul names.","x-guidance":"Inspect Unicode code points and look up characters by name, block or script over a Unicode Character Database subset. Handles algorithmic CJK, Tangut and Hangul names. Each operation is an HTTP POST to its /v1/<operation> path with a JSON request body (see each operation's requestBody schema) and returns a JSON response. Endpoints are paid per successful call via x402 or MPP (USDC on Base); an unpaid request returns 402 with payment metadata in the WWW-Authenticate header.","contact":{"email":"hello@openverbs.com"}},"x-discovery":{"ownershipProofs":["0xb1401a71756f51464a9962db12f1eb3e9522490cd20010b06d00cf7b7770acfd5f79721f9dfdf2643f8cecd29af3bde9ec133941a386042b32d9886053a70de61b","0xc1c1f11793e18a00fcb7072421f26e89fb75b6aa517fa84370564991f4b10efa024f6f57e4e67eefd20cf46cc01fc5a62d793fa8fbcda04f26c946a3433d73f91b","0x676b474af0ef9ed4809b5d12d2e789b36e52d56215b21f601d71f76620e36ec630347116a7b2b349a3c3681e5db0fbfa76c4169a676b6d6f27864d0e5017284a1c","0xc2ab96522515ed9e9bc4f1a241b774bd48df42e951ddbf7f6aa8fc76f5a96a20421703e1ec402ce7eb1e4eabea3b6e4e4129cf39d56ea91cf4fcf38561fc94fc1c"]},"servers":[{"url":"https://unicode.openverbs.com"}],"paths":{"/health":{"get":{"summary":"Health check","security":[],"responses":{"200":{"description":"Healthy","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"service":{"type":"string"},"version":{"type":"string"}}}}}}}}},"/v1/inspect":{"post":{"summary":"Inspect a code point","description":"Resolve a single code point (given as 'char' or 'codepoint') to its name, general category, block, script and plane. Provide exactly one of the two inputs. Paid endpoint (x402 + MPP). Price: $0.002000 USDC per successful payment.","tags":["inspect unicode character","unicode code point lookup","unicode character info","code point inspector","unicode category lookup"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"codepoint":{"description":"Code point as 'U+1F600', '1F600', '0x1F600' or a decimal number. Provide this OR 'char'.","oneOf":[{"type":"string"},{"type":"number"}]},"char":{"type":"string","description":"A single Unicode character. Provide this OR 'codepoint'."}},"additionalProperties":false},"example":{"char":"€"}}}},"responses":{"200":{"description":"`{ codepoint, codepointDecimal, char, name, assigned, category: { code, name }, block, script, plane }`.","content":{"application/json":{"schema":{"type":"object","description":"`{ codepoint, codepointDecimal, char, name, assigned, category: { code, name }, block, script, plane }`."}}}},"400":{"description":"Invalid request; no payment is attempted"},"402":{"description":"Payment required; x402/MPP metadata returned in headers"},"502":{"description":"Upstream provider error after payment verification"}},"x-payment-info":{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Resolve a single code point (given as 'char' or 'codepoint') to its name, general category, block, script and plane. Provide exactly one of the two inputs.","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.002000"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"evm","intent":"charge","network":"8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"tempo","intent":"charge","network":"4217","currency":"0x20c000000000000000000000b9537d11c60e8b50","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}}],"network":"4217","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","offers":[{"amount":"2000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Resolve a single code point (given as 'char' or 'codepoint') to its name, general category, block, script and plane. Provide exactly one of the two inputs.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Resolve a single code point (given as 'char' or 'codepoint') to its name, general category, block, script and plane. Provide exactly one of the two inputs.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}},"/v1/name":{"post":{"summary":"Look up character by name","description":"Reverse lookup: resolve a Unicode character name (e.g. 'SNOWMAN', 'CJK UNIFIED IDEOGRAPH-4E2D', 'HANGUL SYLLABLE GA') to its code point. Loose whitespace/case matching. An unknown name is a successful `found:false`. Paid endpoint (x402 + MPP). Price: $0.002000 USDC per successful payment.","tags":["unicode name lookup","character name to codepoint","find unicode by name","unicode character search","resolve character name"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Unicode character name to look up."}},"required":["name"],"additionalProperties":false}}}},"responses":{"200":{"description":"`{ query, found, codepoint, codepointDecimal, char, name }`.","content":{"application/json":{"schema":{"type":"object","description":"`{ query, found, codepoint, codepointDecimal, char, name }`."}}}},"400":{"description":"Invalid request; no payment is attempted"},"402":{"description":"Payment required; x402/MPP metadata returned in headers"},"502":{"description":"Upstream provider error after payment verification"}},"x-payment-info":{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Reverse lookup: resolve a Unicode character name (e.g. 'SNOWMAN', 'CJK UNIFIED IDEOGRAPH-4E2D', 'HANGUL SYLLABLE GA') to its code point. Loose whitespace/case matching. An unknown name is a successful `found:false`.","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.002000"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"evm","intent":"charge","network":"8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"tempo","intent":"charge","network":"4217","currency":"0x20c000000000000000000000b9537d11c60e8b50","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}}],"network":"4217","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","offers":[{"amount":"2000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Reverse lookup: resolve a Unicode character name (e.g. 'SNOWMAN', 'CJK UNIFIED IDEOGRAPH-4E2D', 'HANGUL SYLLABLE GA') to its code point. Loose whitespace/case matching. An unknown name is a successful `found:false`.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Reverse lookup: resolve a Unicode character name (e.g. 'SNOWMAN', 'CJK UNIFIED IDEOGRAPH-4E2D', 'HANGUL SYLLABLE GA') to its code point. Loose whitespace/case matching. An unknown name is a successful `found:false`.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}},"/v1/block":{"post":{"summary":"Look up a Unicode block","description":"Resolve a Unicode block name (loose matching) to its range, size, count of assigned characters and a small sample. An unknown block is a successful `found:false`. This is a Unicode Character Database block — not a blockchain block. Paid endpoint (x402 + MPP). Price: $0.002000 USDC per successful payment.","tags":["unicode block","character block","unicode block range","code point block","unicode character range"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"block":{"type":"string","description":"Unicode block name, e.g. 'Basic Latin' or 'Emoticons'."}},"required":["block"],"additionalProperties":false}}}},"responses":{"200":{"description":"`{ query, found, name, start, end, size, assignedCount, sample }`.","content":{"application/json":{"schema":{"type":"object","description":"`{ query, found, name, start, end, size, assignedCount, sample }`."}}}},"400":{"description":"Invalid request; no payment is attempted"},"402":{"description":"Payment required; x402/MPP metadata returned in headers"},"502":{"description":"Upstream provider error after payment verification"}},"x-payment-info":{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Resolve a Unicode block name (loose matching) to its range, size, count of assigned characters and a small sample. An unknown block is a successful `found:false`. This is a Unicode Character Database block — not a blockchain block.","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.002000"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"evm","intent":"charge","network":"8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"tempo","intent":"charge","network":"4217","currency":"0x20c000000000000000000000b9537d11c60e8b50","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}}],"network":"4217","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","offers":[{"amount":"2000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Resolve a Unicode block name (loose matching) to its range, size, count of assigned characters and a small sample. An unknown block is a successful `found:false`. This is a Unicode Character Database block — not a blockchain block.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Resolve a Unicode block name (loose matching) to its range, size, count of assigned characters and a small sample. An unknown block is a successful `found:false`. This is a Unicode Character Database block — not a blockchain block.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}},"/v1/script":{"post":{"summary":"Look up a Unicode script","description":"Resolve a Unicode script name (loose matching) to its code point ranges, total size and a small sample. An unknown script is a successful `found:false`. Paid endpoint (x402 + MPP). Price: $0.002000 USDC per successful payment.","tags":["unicode script lookup","character script ranges","script code point lookup","unicode writing system","find script characters"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"script":{"type":"string","description":"Unicode script name, e.g. 'Latin', 'Cyrillic' or 'Han'."}},"required":["script"],"additionalProperties":false}}}},"responses":{"200":{"description":"`{ query, found, name, ranges, size, sample }`.","content":{"application/json":{"schema":{"type":"object","description":"`{ query, found, name, ranges, size, sample }`."}}}},"400":{"description":"Invalid request; no payment is attempted"},"402":{"description":"Payment required; x402/MPP metadata returned in headers"},"502":{"description":"Upstream provider error after payment verification"}},"x-payment-info":{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Resolve a Unicode script name (loose matching) to its code point ranges, total size and a small sample. An unknown script is a successful `found:false`.","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.002000"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"evm","intent":"charge","network":"8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"tempo","intent":"charge","network":"4217","currency":"0x20c000000000000000000000b9537d11c60e8b50","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}}],"network":"4217","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","offers":[{"amount":"2000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Resolve a Unicode script name (loose matching) to its code point ranges, total size and a small sample. An unknown script is a successful `found:false`.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Resolve a Unicode script name (loose matching) to its code point ranges, total size and a small sample. An unknown script is a successful `found:false`.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}}},"x-service-info":{"categories":["text"],"docs":{"homepage":"https://unicode.openverbs.com","apiReference":"https://unicode.openverbs.com/openapi.json"}}}