OpenClaw + Setu

Use Setu as a provider in OpenClaw — pay for 30+ AI models with Solana USDC. No API keys, no accounts, just a wallet.

How It Works

The @ottocode/openclaw-setu plugin runs a local proxy that handles Solana wallet signing transparently. OpenClaw talks to the proxy like any other OpenAI-compatible provider.

OpenClaw → localhost:8403 (Setu proxy) → api.setu.ottocode.io → LLM provider
  1. The plugin auto-generates a Solana wallet (or you import your own)
  2. You fund the wallet with USDC on Solana
  3. Each LLM request is signed with your wallet — payment is authentication
  4. Access models from Anthropic, OpenAI, Google, DeepSeek, and more

Quick Start

Two commands to get started:

# Install the plugin
bun add @ottocode/openclaw-setu

# Interactive setup — generates wallet, injects config
bunx openclaw-setu setup

The setup wizard will:

  • Generate a new Solana wallet (or let you import an existing one)
  • Store the private key at ~/.openclaw/setu/wallet.key (mode 0600)
  • Inject the Setu provider into ~/.openclaw/openclaw.json
  • Print your wallet address for funding

Then start the proxy and restart OpenClaw:

# Fund your wallet with USDC on Solana (address shown during setup)

# Start the local proxy
bunx openclaw-setu start

# Restart OpenClaw to pick up the new provider
openclaw gateway restart

That's it. Your OpenClaw instance now has access to all Setu models. Select any setu/ model in your OpenClaw conversations.


Available Models

During setup, the plugin fetches the full model catalog from Setu's API (currently 49 models). Here are highlights from each provider:

ModelProviderContextFeatures
claude-sonnet-4-6Anthropic200KText, Image, Reasoning
claude-opus-4-6Anthropic200KText, Image, Reasoning
gpt-5.1-codexOpenAI400KText, Image, Reasoning
gpt-5OpenAI400KText, Image, Reasoning
gemini-3-pro-previewGoogle1MText, Image, Reasoning
kimi-k2.5Moonshot256KText, Reasoning
glm-5Z.AI200KText, Reasoning
MiniMax-M2.5MiniMax200KText, Reasoning

Full catalog: 18 Anthropic models, 18 OpenAI models, 2 Google, 6 Moonshot, 3 Z.AI, 2 MiniMax. Run curl https://api.setu.ottocode.io/v1/models to see all available models with pricing.


CLI Reference

The plugin includes a full CLI for managing your wallet and configuration.

Setup & Server

CommandDescription
openclaw-setu setupInteractive setup — wallet generation + config injection
openclaw-setu startStart the local proxy server (port 8403)
openclaw-setu start -vStart with verbose logging (shows per-request costs)

Wallet Management

CommandDescription
openclaw-setu wallet generateGenerate a new Solana wallet
openclaw-setu wallet importImport an existing private key (base58)
openclaw-setu wallet exportPrint your private key
openclaw-setu wallet infoShow wallet address, Setu balance, and on-chain USDC balance

Configuration

CommandDescription
openclaw-setu config injectAdd Setu provider to openclaw.json
openclaw-setu config removeRemove Setu provider from openclaw.json
openclaw-setu config statusCheck if Setu is configured

OpenClaw Plugin Features

When OpenClaw loads the plugin (via openclaw.extensions in package.json), it automatically registers:

  • Providersetu appears in OpenClaw's auth wizard with wallet setup
  • Servicesetu-proxy auto-starts with the gateway
  • Commands:
    • /wallet — Show your wallet address and balances inline
    • /setu-status — Check plugin configuration status

How Is This Different from ClawRouter?

ClawRouter is another payment plugin for OpenClaw that uses USDC on Base (EVM) via the x402 protocol. Setu uses USDC on Solana instead.

SetuClawRouter
ChainSolanaBase (EVM)
TokenUSDC (SPL)USDC (ERC-20)
ProtocolSolana wallet signaturesx402 / EIP-712
Proxy Port84038402
AuthSolana wallet (base58)EVM wallet (0x hex)
Wallet Storage~/.openclaw/setu/wallet.key~/.openclaw/blockrun/wallet.key

Both achieve the same goal: pay-per-token AI with no API keys. Choose based on which chain you prefer. You can even run both simultaneously — they use different ports.


Importing an Existing Wallet

If you already use otto with Setu, you can reuse the same wallet:

# Export from otto
otto auth login setu  # if not already set up

# Import into OpenClaw plugin
openclaw-setu wallet import
# Paste your base58 private key when prompted

Or set the SETU_PRIVATE_KEY environment variable — the plugin checks it as a fallback.


Environment Variables

VariableDefaultDescription
SETU_PROXY_PORT8403Local proxy port
SETU_PRIVATE_KEYAlternative to wallet file (base58 Solana private key)

Troubleshooting

Proxy won't start

Make sure you've run openclaw-setu setup first. The proxy needs a wallet to sign requests.

402 Payment Required errors

Your Setu balance is low. Fund your wallet with USDC on Solana:

# Check your balance and wallet address
openclaw-setu wallet info

# Send USDC to the wallet address shown

Models not showing in OpenClaw

Verify the config was injected, then restart the gateway:

openclaw-setu config status
openclaw gateway restart

Port conflict

If port 8403 is in use, set a custom port:

SETU_PROXY_PORT=8404 openclaw-setu start

Then re-inject the config to update the port in openclaw.json:

SETU_PROXY_PORT=8404 openclaw-setu config inject