BlvkWare BlvkWare. ← HALLUX

Rate limits

These are the limits the service enforces. They are generated from the same constants the server runs on, so this page cannot describe a limit that is not the real one.

LimitValue
Identifiers per day, per client, open tier500
Identifiers per day, all open-tier traffic combined50,000
Identifiers per batch request100
Identifiers per month before the metered cap373,750
Watched identifiers per request100
Authentication on the open tiernone

How limits are reported

Every response carries RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset. RateLimit-Remaining is what you can actually still use: the smaller of your own allowance and what is left in the shared pool, which is also reported on its own as X-HALLUX-Open-Pool-Remaining. Pace from that header and a refusal is never a surprise.

When an open allowance is spent the response is 402 Payment Required. Its body names the price, the settlement rails and the flat tier that would remove the meter, and its reason says which limit refused you: client_allowance_spent or open_pool_spent. A request refused by the pool is not charged to your own allowance.

Batching

A batch is charged and served whole. Partially serving a batch and charging for the part served would make an agent's behaviour depend on where in its dependency list it ran out, which is a worse failure than a clean refusal.

Abuse

The open tier is generous on purpose and is expected to be abused. It is rate limited per client, and all open-tier traffic draws from one shared daily pool, so a caller who disguises their address can use up the free tier for the day but can never make it bigger. Paid traffic never draws from the pool. Clients are identified by a salted hash of their address, never by the address itself.

Prices and tiers are at /hallux/, and in machine-readable form in the agent catalog.