2s.io

https://2s.io/api/calendar/business-days

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

Holiday-aware business-day calculator for 200+ countries. Three modes: pass start + addDays (signed integer) to shift a date by N business days; pass start + end to count business days between two dates (exclusive of start, inclusive of end); pass start alone to check one date (is it a business day, which holiday, next/previous business day). Query: country (ISO 3166-1 alpha-2), start (YYYY-MM-DD), optional region (subdivision code), addDays XOR end, optional weekend (comma-separated days, default sat,sun — e.g. fri,sat for the Gulf), optional types (holiday types treated as closures, default public,bank). Skipped holidays are itemized in the response. Use for payment terms, SLA deadlines, and delivery-date math.

64
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% Thu 6 PMSun 12 AMTue 8 AMThu 3 PM

Response time

p50 55ms · p95 192ms
0ms 200ms 400ms Thu 6 PMSun 12 AMTue 8 AMThu 3 PM
Data table
Reliability history per time bucket over the last 7 days (hourly).
Bucket Uptime Probes Response time
8/13/2026, 6:00:00 PM 100% 1 48ms
8/13/2026, 7:00:00 PM 100% 1 69ms
8/13/2026, 8:00:00 PM 100% 1 48ms
8/13/2026, 9:00:00 PM 100% 1 53ms
8/13/2026, 10:00:00 PM 100% 1 46ms
8/13/2026, 11:00:00 PM 100% 1 47ms
8/14/2026, 1:00:00 AM 100% 1 49ms
8/14/2026, 2:00:00 AM 100% 1 63ms
8/14/2026, 3:00:00 AM 100% 1 228ms
8/14/2026, 4:00:00 AM 100% 1 48ms
8/14/2026, 5:00:00 AM 100% 1 78ms
8/14/2026, 6:00:00 AM 100% 1 47ms
8/14/2026, 8:00:00 AM 100% 1 47ms
8/14/2026, 9:00:00 AM 100% 1 52ms
8/14/2026, 10:00:00 AM 100% 1 191ms
8/14/2026, 11:00:00 AM 100% 1 48ms
8/14/2026, 12:00:00 PM 100% 1 59ms
8/14/2026, 2:00:00 PM 100% 1 53ms
8/14/2026, 3:00:00 PM 100% 1 258ms
8/14/2026, 4:00:00 PM 100% 1 44ms
8/14/2026, 5:00:00 PM 100% 1 60ms
8/14/2026, 6:00:00 PM 100% 1 45ms
8/14/2026, 8:00:00 PM 100% 1 43ms
8/14/2026, 9:00:00 PM 100% 1 51ms
8/14/2026, 10:00:00 PM 100% 1 72ms
8/14/2026, 11:00:00 PM 100% 1 47ms
8/15/2026, 12:00:00 AM 100% 1 49ms
8/15/2026, 1:00:00 AM 100% 1 56ms
8/15/2026, 2:00:00 AM 100% 1 53ms
8/15/2026, 3:00:00 AM 100% 1 55ms
8/15/2026, 5:00:00 AM 100% 1 55ms
8/15/2026, 6:00:00 AM 100% 1 192ms
8/15/2026, 7:00:00 AM 100% 1 80ms
8/15/2026, 8:00:00 AM 100% 1 164ms
8/15/2026, 9:00:00 AM 100% 1 45ms
8/15/2026, 10:00:00 AM 100% 1 63ms
8/15/2026, 11:00:00 AM 100% 1 113ms
8/15/2026, 1:00:00 PM 100% 1 55ms
8/15/2026, 2:00:00 PM 100% 1 98ms
8/15/2026, 3:00:00 PM 100% 1 55ms
8/15/2026, 4:00:00 PM 100% 1 65ms
8/15/2026, 5:00:00 PM 100% 1 230ms
8/15/2026, 6:00:00 PM 100% 1 53ms
8/15/2026, 8:00:00 PM 100% 1 54ms
8/15/2026, 9:00:00 PM 100% 1 64ms
8/15/2026, 10:00:00 PM 100% 1 47ms
8/15/2026, 11:00:00 PM 100% 1 46ms
8/16/2026, 12:00:00 AM 100% 1 76ms
8/16/2026, 1:00:00 AM 100% 1 63ms
8/16/2026, 3:00:00 AM 100% 1 51ms
8/16/2026, 4:00:00 AM 100% 1 45ms
8/16/2026, 5:00:00 AM 100% 1 77ms
8/16/2026, 6:00:00 AM 100% 1 53ms
8/16/2026, 7:00:00 AM 100% 1 43ms
8/16/2026, 8:00:00 AM 100% 1 48ms
8/16/2026, 10:00:00 AM 100% 1 52ms
8/16/2026, 11:00:00 AM 100% 1 146ms
8/16/2026, 12:00:00 PM 100% 1 56ms
8/16/2026, 1:00:00 PM 100% 1 46ms
8/16/2026, 2:00:00 PM 100% 1 124ms
8/16/2026, 3:00:00 PM 100% 1 210ms
8/16/2026, 5:00:00 PM 100% 1 59ms
8/16/2026, 6:00:00 PM 100% 1 148ms
8/16/2026, 7:00:00 PM 100% 1 42ms
8/16/2026, 8:00:00 PM 100% 1 192ms
8/16/2026, 9:00:00 PM 100% 1 48ms
8/16/2026, 10:00:00 PM 100% 1 52ms
8/17/2026, 12:00:00 AM 100% 1 71ms
8/17/2026, 1:00:00 AM 100% 1 61ms
8/17/2026, 2:00:00 AM 100% 1 54ms
8/17/2026, 3:00:00 AM 100% 1 220ms
8/17/2026, 4:00:00 AM 100% 1 56ms
8/17/2026, 5:00:00 AM 100% 1 43ms
8/17/2026, 7:00:00 AM 100% 1 48ms
8/17/2026, 8:00:00 AM 100% 1 51ms
8/17/2026, 9:00:00 AM 100% 1 48ms
8/17/2026, 10:00:00 AM 100% 1 50ms
8/17/2026, 11:00:00 AM 100% 1 166ms
8/17/2026, 12:00:00 PM 100% 1 53ms
8/17/2026, 2:00:00 PM 100% 1 62ms
8/17/2026, 3:00:00 PM 100% 1 51ms
8/17/2026, 4:00:00 PM 100% 1 50ms
8/17/2026, 5:00:00 PM 100% 1 46ms
8/17/2026, 6:00:00 PM 100% 1 58ms
8/17/2026, 7:00:00 PM 100% 1 46ms
8/17/2026, 9:00:00 PM 100% 1 56ms
8/17/2026, 10:00:00 PM 100% 1 59ms
8/17/2026, 11:00:00 PM 100% 1 51ms
8/18/2026, 12:00:00 AM 100% 1 71ms
8/18/2026, 1:00:00 AM 100% 1 56ms
8/18/2026, 2:00:00 AM 100% 1 58ms
8/18/2026, 4:00:00 AM 100% 1 49ms
8/18/2026, 5:00:00 AM 100% 1 53ms
8/18/2026, 6:00:00 AM 100% 1 48ms
8/18/2026, 7:00:00 AM 100% 1 47ms
8/18/2026, 8:00:00 AM 100% 1 61ms
8/18/2026, 9:00:00 AM 100% 1 120ms
8/18/2026, 11:00:00 AM 100% 1 59ms
8/18/2026, 12:00:00 PM 100% 1 62ms
8/18/2026, 1:00:00 PM 100% 1 51ms
8/18/2026, 2:00:00 PM 100% 1 52ms
8/18/2026, 3:00:00 PM 100% 1 59ms
8/18/2026, 4:00:00 PM 100% 1 51ms
8/18/2026, 6:00:00 PM 100% 1 49ms
8/18/2026, 7:00:00 PM 100% 1 50ms
8/18/2026, 8:00:00 PM 100% 1 68ms
8/18/2026, 9:00:00 PM 100% 1 61ms
8/18/2026, 10:00:00 PM 100% 1 51ms
8/18/2026, 11:00:00 PM 100% 1 48ms
8/19/2026, 1:00:00 AM 100% 1 71ms
8/19/2026, 2:00:00 AM 100% 1 83ms
8/19/2026, 3:00:00 AM 100% 1 59ms
8/19/2026, 4:00:00 AM 100% 1 63ms
8/19/2026, 5:00:00 AM 100% 1 55ms
8/19/2026, 6:00:00 AM 100% 1 51ms
8/19/2026, 8:00:00 AM 100% 1 58ms
8/19/2026, 9:00:00 AM 100% 1 47ms
8/19/2026, 10:00:00 AM 100% 1 273ms
8/19/2026, 11:00:00 AM 100% 1 57ms
8/19/2026, 12:00:00 PM 100% 1 47ms
8/19/2026, 1:00:00 PM 100% 1 60ms
8/19/2026, 3:00:00 PM 100% 1 90ms
8/19/2026, 4:00:00 PM 100% 1 83ms
8/19/2026, 5:00:00 PM 100% 1 55ms
8/19/2026, 6:00:00 PM 100% 1 56ms
8/19/2026, 7:00:00 PM 100% 1 54ms
8/19/2026, 8:00:00 PM 100% 1 52ms
8/19/2026, 9:00:00 PM 100% 1 56ms
8/19/2026, 11:00:00 PM 100% 1 45ms
8/20/2026, 12:00:00 AM 100% 1 49ms
8/20/2026, 1:00:00 AM 100% 1 50ms
8/20/2026, 2:00:00 AM 100% 1 74ms
8/20/2026, 3:00:00 AM 100% 1 334ms
8/20/2026, 4:00:00 AM 100% 1 52ms
8/20/2026, 6:00:00 AM 100% 1 62ms
8/20/2026, 7:00:00 AM 100% 1 47ms
8/20/2026, 8:00:00 AM 100% 1 57ms
8/20/2026, 9:00:00 AM 100% 1 55ms
8/20/2026, 10:00:00 AM 100% 1 49ms
8/20/2026, 11:00:00 AM 100% 1 45ms
8/20/2026, 1:00:00 PM 100% 1 57ms
8/20/2026, 2:00:00 PM 100% 1 84ms
8/20/2026, 3:00:00 PM 100% 1 48ms
64
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
4

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, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
Facilitator
unknown
SDK
unknown

Operator

Company
inferred — unknown
Jurisdiction
Registrar
Domain registered
Hosting network
VERCEL-09
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)

13,845
payments (30d)
39.01
USD volume (30d)
185
paying wallets (30d)

Payments per day

last payment 8/20/2026
0 1000 2000 Jul 22Aug 1Aug 10Aug 20
Data table
Settled payments per day.
Day Payments Volume (USD) Paying wallets
7/22/2026 984 2.17 102
7/23/2026 629 1.66 89
7/24/2026 1,232 2.49 117
7/25/2026 1,341 2.61 128
7/26/2026 915 1.98 107
7/27/2026 1,175 2.1 107
7/28/2026 762 1.71 86
7/29/2026 852 1.67 97
7/30/2026 818 1.74 97
7/31/2026 882 1.7 94
8/1/2026 633 1.24 82
8/2/2026 604 1.12 76
8/3/2026 358 1.6 47
8/4/2026 530 3.35 70
8/5/2026 408 2.76 42
8/6/2026 272 2.14 32
8/7/2026 164 1.37 23
8/8/2026 127 1.51 17
8/9/2026 60 0.33 10
8/10/2026 109 0.36 8
8/11/2026 84 0.25 8
8/12/2026 84 0.25 6
8/13/2026 73 0.21 6
8/14/2026 167 1.05 6
8/15/2026 24 0.1 4
8/16/2026 338 0.86 2
8/17/2026 63 0.18 3
8/18/2026 55 0.16 2
8/19/2026 84 0.23 3
8/20/2026 18 0.1 5

This payout wallet is shared: figures cover all 442 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.

Response schema
{
  "properties": {
    "data": {
      "additionalProperties": false,
      "properties": {
        "items": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "addDays": {
                "description": "add mode: the requested shift.",
                "type": "integer"
              },
              "businessDays": {
                "description": "between mode: business days after start through end.",
                "type": "integer"
              },
              "calendarDays": {
                "description": "between mode: calendar days between start and end.",
                "type": "integer"
              },
              "calendarDaysSpanned": {
                "description": "add mode: calendar days between start and result.",
                "type": "integer"
              },
              "country": {
                "description": "Resolved ISO country code.",
                "type": "string"
              },
              "end": {
                "description": "between mode: echoed end date.",
                "type": "string"
              },
              "holidayNames": {
                "description": "check mode: names of holidays on start, if any.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "holidaysInRange": {
                "description": "between mode: weekday holidays inside the range.",
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "date": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "date",
                    "name"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              "holidaysSkipped": {
                "description": "add mode: weekday holidays skipped along the way.",
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "date": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "date",
                    "name"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              "isBusinessDay": {
                "description": "check mode: true when start is neither weekend nor closure holiday.",
                "type": "boolean"
              },
              "isHoliday": {
                "description": "check mode: start is a closure holiday.",
                "type": "boolean"
              },
              "isWeekend": {
                "description": "check mode: start falls on a configured weekend day.",
                "type": "boolean"
              },
              "mode": {
                "description": "check | add | between — which calculation ran, inferred from the params.",
                "type": "string"
              },
              "nextBusinessDay": {
                "description": "check mode: first business day after start.",
                "type": "string"
              },
              "previousBusinessDay": {
                "description": "check mode: last business day before start.",
                "type": "string"
              },
              "region": {
                "description": "Resolved subdivision code, or null.",
                "nullable": true,
                "type": "string"
              },
              "result": {
                "description": "add mode: the resulting business date, YYYY-MM-DD.",
                "type": "string"
              },
              "start": {
                "description": "Echoed anchor date.",
                "type": "string"
              }
            },
            "required": [
              "mode",
              "country",
              "region",
              "start"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "ok": {
          "enum": [
            true
          ],
          "type": "boolean"
        },
        "source": {
          "$ref": "#/components/schemas/Source"
        },
        "total": {
          "description": "Total matching rows upstream; null when unknown.",
          "nullable": true,
          "type": "integer"
        }
      },
      "required": [
        "ok",
        "items",
        "total",
        "source"
      ],
      "type": "object"
    },
    "meta": {
      "$ref": "#/components/schemas/CallMeta"
    }
  },
  "required": [
    "data",
    "meta"
  ],
  "type": "object"
}