ACH Clock for agents
This page describes the ACH Clock API for an automated reader. It states what each endpoint returns, what is guaranteed, where the data comes from, and how to pay per call without holding an account.
What this service answers
United States payment timing. Given a date, it returns whether the Federal Reserve is open, when an ACH file submitted that day settles, and how to count banking days. These are deterministic questions with one correct answer, not estimates.
Data source and derivation
Every answer is computed from the Federal Reserve Bank holiday schedule published at frbservices.org, combined with the FedACH processing schedule. Two rules do most of the work, and they are the ones other sources get wrong:
- A fixed-date holiday falling on a Saturday is observed by federal offices on the preceding Friday, but Reserve Banks stay open and ACH settles normally.
- A fixed-date holiday falling on a Sunday closes Reserve Banks the following Monday.
Holiday dates are published years in advance and are hardcoded for 2026–2030. Calendar dates are facts and carry no licence restriction.
Guarantees
- Deterministic. The same inputs always return the same output. No model, no randomness, no estimation.
- Dates are ISO 8601 (YYYY-MM-DD). Times are Eastern Time, the timezone the Federal Reserve operates on.
- Errors are explicit. A bad parameter returns 4xx with a JSON
errorfield. It never returns a plausible wrong date. - Range is bounded. Requests outside 2026–2030 return an error rather than extrapolating.
Limits you should encode
- This is the Federal Reserve schedule. An originating institution may impose an earlier cutoff than the Fed's; this service cannot know about it.
- Same Day ACH has three windows per banking day; the last closes at 4:45 PM ET.
- This is informational, not banking, legal or tax advice. Do not present its output as a guarantee that funds will move.
Endpoints
GET /api/v1/holidays
Federal Reserve Bank holidays for a calendar year.
| Parameter | Type | Required | Notes |
|---|---|---|---|
year | integer | required | 2026-2030 |
Returns: Array of holidays with date, name, and whether ACH processes that day.
Example: /api/v1/holidays?year=2026
GET /api/v1/settlement-date
ACH settlement date for a file submitted at a given date and time.
| Parameter | Type | Required | Notes |
|---|---|---|---|
date | string | required | ISO 8601 date, e.g. 2026-11-25 |
time | string | optional | 24h ET time, e.g. 16:45. Only affects same-day. |
speed | string | optional | same-day | next-day | two-day. Default next-day. |
Returns: settlementDate (ISO 8601) and bankingDays consumed.
Example: /api/v1/settlement-date?date=2026-11-25&speed=next-day
GET /api/v1/business-days
Add or subtract banking days from a date.
| Parameter | Type | Required | Notes |
|---|---|---|---|
start | string | required | ISO 8601 date |
days | integer | required | May be negative to count backwards. |
Returns: result (ISO 8601) after skipping weekends and Reserve Bank closures.
Example: /api/v1/business-days?start=2026-01-15&days=3
Access and payment
Per-call payment is not enabled yet. The x402 path described in this
service's source is built but switched off, so today every endpoint requires a key and an
unauthenticated call returns 401, not 402. Do not implement a
payment retry loop against this API yet; it will not succeed. This page will say otherwise
when that changes.
The machine-readable description is at /openapi.json.
Annual key
A one-time $19 purchase issues a key valid for 365 days, sent as
Authorization: Bearer <key>. Cheaper than x402 above roughly 19,000 calls per
year. It is a one-time charge, not a subscription, and nothing auto-renews.
Related free resources
These need no payment and no key: the settlement calculator, the payroll cutoff calculator, per-year holiday schedules, and today's Fed status. A summary for automated readers is at /llms.txt.