with·al /wɪðˈɔːl/ — from wherewithal: the means to get it done
One call — withal.acquire() — and your agent discovers, purchases,
and uses the APIs, data, and services it wasn't shipped with.
Policy-checked, budget-capped, receipted down to the on-chain transaction.
Developer preview — free for design partners.
Agents are limited to the tools developers wire up beforehand. The moment a task needs something that wasn't integrated, the agent stops and waits for a human.
The agent asks for a capability, not a vendor. Withal does the rest — and every step comes back with a receipt.
Withal matches the request against a registry of providers and picks by price, policy, and reliability — with automatic failover when a provider degrades.
Every acquisition passes the policy engine before a cent moves or a byte leaves: task budgets, allowed categories, approval thresholds, blocked data flows.
Withal executes the call, handles payment and auth on whatever rail the provider uses, and returns the result with a receipt — down to the on-chain transaction.
Describe what the agent needs and the constraints it must respect. Provider selection, authorization, and settlement happen behind the call.
from withal import Withal withal = Withal(agent_id="research-agent") result = withal.acquire( capability="company_enrichment", input={"company": "Acme Robotics"}, max_cost=0.20, )
{
"status": "completed",
"provider": "companygraph",
"price_usd": 0.03,
"result": { … },
"receipt_id": "wr_8127"
}
Policies are checked before anything moves. Denials are answers, not errors — the agent keeps working with what it has.
acquire()?Withal matches the capability request against its provider registry, selects a provider by price, policy, and reliability, runs the request through your policy engine (budgets, allowed categories, thresholds), executes the call — handling payment and auth on the provider's rail — and returns the result plus a receipt. Failover to the next provider is automatic.
No. Payment rails are an implementation detail. Some providers use
API keys, some use subscriptions, some price per-request over x402
with USDC on Base — Withal handles each behind the same
acquire() call. Your agent code never changes when the
rails do.
You declare policy per agent: daily and per-task budgets, allowed capability categories, per-purchase approval thresholds, and blocked data flows. Every acquisition is checked before anything moves, and a denial comes back as a structured answer the agent can plan around.
The developer preview covers search, company enrichment, web content, news, and filings, with paid providers settling real USDC on Base. The registry grows with design partners — if your agent needs a capability we don't route yet, that's exactly the conversation we want. Providers onboard with a manifest, no code changes on your side.
The developer preview is free for design partners. After that: provider costs pass through at cost, plus a small per-acquisition fee. No subscription, no seats.
Book a call and tell us what your agent is missing. Design partners get white-glove integration and a direct line on the roadmap.
Withal is in developer preview. Tell us what your agent is missing.