Voice
Openzoo Provider
OpenClaw provider plugin for openzoo: pay-per-call inference over x402, no account or API key (ClawHub handoff of openclaw#136022)
Install
openclaw plugins install openclaw-openzoo-provider
README
# openclaw-openzoo-provider
OpenClaw provider plugin for [openzoo](https://openzoo.fun): pay-per-call
inference over [x402](https://www.x402.org) through a local proxy. No account,
no API key — each request settles on chain from a burner wallet on your
machine (or by card via the checkout link the 402 response itself provides).
This ships as a self-serve ClawHub / npm package, per OpenClaw's VISION
(optional providers live outside core): it was originally proposed as
[openclaw/openclaw#136022](https://github.com/openclaw/openclaw/pull/136022)
and repackaged following the ClawHub handoff there.
## Install
```bash
openclaw plugins install openclaw-openzoo-provider
openclaw gateway restart
```
Update the same way OpenClaw updates any plugin:
```bash
openclaw plugins update openclaw-openzoo-provider
```
## Setup
Run the proxy — that is the whole setup:
```bash
npx openzoo
```
It speaks OpenAI on `http://localhost:8402/v1` and pays per call. The plugin
discovers the live `/v1/models` catalog (refreshable; per-token pricing and
limits come from the proxy) and defaults to the `auto` router, which is
published and routed per the upstream contract
([staccDOTsol/openzoo@211f6cf](https://github.com/staccDOTsol/openzoo/commit/211f6cf)).
## Configuration
| Setting | Default | Notes |
|---|---|---|
| `OPENZOO_BASE_URL` | `http://localhost:8402/v1` | Set for a nonstandard port or an openzoo public tunnel URL |
| `OPENZOO_PORT` | `8402` | Shorthand when only the port differs |
| API key | `sk-openzoo` placeholder | The proxy takes payment, not keys; only a public **tunnel** URL needs the bearer printed at proxy startup |
No secrets are stored by this plugin. The `sk-openzoo` marker is declared
non-secret in the manifest (`nonSecretAuthMarkers`).
## Required permissions and payment boundary
- **Network:** the plugin itself only fetches the model catalog from the
configured base URL (SSRF-scoped to that hostname). Model calls go through
OpenClaw's normal provider runtime to the same base URL.
- **Money:** payment happens inside the `openzoo` proxy process, not in this
plugin. The proxy pays from a local burner wallet in `~/.openzoo`; fund it
with only what you are willing to spend, exactly as you would a hot wallet.
Every response carries a per-call receipt with the billed and direct cost.
- **Provenance:** the proxy's source is
[staccDOTsol/openzoo](https://github.com/staccDOTsol/openzoo) (the `openzoo`
npm package); this plugin's source is
[staccDOTsol/openclaw-openzoo-provider](https://github.com/staccDOTsol/openclaw-openzoo-provider).
Neither embeds keys or phones home beyond the configured base URL.
## Example usage
After install, pick `openzoo` in OpenClaw's provider selector (label:
"Pay per call over x402 through a local openzoo proxy"), or set a model ref
directly: `openzoo/auto`.
## Smoke test
```bash
npm run smoke
```
which is just:
```bash
curl -sf http://localhost:8402/v1/models | head -c 200
```
A JSON model list proves the proxy is up and the catalog is reachable. The
plugin's own suite (`npm test`, vitest against the published OpenClaw
plugin-sdk) covers discovery projection, auth markers, and setup flow.
## License
MIT
voice
Comments
Sign in to leave a comment