Time zone conversion (IANA tz database, DST-aware) ($0.001)
timezone_convertPAID ($0.001 USDC via x402). Shows one instant in up to 20 IANA time zones (localTime with offset, utcOffset, abbreviation, isDst, dayOfWeek, date). time with Z/offset is absolute; without, it is wall-clock in from (default UTC). A skipped local time moves forward by the gap, a repeated one takes the earlier instant (localTimeIssue + alternativeInstantUtc). Rules come from the tz database built into the server; future dates use today's published rules. An unknown zone answers 404, bad input 400; neither is charged. Without payment this returns the 402 challenge; the fiatdock-mcp npm package pays automatically. Any answer the tool cannot produce is >= 400 and is NOT charged.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | IANA time zones to show the instant in, up to 20 (default America/Los_Angeles,America/New_York,Europe/London,Europe/Berlin,Asia/Dubai,Asia/Kolkata,Asia/Tokyo,Australia/Sydney) | |
| from | No | IANA time zone a local `time` is read in (and shown in as fromLocalTime), e.g. America/New_York; default UTC | |
| time | No | The moment to convert, ISO 8601: with Z or an offset ("2026-10-08T15:00:00Z", "2026-10-08T15:00+02:00") it is an absolute instant; without one ("2026-10-08T15:00") it is wall-clock time in `from`; a bare date means 00:00 there. Years 1970-2100. Default: now | |
| payment | No | Base64 of a single x402 v2 PaymentPayload (EIP-3009 transferWithAuthorization on Base USDC). OMIT it on the first call: the 402 you get back carries `howToPay.payloadTemplate` — the exact envelope to fill in — plus the price and the EIP-712 domain. Send it on the second call to complete the purchase; it is forwarded as the PAYMENT-SIGNATURE header, never as body data. Nothing is charged for the 402 itself, and a call that fails after payment settles nothing. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| asOf | Yes | ISO time the conversion was computed | |
| from | Yes | The zone a local `time` was read in (default UTC) | |
| note | Yes | How a local time, DST and the abbreviation are decided, and the limits | |
| count | Yes | Zones returned | |
| times | Yes | The instant in each requested zone, in the order asked | |
| source | Yes | Where the time zone rules came from (the tz database version compiled into this server) | |
| instantUtc | Yes | The instant converted, in UTC (ISO 8601) | |
| fromLocalTime | Yes | The instant as wall-clock time in `from`, ISO 8601 with offset | |
| inputWasLocal | Yes | True when `time` had no Z or offset and was read as wall-clock time in `from` | |
| localTimeIssue | Yes | For a local `time` only: "nonexistent" = that wall-clock time does not happen in `from` (clocks went forward) and was moved forward by the gap; "ambiguous" = it happens twice (clocks went back) and the EARLIER instant was taken. null otherwise | |
| alternativeInstantUtc | Yes | For an ambiguous local `time`: the LATER of its two instants, in UTC. null otherwise |