BlvkWare BlvkWare. ← HALLUX

Paying for HALLUX

What a caller receives when the open tier is spent, and how it is meant to be paid. Every 402 the API returns links here.

No payment rail is connected yet. The service issues these challenges, but nothing can settle one today: every entry in accepts says settlementConfigured: false, and a proof sent in X-Payment is refused rather than waved through. Paid features are unreachable, never free. The open tier resets daily at 00:00 UTC.

The challenge

When a request would exceed what the caller may use for free, the answer is 402 Payment Required with a body an agent can act on without a human: the price for exactly this request, the flat tier that would remove the meter, and the rails it accepts. This example is generated by the service's own code, for a batch of 40 identifiers:

{
  "error": "payment_required",
  "reason": "client_allowance_spent",
  "message": "The open tier allowance for this client is spent. Settle for this request, move to a flat tier, or wait for the daily reset.",
  "resource": "/v1/check",
  "units": 40,
  "price": {
    "perUnit": "0.0008",
    "total": "0.032",
    "currency": "USD"
  },
  "alternatives": [
    {
      "tier": "team",
      "monthlyUsd": "299",
      "why": "unmetered; cheaper than metering above 373,750 identifiers a month"
    }
  ],
  "accepts": [
    {
      "scheme": "x402",
      "asset": "USDC",
      "networks": [
        "base",
        "solana"
      ],
      "settlementConfigured": false
    },
    {
      "scheme": "stripe-mpp",
      "settlementConfigured": false
    }
  ],
  "documentation": "https://blvkware.dev/docs/payment",
  "pricing": "https://blvkware.dev/pricing"
}

With these headers:

WWW-Authenticate: x402 asset="USDC", networks="base,solana", price="0.0008", unit="identifier"
X-HALLUX-Price-Per-Unit: 0.0008

reason says which limit refused the request: client_allowance_spent for this caller's own allowance, open_pool_spent for the shared pool every free caller draws from. A request the pool refused is not charged to the caller's allowance. The limits themselves are at /docs/limits.

Rails

x402 on Base and Solana for per-call, Stripe MPP for fiat session billing. Both rails on every paid endpoint.

Prices are at /pricing. They are a function of how many identifiers a request asks about and never of what the answers are.