Tollbooth Authority — North America regional certifier. A peer-level Authority certified by the DPYC Prime Authority. Operators serving North American patrons may choose this Authority to keep certification latency and audit trails in-region.
Six tools with clear naming (verb_noun pattern) and reasonable descriptions (avg ~150 chars). All tools have input schemas with type definitions. However, parameter descriptions are sparse or missing context. No output schemas documented. Error handling guidance absent. Missing tool annotations (readOnlyHint, destructiveHint). The server delegates tool registration to imported modules (register_authority_tools, register_standard_tools), making full schema verification impossible from this codebase alone, actual definitions live in the tollbooth-dpyc wheel dependency.
Certify credits for an operator. Deducts the certification fee from the operator's pre-funded balance. Fee per certification = max(TAX_MIN_SATS, ceil(amount_sats * TAX_RATE_PERCENT / 100)).
Check the operator's current credit balance.
Check payment status for a Lightning invoice. On settlement, the operator's credit balance is funded.
Retrieve the operator's status including funded balance and the Authority's Nostr npub for certificate verification.
Purchase credits by pre-funding with sats. Returns a Lightning invoice with a checkoutLink.
Register an MCP operator with the Authority using a Nostr npub. Creates a ledger entry and returns the npub with a zero balance.
Tool definitions delegated to external wheel (tollbooth-dpyc). Cannot verify actual input/output schemas, parameter descriptions, or error handling from source code. Inferred tool existence only.
No output schemas documented. LLMs cannot predict response structure or plan downstream tool calls. E.g., does check_payment return invoice_status, settlement_time, funded_balance?
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot distinguish safe reads from destructive writes without explicit hints. purchase_credits and certify_credits are WRITE but lack destructiveHint.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | <=2025-11-25 | v2 |
No error handling guidance. Tools lack recovery hints (e.g., 'If operator not found, call register_operator first'). Agents cannot self-correct on failures.
check_balance and operator_status have empty input schemas ({}). No parameters documented, but descriptions suggest they operate on 'the operator', unclear how the tool identifies which operator (implicit context? environment variable?).