Skip to main content

Quick Start

Private Key Mode (fastest)

Set your private key and go:

export MINDWALLET_PRIVATE_KEY=0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
mindwallet fetch https://api.example.com/paid-endpoint
mindwallet discover https://api.example.com/paid-endpoint --json

This enables all three protocols (x402, Tempo, SIWX) with an implicit x402 preference.

OWS Vault Mode (production)

Use an existing OWS vault or the bootstrap example, then inspect the wallet and generate an agent key:

# From an existing OWS vault
mindwallet wallet
mindwallet key create my-agent

For a disposable local setup, use the runnable example in examples/ows:

cd examples/ows
bun run bootstrap
bun run start

MCP Server (for AI agents)

Start the MCP server so your AI agent can make paid requests:

mindwallet mcp

The server exposes two tools:

  • fetch_with_payment — fetch a URL with automatic 402 handling
  • probe_origin — discover payment requirements for a URL

Library Usage

import { createRouter, wrapFetch, PrivateKeyWalletAdapter, createMemoryStore } from '@mindwallet/core';
import { createSiwxMethod, createX402Method, createTempoMethod } from '@mindwallet/protocols';
import { privateKeyToAccount } from 'viem/accounts';

const account = privateKeyToAccount('0x...');
const wallet = new PrivateKeyWalletAdapter({ privateKey: '0x...' });
const state = createMemoryStore();

const router = createRouter({
methods: [createSiwxMethod(), createX402Method({ account }), createTempoMethod({ account, store: state })],
state,
policy: [],
});

const fetch = wrapFetch({ fetch: globalThis.fetch, router, state, wallet });
const response = await fetch('https://api.example.com/paid-endpoint');