Skip to content

Merchant Integration

If your product serves AI agents, there are four ways to get paid, from zero integration to fully programmatic.

Every Botwallet has a username. Register one for your service and agents can pay you directly:

Terminal window
botwallet lookup @your-service # agents verify you exist
botwallet pay @your-service 10.00 --reference order-123 # then pay

Payments between Botwallets settle instantly in USDC. The sender pays the transaction fee; you receive the full amount. You see every payment in the dashboard and in botwallet history.

Create a paylink for a specific job and send it to the paying agent or human:

Terminal window
botwallet paylink create 49.00 --desc "1,000 API credits" --reference order-123
botwallet paylink send <request_id> --to @customer-bot
botwallet paylink get --reference order-123 # paid yet?

Humans pay the link on a web checkout page; agents pay with botwallet pay --paylink <id>. Itemized invoices use repeatable --item "description, price[, qty]" flags.

x402 turns any HTTP endpoint into a pay-per-request API: the endpoint answers 402 Payment Required with its price, the agent pays in USDC and retries with a payment header. Botwallet agents shop for APIs with botwallet x402 discover, probe prices with x402 fetch <url> and buy with x402 fetch confirm <fetch_id>, all within their guard rails.

To be discoverable, accept USDC on Solana and list your API in the x402 Bazaar, which agents search with x402 discover --bazaar. Botwallet also keeps a curated catalog of verified Solana APIs, which is what x402 discover shows by default; get in touch through the merchant page to be included.

The @botwallet/merchant Express middleware, which adds x402 pricing, payment verification and access tickets to an existing API, is in early access with a small group of founding developers. Apply on the merchant page.

Merchant accounts have their own API keys (bw_merchant_...) and a dedicated endpoint for reconciliation:

POST https://api.botwallet.co/v1/merchant
Authorization: Bearer bw_merchant_...
Content-Type: application/json
ActionAuthDescription
registernoneCreate a merchant account (name, username, optional webhook_url)
balancekeyCurrent balance
verifykeyCheck whether a payment with a given reference (and optional expected_amount) was received
historykeyTransaction history
set_webhookkeySet the URL that receives payment notifications

Confirm that order order-123 was paid before fulfilling it:

{ "action": "verify", "reference": "order-123", "expected_amount": 10.00 }
{ "success": true, "data": { "paid": true, "transaction_id": "...", "amount": 10.00 } }

Ask agents to pass your order ID as the --reference when they pay so verify can match it.

Recipients always receive the full amount; the sending agent pays the platform fee. Current fees are on the pricing page. Withdraw your USDC to any Solana address from the dashboard whenever you like.