{"openapi":"3.1.0","info":{"title":"String Similarity & Fuzzy Name Matching","version":"0.1.0","description":"String similarity and fuzzy matching. Edit-distance and set metrics — Levenshtein, Damerau-Levenshtein, Hamming, Jaro-Winkler, Sørensen-Dice, Jaccard — plus phonetic encoders (Soundex, Metaphone, Double Metaphone) and phonetic comparison. Everything an agent needs for dedup, record linkage and name matching. Deterministic.","x-guidance":"String similarity and fuzzy matching. Edit-distance and set metrics — Levenshtein, Damerau-Levenshtein, Hamming, Jaro-Winkler, Sørensen-Dice, Jaccard — plus phonetic encoders (Soundex, Metaphone, Double Metaphone) and phonetic comparison. Everything an agent needs for dedup, record linkage and name matching. Deterministic. 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://similarity.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/levenshtein":{"post":{"summary":"Levenshtein distance","description":"Levenshtein edit distance (insertions, deletions, substitutions) between two strings, plus a normalized similarity in [0,1]. Operates on Unicode code points. Paid endpoint (x402 + MPP). Price: $0.004000 USDC per successful payment.","tags":["levenshtein distance","edit distance api","string edit distance","compare two strings","fuzzy string match","normalized text similarity"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"a":{"type":"string","maxLength":20000,"description":"First string."},"b":{"type":"string","maxLength":20000,"description":"Second string."}},"required":["a","b"],"additionalProperties":false}}}},"responses":{"200":{"description":"`{ distance, similarity }`.","content":{"application/json":{"schema":{"type":"object","description":"`{ distance, similarity }`."}}}},"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":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Levenshtein edit distance (insertions, deletions, substitutions) between two strings, plus a normalized similarity in [0,1]. Operates on Unicode code points.","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.004000"},"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":"4000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Levenshtein edit distance (insertions, deletions, substitutions) between two strings, plus a normalized similarity in [0,1]. Operates on Unicode code points.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Levenshtein edit distance (insertions, deletions, substitutions) between two strings, plus a normalized similarity in [0,1]. Operates on Unicode code points.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}},"/v1/damerau":{"post":{"summary":"Damerau-Levenshtein distance","description":"Damerau-Levenshtein distance — like Levenshtein but also counts adjacent transpositions as a single edit — plus a normalized similarity in [0,1]. Paid endpoint (x402 + MPP). Price: $0.004000 USDC per successful payment.","tags":["damerau levenshtein distance","transposition edit distance","typo similarity api","adjacent swap distance","fuzzy typo matching","string edit distance with swaps"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"a":{"type":"string","maxLength":20000,"description":"First string."},"b":{"type":"string","maxLength":20000,"description":"Second string."}},"required":["a","b"],"additionalProperties":false}}}},"responses":{"200":{"description":"`{ distance, similarity }`.","content":{"application/json":{"schema":{"type":"object","description":"`{ distance, similarity }`."}}}},"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":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Damerau-Levenshtein distance — like Levenshtein but also counts adjacent transpositions as a single edit — plus a normalized similarity in [0,1].","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.004000"},"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":"4000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Damerau-Levenshtein distance — like Levenshtein but also counts adjacent transpositions as a single edit — plus a normalized similarity in [0,1].","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Damerau-Levenshtein distance — like Levenshtein but also counts adjacent transpositions as a single edit — plus a normalized similarity in [0,1].","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}},"/v1/hamming":{"post":{"summary":"Hamming distance","description":"Hamming distance — the number of positions at which two EQUAL-LENGTH strings differ — plus a normalized similarity. Strings of unequal length are a clean 400. Paid endpoint (x402 + MPP). Price: $0.004000 USDC per successful payment.","tags":["hamming distance","equal length string distance","character mismatch count","compare fixed length strings","binary string similarity","position difference metric"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"a":{"type":"string","maxLength":20000,"description":"First string."},"b":{"type":"string","maxLength":20000,"description":"Second string."}},"required":["a","b"],"additionalProperties":false}}}},"responses":{"200":{"description":"`{ distance, similarity }`.","content":{"application/json":{"schema":{"type":"object","description":"`{ distance, similarity }`."}}}},"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":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Hamming distance — the number of positions at which two EQUAL-LENGTH strings differ — plus a normalized similarity. Strings of unequal length are a clean 400.","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.004000"},"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":"4000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Hamming distance — the number of positions at which two EQUAL-LENGTH strings differ — plus a normalized similarity. Strings of unequal length are a clean 400.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Hamming distance — the number of positions at which two EQUAL-LENGTH strings differ — plus a normalized similarity. Strings of unequal length are a clean 400.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}},"/v1/jaro":{"post":{"summary":"Jaro & Jaro-Winkler similarity","description":"Jaro similarity and the Jaro-Winkler variant (which boosts scores for a shared prefix), both in [0,1]. The prefix boost factor is configurable (default 0.1, max 0.25). Well suited to short strings like names. Paid endpoint (x402 + MPP). Price: $0.004000 USDC per successful payment.","tags":["jaro winkler similarity","jaro similarity api","name similarity score","short string matching","prefix boosted matching","fuzzy name comparison"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"a":{"type":"string","maxLength":20000,"description":"First string."},"b":{"type":"string","maxLength":20000,"description":"Second string."},"prefixScale":{"type":"number","minimum":0,"maximum":0.25,"description":"Jaro-Winkler prefix boost factor. Default 0.1."}},"required":["a","b"],"additionalProperties":false}}}},"responses":{"200":{"description":"`{ jaro, jaroWinkler }`.","content":{"application/json":{"schema":{"type":"object","description":"`{ jaro, jaroWinkler }`."}}}},"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":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Jaro similarity and the Jaro-Winkler variant (which boosts scores for a shared prefix), both in [0,1]. The prefix boost factor is configurable (default 0.1, max 0.25). Well suited to short strings like names.","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.004000"},"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":"4000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Jaro similarity and the Jaro-Winkler variant (which boosts scores for a shared prefix), both in [0,1]. The prefix boost factor is configurable (default 0.1, max 0.25). Well suited to short strings like names.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Jaro similarity and the Jaro-Winkler variant (which boosts scores for a shared prefix), both in [0,1]. The prefix boost factor is configurable (default 0.1, max 0.25). Well suited to short strings like names.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}},"/v1/dice":{"post":{"summary":"Sørensen-Dice coefficient","description":"Sørensen-Dice similarity coefficient in [0,1] over character bigrams — robust to word order and minor edits. Paid endpoint (x402 + MPP). Price: $0.004000 USDC per successful payment.","tags":["sorensen dice coefficient","dice similarity api","character bigram similarity","bigram text comparison","word order tolerant match","string overlap score"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"a":{"type":"string","maxLength":20000,"description":"First string."},"b":{"type":"string","maxLength":20000,"description":"Second string."}},"required":["a","b"],"additionalProperties":false}}}},"responses":{"200":{"description":"`{ coefficient }`.","content":{"application/json":{"schema":{"type":"object","description":"`{ coefficient }`."}}}},"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":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Sørensen-Dice similarity coefficient in [0,1] over character bigrams — robust to word order and minor edits.","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.004000"},"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":"4000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Sørensen-Dice similarity coefficient in [0,1] over character bigrams — robust to word order and minor edits.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Sørensen-Dice similarity coefficient in [0,1] over character bigrams — robust to word order and minor edits.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}},"/v1/jaccard":{"post":{"summary":"Jaccard index","description":"Jaccard similarity index in [0,1] — the size of the intersection over the union of the two strings' character-bigram sets. Paid endpoint (x402 + MPP). Price: $0.004000 USDC per successful payment.","tags":["jaccard index","jaccard similarity api","set overlap similarity","character bigram jaccard","intersection over union text","compare string sets"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"a":{"type":"string","maxLength":20000,"description":"First string."},"b":{"type":"string","maxLength":20000,"description":"Second string."}},"required":["a","b"],"additionalProperties":false}}}},"responses":{"200":{"description":"`{ coefficient }`.","content":{"application/json":{"schema":{"type":"object","description":"`{ coefficient }`."}}}},"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":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Jaccard similarity index in [0,1] — the size of the intersection over the union of the two strings' character-bigram sets.","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.004000"},"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":"4000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Jaccard similarity index in [0,1] — the size of the intersection over the union of the two strings' character-bigram sets.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Jaccard similarity index in [0,1] — the size of the intersection over the union of the two strings' character-bigram sets.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}},"/v1/soundex":{"post":{"summary":"Soundex","description":"Encode a word with the classic Soundex algorithm (letter + 3 digits) for phonetic matching of names. Paid endpoint (x402 + MPP). Price: $0.002000 USDC per successful payment.","tags":["soundex api","soundex encode name","phonetic name code","classic name matching","surname sound matching","english phonetic lookup"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"word":{"type":"string","minLength":1,"maxLength":256,"description":"The word to encode."}},"required":["word"],"additionalProperties":false}}}},"responses":{"200":{"description":"`{ word, code }`.","content":{"application/json":{"schema":{"type":"object","description":"`{ word, code }`."}}}},"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":"Encode a word with the classic Soundex algorithm (letter + 3 digits) for phonetic matching of names.","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":"Encode a word with the classic Soundex algorithm (letter + 3 digits) for phonetic matching of names.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Encode a word with the classic Soundex algorithm (letter + 3 digits) for phonetic matching of names.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}},"/v1/metaphone":{"post":{"summary":"Metaphone","description":"Encode a word with the Metaphone algorithm — more accurate than Soundex for English pronunciation. Paid endpoint (x402 + MPP). Price: $0.002000 USDC per successful payment.","tags":["metaphone api","metaphone encode word","english pronunciation code","phonetic search key","better soundex matching","name pronunciation matching"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"word":{"type":"string","minLength":1,"maxLength":256,"description":"The word to encode."}},"required":["word"],"additionalProperties":false}}}},"responses":{"200":{"description":"`{ word, code }`.","content":{"application/json":{"schema":{"type":"object","description":"`{ word, code }`."}}}},"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":"Encode a word with the Metaphone algorithm — more accurate than Soundex for English pronunciation.","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":"Encode a word with the Metaphone algorithm — more accurate than Soundex for English pronunciation.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Encode a word with the Metaphone algorithm — more accurate than Soundex for English pronunciation.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}},"/v1/double-metaphone":{"post":{"summary":"Double Metaphone","description":"Encode a word with Double Metaphone, returning a primary and a secondary code to capture alternate pronunciations (useful for non-English names). Paid endpoint (x402 + MPP). Price: $0.002000 USDC per successful payment.","tags":["double metaphone api","double metaphone encode","alternate pronunciation codes","non english name matching","primary secondary phonetic code","multilingual phonetic lookup"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"word":{"type":"string","minLength":1,"maxLength":256,"description":"The word to encode."}},"required":["word"],"additionalProperties":false}}}},"responses":{"200":{"description":"`{ word, primary, secondary }`.","content":{"application/json":{"schema":{"type":"object","description":"`{ word, primary, secondary }`."}}}},"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":"Encode a word with Double Metaphone, returning a primary and a secondary code to capture alternate pronunciations (useful for non-English names).","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":"Encode a word with Double Metaphone, returning a primary and a secondary code to capture alternate pronunciations (useful for non-English names).","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Encode a word with Double Metaphone, returning a primary and a secondary code to capture alternate pronunciations (useful for non-English names).","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}},"/v1/compare":{"post":{"summary":"Phonetic compare","description":"Report whether two tokens sound alike under a chosen algorithm (soundex, metaphone or double-metaphone; default double-metaphone). Returns each token's codes and a boolean match. Paid endpoint (x402 + MPP). Price: $0.002000 USDC per successful payment.","tags":["phonetic compare api","sounds alike names","compare name pronunciation","fuzzy phonetic match","soundex metaphone compare","name dedup by sound"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"a":{"type":"string","minLength":1,"maxLength":256,"description":"First token."},"b":{"type":"string","minLength":1,"maxLength":256,"description":"Second token."},"algorithm":{"type":"string","enum":["soundex","metaphone","double-metaphone"],"description":"Encoding to compare with. Default double-metaphone."}},"required":["a","b"],"additionalProperties":false}}}},"responses":{"200":{"description":"`{ a, b, algorithm, codesA, codesB, match }`.","content":{"application/json":{"schema":{"type":"object","description":"`{ a, b, algorithm, codesA, codesB, match }`."}}}},"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":"Report whether two tokens sound alike under a chosen algorithm (soundex, metaphone or double-metaphone; default double-metaphone). Returns each token's codes and a boolean match.","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":"Report whether two tokens sound alike under a chosen algorithm (soundex, metaphone or double-metaphone; default double-metaphone). Returns each token's codes and a boolean match.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Report whether two tokens sound alike under a chosen algorithm (soundex, metaphone or double-metaphone; default double-metaphone). Returns each token's codes and a boolean match.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}}},"x-service-info":{"categories":["text"],"docs":{"homepage":"https://similarity.openverbs.com","apiReference":"https://similarity.openverbs.com/openapi.json"}}}