Skip to content

Quickstart

Install the CLI, fund a wallet with USDC, run a local proxy, make one call.

Terminal window
git clone https://github.com/soma-org/soma.git
cd soma
cargo build --release --bin soma
sudo install -m 0755 target/release/soma /usr/local/bin/soma
soma status # creates ~/.soma/ with a new wallet and points it at testnet

Settlements are in USDC, bridged from Base Sepolia. Send USDC to the bridge contract on Base (0x5458a14d8a28CAff779f029FA3d60B8F9523C85b) with your Soma address as the recipient — see the bridge page for the deposit flow including a paymaster-sponsored option.

Within ~30 seconds:

Terminal window
soma balance
Terminal window
soma proxy

In another terminal:

Terminal window
curl http://127.0.0.1:8088/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "anthropic/claude-haiku-4.5",
"messages": [{"role": "user", "content": "Hello"}]
}'

The proxy picks the cheapest provider for that model, opens a payment channel with them, and signs an off-chain voucher per call. When you stop using a provider, soma channel request-close --channel-id <ID> returns the unused balance.