api.duoleads.com
https://api.duoleads.com/v1/time/business-daysShares a payout wallet with 32 other endpoints — its adoption is attributed from that shared wallet's traffic, not earned exclusively.
Business-day arithmetic with a caller-supplied calendar: add or subtract N working days from a date, or count the working days between two dates. The weekend is specified as a weekday mask so Friday-Saturday and Sunday-only weeks work, and holidays are passed in as an explicit date list, so the answer never depends on a holiday table that can go stale. Returns the result date, the day count, and the first 1,000 skipped dates with the reason each was skipped.
Reliability & health
Uptime and response time from our own unpaid probes, plus the reliability score built from them.
Uptime
100.0% avgResponse time
p50 8ms · p95 11msData table
| Bucket | Uptime | Probes | Response time |
|---|---|---|---|
| 9/29/2026, 9:00:00 AM | 100% | 1 | 6ms |
| 9/29/2026, 10:00:00 AM | 100% | 1 | 6ms |
| 9/29/2026, 12:00:00 PM | 100% | 1 | 8ms |
| 9/29/2026, 2:00:00 PM | 100% | 1 | 7ms |
| 9/29/2026, 4:00:00 PM | 100% | 1 | 8ms |
| 9/29/2026, 7:00:00 PM | 100% | 1 | 8ms |
| 9/29/2026, 9:00:00 PM | 100% | 1 | 7ms |
| 9/29/2026, 11:00:00 PM | 100% | 1 | 8ms |
| 9/30/2026, 1:00:00 AM | 100% | 1 | 7ms |
| 9/30/2026, 3:00:00 AM | 100% | 1 | 9ms |
| 9/30/2026, 5:00:00 AM | 100% | 1 | 8ms |
| 9/30/2026, 7:00:00 AM | 100% | 1 | 7ms |
| 9/30/2026, 9:00:00 AM | 100% | 1 | 7ms |
| 9/30/2026, 11:00:00 AM | 100% | 1 | 9ms |
| 9/30/2026, 1:00:00 PM | 100% | 1 | 12ms |
| 9/30/2026, 3:00:00 PM | 100% | 1 | 9ms |
| 9/30/2026, 5:00:00 PM | 100% | 1 | 12ms |
| 9/30/2026, 7:00:00 PM | 100% | 1 | 9ms |
| 9/30/2026, 9:00:00 PM | 100% | 1 | 8ms |
| 9/30/2026, 11:00:00 PM | 100% | 1 | 10ms |
| 10/1/2026, 1:00:00 AM | 100% | 1 | 12ms |
| 10/1/2026, 3:00:00 AM | 100% | 1 | 8ms |
| 10/1/2026, 5:00:00 AM | 100% | 1 | 8ms |
| 10/1/2026, 7:00:00 AM | 100% | 1 | 8ms |
| 10/1/2026, 9:00:00 AM | 100% | 1 | 9ms |
| 10/1/2026, 11:00:00 AM | 100% | 1 | 9ms |
| 10/1/2026, 1:00:00 PM | 100% | 1 | 8ms |
| 10/1/2026, 3:00:00 PM | 100% | 1 | 8ms |
| 10/1/2026, 5:00:00 PM | 100% | 1 | 9ms |
| 10/1/2026, 7:00:00 PM | 100% | 1 | 11ms |
| 10/1/2026, 9:00:00 PM | 100% | 1 | 10ms |
| 10/1/2026, 11:00:00 PM | 100% | 1 | 9ms |
| 10/2/2026, 1:00:00 AM | 100% | 1 | 8ms |
| 10/2/2026, 3:00:00 AM | 100% | 1 | 8ms |
| 10/2/2026, 5:00:00 AM | 100% | 1 | 9ms |
| 10/2/2026, 7:00:00 AM | 100% | 1 | 9ms |
| 10/2/2026, 9:00:00 AM | 100% | 1 | 8ms |
| 10/2/2026, 11:00:00 AM | 100% | 1 | 8ms |
| 10/2/2026, 1:00:00 PM | 100% | 1 | 8ms |
| 10/2/2026, 3:00:00 PM | 100% | 1 | 8ms |
| 10/2/2026, 5:00:00 PM | 100% | 1 | 11ms |
| 10/2/2026, 7:00:00 PM | 100% | 1 | 580ms |
| 10/2/2026, 9:00:00 PM | 100% | 1 | 11ms |
| 10/2/2026, 11:00:00 PM | 100% | 1 | 10ms |
| 10/3/2026, 12:00:00 AM | 100% | 1 | 9ms |
| 10/3/2026, 1:00:00 AM | 100% | 1 | 8ms |
| 10/3/2026, 3:00:00 AM | 100% | 1 | 9ms |
| 10/3/2026, 5:00:00 AM | 100% | 1 | 7ms |
| 10/3/2026, 7:00:00 AM | 100% | 1 | 7ms |
| 10/3/2026, 9:00:00 AM | 100% | 1 | 9ms |
| 10/3/2026, 11:00:00 AM | 100% | 1 | 8ms |
| 10/3/2026, 1:00:00 PM | 100% | 1 | 8ms |
| 10/3/2026, 3:00:00 PM | 100% | 1 | 8ms |
| 10/3/2026, 5:00:00 PM | 100% | 1 | 8ms |
| 10/3/2026, 7:00:00 PM | 100% | 1 | 10ms |
| 10/3/2026, 9:00:00 PM | 100% | 1 | 9ms |
| 10/3/2026, 11:00:00 PM | 100% | 1 | 10ms |
| 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 | 7ms |
| 10/4/2026, 6:00:00 AM | 100% | 1 | 8ms |
| 10/4/2026, 8:00:00 AM | 100% | 1 | 7ms |
| 10/4/2026, 1:00:00 PM | 100% | 1 | 8ms |
| 10/4/2026, 3:00:00 PM | 100% | 1 | 8ms |
| 10/4/2026, 5:00:00 PM | 100% | 1 | 8ms |
| 10/4/2026, 7:00:00 PM | 100% | 1 | 9ms |
| 10/4/2026, 9:00:00 PM | 100% | 1 | 8ms |
| 10/5/2026, 2:00:00 AM | 100% | 1 | 7ms |
| 10/5/2026, 7:00:00 AM | 100% | 1 | 8ms |
| 10/5/2026, 9:00:00 AM | 100% | 1 | 8ms |
| 10/5/2026, 11:00:00 AM | 100% | 1 | 9ms |
| 10/5/2026, 1:00:00 PM | 100% | 1 | 9ms |
| 10/5/2026, 2:00:00 PM | 100% | 1 | 8ms |
- Availability
- 100
- Latency
- 100
- Security
- 100
- Transparency
- 61
- Activity
- 1
How often it was reachable when we probed it (weight 35%).
How quickly it answers when it is up — fast scores high (weight 20%).
Whether it serves over working TLS / https (weight 15%).
Whether the operator disclosed what it does — description, schema, identity (weight 15%).
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)
Payments per day
last payment 10/2/2026Data table
| 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.
Response schema
{
"properties": {
"data": {
"description": "add: result (YYYY-MM-DD), from, days, calendar_days_spanned, skipped [{date, reason weekend|holiday, weekday}] (first 1,000), skipped_total, skipped_truncated. count: business_days, calendar_days, weekend_days, holiday_days, holidays_matched, direction (forward|backward) (holidays on a weekend are reported as weekend, never as holiday). count is half-open [from, to) unless inclusive says otherwise; when to precedes from the same interval is counted backwards and business_days is still a non-negative count. skipped is in the order the dates were traversed and lists at most 1,000 entries; skipped_total is the full count and skipped_truncated is true when the list was cut (the cap only binds for days beyond roughly 1,400 working-day skips, e.g. days near 3,650 with a two-day weekend); result, calendar_days_spanned and skipped_total are always exact.",
"properties": {
"business_days": {
"type": "integer"
},
"calendar_days": {
"type": "integer"
},
"calendar_days_spanned": {
"type": "integer"
},
"days": {
"type": "integer"
},
"direction": {
"type": "string"
},
"from": {
"type": "string"
},
"holiday_days": {
"type": "integer"
},
"holidays_matched": {
"items": {
"type": "string"
},
"type": "array"
},
"result": {
"type": "string"
},
"skipped": {
"items": {
"properties": {
"date": {
"type": "string"
},
"reason": {
"type": "string"
},
"weekday": {
"type": "string"
}
},
"required": [
"date",
"reason",
"weekday"
],
"type": "object"
},
"type": "array"
},
"skipped_total": {
"type": "integer"
},
"skipped_truncated": {
"type": "boolean"
},
"weekend_days": {
"type": "integer"
}
},
"type": "object"
},
"meta": {
"$ref": "#/components/schemas/Meta"
},
"ok": {
"const": true
},
"route": {
"const": "/v1/time/business-days"
},
"version": {
"const": "1.0.0"
}
},
"required": [
"ok",
"route",
"version",
"data",
"meta"
],
"type": "object"
}