api.duoleads.com

https://api.duoleads.com/v1/num/words

Shares a payout wallet with 32 other endpoints — its adoption is attributed from that shared wallet's traffic, not earned exclusively.

Spell a number out in words in English, Dutch, German, French, Spanish, Italian, Portuguese, Polish, Russian, Turkish, Swedish or Japanese, in cardinal, currency or year form, and ordinal form in English, Dutch, German and French. Currency form applies the correct grammatical agreement and the right minor-unit name and count for the supplied ISO 4217 code. Handles negatives and values up to 10^15.

58
reliability

Reliability & health

Uptime and response time from our own unpaid probes, plus the reliability score built from them.

Uptime

100.0% avg
0% 50% 100% Tue 9 AMThu 8 AMSat 6 AMMon 2 PM

Response time

p50 8ms · p95 17ms
0ms 50ms 100ms Tue 9 AMThu 8 AMSat 6 AMMon 2 PM
Data table
Reliability history per time bucket over the last 7 days (hourly).
Bucket Uptime Probes Response time
9/29/2026, 9:00:00 AM 100% 1 6ms
9/29/2026, 10:00:00 AM 100% 1 7ms
9/29/2026, 12:00:00 PM 100% 1 7ms
9/29/2026, 2:00:00 PM 100% 1 7ms
9/29/2026, 4:00:00 PM 100% 1 7ms
9/29/2026, 7:00:00 PM 100% 1 7ms
9/29/2026, 9:00:00 PM 100% 1 8ms
9/29/2026, 11:00:00 PM 100% 1 11ms
9/30/2026, 1:00:00 AM 100% 1 9ms
9/30/2026, 3:00:00 AM 100% 1 11ms
9/30/2026, 5:00:00 AM 100% 1 11ms
9/30/2026, 7:00:00 AM 100% 1 7ms
9/30/2026, 9:00:00 AM 100% 1 8ms
9/30/2026, 11:00:00 AM 100% 1 8ms
9/30/2026, 1:00:00 PM 100% 1 9ms
9/30/2026, 3:00:00 PM 100% 1 8ms
9/30/2026, 5:00:00 PM 100% 1 10ms
9/30/2026, 7:00:00 PM 100% 1 7ms
9/30/2026, 9:00:00 PM 100% 1 9ms
9/30/2026, 11:00:00 PM 100% 1 8ms
10/1/2026, 1:00:00 AM 100% 1 16ms
10/1/2026, 2:00:00 AM 100% 1 9ms
10/1/2026, 4:00:00 AM 100% 1 7ms
10/1/2026, 6:00:00 AM 100% 1 8ms
10/1/2026, 8:00:00 AM 100% 1 10ms
10/1/2026, 10:00:00 AM 100% 1 16ms
10/1/2026, 12:00:00 PM 100% 1 8ms
10/1/2026, 2:00:00 PM 100% 1 9ms
10/1/2026, 4:00:00 PM 100% 1 9ms
10/1/2026, 6:00:00 PM 100% 1 11ms
10/1/2026, 8:00:00 PM 100% 1 28ms
10/1/2026, 10:00:00 PM 100% 1 63ms
10/2/2026, 12:00:00 AM 100% 1 8ms
10/2/2026, 2:00:00 AM 100% 1 7ms
10/2/2026, 4:00:00 AM 100% 1 8ms
10/2/2026, 6:00:00 AM 100% 1 8ms
10/2/2026, 8:00:00 AM 100% 1 7ms
10/2/2026, 10:00:00 AM 100% 1 9ms
10/2/2026, 12:00:00 PM 100% 1 7ms
10/2/2026, 2:00:00 PM 100% 1 11ms
10/2/2026, 4:00:00 PM 100% 1 18ms
10/2/2026, 6:00:00 PM 100% 1 41ms
10/2/2026, 8:00:00 PM 100% 1 17ms
10/2/2026, 11:00:00 PM 100% 1 9ms
10/3/2026, 12:00:00 AM 100% 1 8ms
10/3/2026, 1:00:00 AM 100% 1 9ms
10/3/2026, 3:00:00 AM 100% 1 9ms
10/3/2026, 5:00:00 AM 100% 1 7ms
10/3/2026, 6:00:00 AM 100% 1 7ms
10/3/2026, 8:00:00 AM 100% 1 7ms
10/3/2026, 10:00:00 AM 100% 1 9ms
10/3/2026, 12:00:00 PM 100% 1 8ms
10/3/2026, 2:00:00 PM 100% 1 9ms
10/3/2026, 4:00:00 PM 100% 1 9ms
10/3/2026, 6:00:00 PM 100% 1 9ms
10/3/2026, 8:00:00 PM 100% 1 8ms
10/3/2026, 11:00:00 PM 100% 1 8ms
10/4/2026, 1:00:00 AM 100% 1 8ms
10/4/2026, 2:00:00 AM 100% 1 9ms
10/4/2026, 4:00:00 AM 100% 1 9ms
10/4/2026, 6:00:00 AM 100% 1 7ms
10/4/2026, 8:00:00 AM 100% 1 9ms
10/4/2026, 1:00:00 PM 100% 1 9ms
10/4/2026, 3:00:00 PM 100% 1 7ms
10/4/2026, 5:00:00 PM 100% 1 8ms
10/4/2026, 7:00:00 PM 100% 1 11ms
10/4/2026, 9:00:00 PM 100% 1 8ms
10/5/2026, 2:00:00 AM 100% 1 8ms
10/5/2026, 7:00:00 AM 100% 1 10ms
10/5/2026, 9:00:00 AM 100% 1 9ms
10/5/2026, 11:00:00 AM 100% 1 7ms
10/5/2026, 1:00:00 PM 100% 1 8ms
10/5/2026, 2:00:00 PM 100% 1 10ms
58
Composite reliability — the weighted average of the dimensions below, on a 0–100 scale.
Availability
100

How often it was reachable when we probed it (weight 35%).

Latency
100

How quickly it answers when it is up — fast scores high (weight 20%).

Security
100

Whether it serves over working TLS / https (weight 15%).

Transparency
61

Whether the operator disclosed what it does — description, schema, identity (weight 15%).

Activity
1

Observed on-chain payments to this endpoint's wallet — transactions, volume, and distinct paying wallets over the last month (weight 15%; not yet measured when we have not seen its wallet settle).

Confidence 100% — how much probe evidence backs this score. A thin history is flagged, not hidden.

See the scoring methodology for exactly how each number is computed.

Payment

Currencies
USDC
Networks
base
Facilitator
unknown
SDK
unknown

Operator

Company
inferred — unknown
Jurisdiction
—
Registrar
Key-Systems GmbH
Domain registered
2020-10-29
Hosting network
CLOUDFLARENET
Hosting country
—

Operator context is derived from public RDAP/TLS records and unverified. Company and country are only available for endpoints that publish them (an OV/EV TLS certificate or a non-redacted domain record); most endpoints are CDN-fronted and disclose neither.

On-chain activity (base)

138
payments (30d)
6.9
USD volume (30d)
2
paying wallets (30d)

Payments per day

last payment 10/2/2026
0 30 60 Sep 28Sep 29Oct 1Oct 2
Data table
Settled payments per day.
Day Payments Volume (USD) Paying wallets
9/28/2026 49 2.45 1
9/29/2026 55 2.75 1
10/1/2026 33 1.65 1
10/2/2026 1 0.05 1

This payout wallet is shared: figures cover all 33 endpoints paid at it, since payments cannot be attributed to one of them. Only payments settled on chains and facilitators we index.

Linked by wallet — likely same operator

On-chain agent identity and the x402 endpoint that shares its settlement wallet.

https://api.duoleads.com/v1/code/semver x402 endpoint https://api.duoleads.com/v1/time/dst x402 endpoint https://api.duoleads.com/v1/ref/airport x402 endpoint https://api.duoleads.com/v1/num/allocate x402 endpoint https://api.duoleads.com/v1/geo/geohash x402 endpoint https://api.duoleads.com/v1/chain/address x402 endpoint https://api.duoleads.com/v1/ref/country x402 endpoint https://api.duoleads.com/v1/num/stats x402 endpoint https://api.duoleads.com/v1/time/business-days x402 endpoint https://api.duoleads.com/v1/code/url x402 endpoint https://api.duoleads.com/v1/text/transliterate x402 endpoint https://api.duoleads.com/v1/chain/selector x402 endpoint https://api.duoleads.com/v1/ref/nuts x402 endpoint https://api.duoleads.com/v1/code/idn x402 endpoint https://api.duoleads.com/v1/id/national x402 endpoint https://api.duoleads.com/v1/num/radix x402 endpoint https://api.duoleads.com/v1/code/hash x402 endpoint https://api.duoleads.com/v1/geo/polygon x402 endpoint https://api.duoleads.com/v1/text/similarity x402 endpoint https://api.duoleads.com/v1/id/iban x402 endpoint https://api.duoleads.com/v1/id/iban-build x402 endpoint https://api.duoleads.com/v1/code/jwt x402 endpoint https://api.duoleads.com/v1/geo/pluscode x402 endpoint https://api.duoleads.com/v1/text/unicode x402 endpoint https://api.duoleads.com/v1/geo/distance x402 endpoint https://api.duoleads.com/v1/time/rrule x402 endpoint https://api.duoleads.com/v1/id/security x402 endpoint https://api.duoleads.com/v1/time/zone x402 endpoint https://api.duoleads.com/v1/text/slug x402 endpoint https://api.duoleads.com/v1/id/gs1 x402 endpoint https://api.duoleads.com/v1/time/calendar x402 endpoint https://api.duoleads.com/v1/ref/currency x402 endpoint
Response schema
{
  "properties": {
    "data": {
      "description": "words (ordinals are the masculine singular nominative form, e.g. es segundo, fr deuxième, it secondo, pt segundo, pl drugi, ru второй, sv andra, tr ikinci, ja 二番目; form=year reads pl and ru as an ordinal, ja with the suffix 年, and en, nl, de and sv in hundreds; in the currency form the number agrees with the gender of the currency noun, e.g. fr une couronne, es una libra, ru одна крона, sv ett pund), value, lang, form, currency ({code, unit_singular, unit_plural, minor_singular, minor_plural, minor_units} or null; minor_singular and minor_plural are null for zero-decimal currencies and for currencies without a curated subunit name), parts ({integer_words, minor_words} for the currency form; minor_words is the subunit count in words for the 19 curated currencies (EUR, USD, GBP, CHF, SEK, NOK, DKK, PLN, RUB, TRY, CNY, INR, BRL, MXN, CAD, AUD, NZD, CZK, HUF); every other currency uses the neutral fraction <n>/<10^minor_units> with no leading zeros (10/1000, 1/100, 56/100) instead of a subunit name, and null when there is no minor part; parts is null for other forms), rounding_applied (currency form; present, true, only when surplus decimals were rounded; an amount that rounds up to 1e15 is rejected).",
      "properties": {
        "currency": {
          "properties": {
            "code": {
              "type": "string"
            },
            "minor_plural": {
              "type": [
                "string",
                "null"
              ]
            },
            "minor_singular": {
              "type": [
                "string",
                "null"
              ]
            },
            "minor_units": {
              "type": "integer"
            },
            "unit_plural": {
              "type": "string"
            },
            "unit_singular": {
              "type": "string"
            }
          },
          "required": [
            "code",
            "unit_singular",
            "unit_plural",
            "minor_singular",
            "minor_plural",
            "minor_units"
          ],
          "type": [
            "object",
            "null"
          ]
        },
        "form": {
          "type": "string"
        },
        "lang": {
          "type": "string"
        },
        "parts": {
          "properties": {
            "integer_words": {
              "type": "string"
            },
            "minor_words": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "required": [
            "integer_words",
            "minor_words"
          ],
          "type": [
            "object",
            "null"
          ]
        },
        "rounding_applied": {
          "type": "boolean"
        },
        "value": {
          "type": "string"
        },
        "words": {
          "type": "string"
        }
      },
      "required": [
        "words",
        "value",
        "lang",
        "form",
        "currency"
      ],
      "type": "object"
    },
    "meta": {
      "$ref": "#/components/schemas/Meta"
    },
    "ok": {
      "const": true
    },
    "route": {
      "const": "/v1/num/words"
    },
    "version": {
      "const": "1.0.0"
    }
  },
  "required": [
    "ok",
    "route",
    "version",
    "data",
    "meta"
  ],
  "type": "object"
}