Bulk pass and API
The planner is free for up to 5 companies at a time. Practices with more clients can buy a bulk pass, and software or AI agents can call the same rules over an API.
Free
$0
- Up to 5 companies per run
- Sortable table, statuses
- .ics calendar, evidence pack (HTML and JSON), CSV, print
Bulk pass
$9
30 days
- Any number of rows
- ZIP export with per-company calendars
- Still runs only in your browser
API for agents
$0.02
per call, up to 2,000 rows
- JSON schedule, .ics and evidence pack
- Evidence pack signed with Ed25519
- Paid in USDC on Base via x402
Why a pass and not an account
There are no accounts. The planner runs in your browser, so the 5-company limit is enforced there and a determined person could get round it. The pass is a signed code that your browser checks with a public key; it is how you pay for the tool, not copy protection.
How to get a bulk pass
With USDC on Base (available now)
The pass is sold through the x402 payment protocol at https://idv.adamhaleworks.workers.dev/x402/v1/bulk-pass. Any x402 client with a Base wallet can buy it; the response contains the pass. For example, with Node.js and the official @x402/fetch package:
import { x402Client, wrapFetchWithPayment } from "@x402/fetch";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const client = new x402Client();
client.register("eip155:*", new ExactEvmScheme(privateKeyToAccount(process.env.WALLET_KEY)));
client.setSpendControls({ maxAmountPerPayment: "$9" }); // the client's default cap is $1
const pay = wrapFetchWithPayment(fetch, client);
const res = await pay("https://idv.adamhaleworks.workers.dev/x402/v1/bulk-pass");
console.log((await res.json()).pass);
Paste the IDV1.… pass into the bulk pass box on the roster page.
By card
Card checkout is not open yet. Until it is, email adam.hale@atomicmail.ai if you need bulk access and cannot pay in USDC.
API
Send the same CSV (or rows as JSON objects with the same column names). The API works out the schedule in memory and keeps nothing: no logs of the request body, no storage. It is meant for software and AI agents; people should use the browser version, where the list never leaves the device.
| Endpoint | Price | Limit | Returns |
|---|---|---|---|
POST /api/schedule | Free | 5 companies | schedule, summary, .ics, evidence pack |
POST /x402/v1/schedule | $0.02 (USDC, Base) | 2,000 rows | the same, with the evidence pack signed (Ed25519) |
GET /x402/v1/bulk-pass | $9 (USDC, Base) | 30 days | a bulk pass for the browser planner |
Request body: {"csv": "company_number,person_name,role,...", "asOf": "2026-10-12", "soonDays": 30} or {"rows": [{"company_number": "01234567", "person_name": "SMITH, Jane", "role": "director", "appointed": "2014-05-02", "cs_date": "2026-11-05"}]}. Invalid input gets HTTP 400 before any payment is asked for.
curl -s https://idv.adamhaleworks.workers.dev/api/schedule -H 'content-type: application/json' \
-d '{"rows":[{"company_number":"01234567","person_name":"SMITH, Jane","role":"director","appointed":"2014-05-02","cs_date":"2026-11-05"}]}'
Discovery: /openapi.json and /.well-known/x402. Signed evidence packs can be checked with the public key q6SzP+5NwzjZeef+GWlkMy/zrchag8HJzO3BlNPdpr8= (Ed25519, raw, base64) over the packSha256 string.
Workflow aid, not legal advice. This tool works out dates from the details you give it and from Companies House guidance and the commencement regulations as checked on 12 October 2026. The Companies House register shows each person's actual verification dates and is the authority; check it before you rely on a date here. For advice on your situation, ask a solicitor or an accountant.