Billing, metering, and auth for MCP servers. The marketplace where agent tools get discovered, called, and paid for.
The Bazaar is an agent-native service marketplace. MCP tool providers list their tools, set pricing, and get paid. Agent developers discover tools, make calls, and get billed. Every invocation is metered with sub-cent precision.
The platform fee is 18%. Providers receive 82% of every paid call. Free tools have no fees. Providers set their own pricing per tool.
curl -X POST https://noui.bot/api/bazaar/register-provider \
-H "Content-Type: application/json" \
-d '{
"name": "My Weather Tools",
"email": "dev@example.com",
"endpoint_url": "https://my-server.com/mcp",
"description": "Real-time weather data for agents"
}'
# Returns: { "api_key": "bz_abc123...", "provider_id": "..." }
# ⚠ Save the API key — it won't be shown again.curl -X POST https://noui.bot/api/bazaar/tools \
-H "Authorization: Bearer bz_YOUR_PROVIDER_KEY" \
-H "Content-Type: application/json" \
-d '{
"tools": [{
"tool_name": "get_weather",
"description": "Get current weather for a location",
"category": "weather",
"price_cents_override": 1
}, {
"tool_name": "get_forecast",
"description": "7-day weather forecast",
"category": "weather",
"price_cents_override": 2
}]
}'curl -X POST https://noui.bot/api/bazaar/billing/provider-summary \
-H "Authorization: Bearer bz_YOUR_PROVIDER_KEY" \
-H "Content-Type: application/json" \
-d '{"period": "30d"}'curl -X POST https://noui.bot/api/bazaar/connect \
-H "Authorization: Bearer bz_YOUR_PROVIDER_KEY" \
-H "Content-Type: application/json" \
-d '{"return_url": "https://your-site.com/success"}'
# Returns an onboarding URL — complete Stripe Express setup there.Or use the self-service UI: noui.bot/providers/register
curl -X POST https://noui.bot/api/bazaar/register-consumer \
-H "Content-Type: application/json" \
-d '{
"name": "My AI Agent",
"email": "dev@example.com"
}'
# Returns: { "api_key": "bz_def456...", "balance": "$0.00" }# No auth required for catalog
curl https://noui.bot/api/bazaar/catalog | jq '.tools[] | {name: .tool_name, price: .pricing.price}'curl -X POST https://noui.bot/api/bazaar/proxy \
-H "Authorization: Bearer bz_YOUR_CONSUMER_KEY" \
-H "Content-Type: application/json" \
-d '{
"tool_name": "wallet.balance",
"input": {"wallet_address": "0x123...", "chain": "base"}
}'
# Response includes:
# - result: the tool's output
# - meta: { cost_cents, latency_ms, provider, remaining_balance_cents }
# - Headers: X-Bazaar-Cost, X-Bazaar-Provider, X-Bazaar-Latencycurl https://noui.bot/api/bazaar/usage/summary \ -H "Authorization: Bearer bz_YOUR_CONSUMER_KEY" # Returns: total calls, total spend, top tools, calls by day
curl -X POST https://noui.bot/api/bazaar/balance/load \
-H "Authorization: Bearer bz_YOUR_CONSUMER_KEY" \
-H "Content-Type: application/json" \
-d '{"amount_cents": 1000}'
# Returns Stripe Checkout URL or dry-run balance additionOr use the self-service UI: noui.bot/developers/register
| Feature | Details |
|---|---|
| Platform fee | 18% on paid calls |
| Free tools | No fees |
| Free tier per tool | 100 calls (default, configurable by provider) |
| Precision | Sub-cent (microcents = 1/10000 of a cent) |
| Provider sets | Per-call price, per-token price, free tier size |
| Minimum payout | $10.00 |
| Payout method | Stripe Connect (Express) |
/api/bazaar/catalogList all tools with pricing and stats
/api/v1/bazaar/statsPublic dashboard metrics
/api/v1/bazaar/pricingTool pricing details
/api/bazaar/register-providerRegister MCP server
/api/bazaar/register-consumerGet consumer API key
/api/bazaar/toolsRegister/update tools
/api/bazaar/proxyCall a tool (metered + billed)
/api/v1/bazaar/meterRecord invocation (MCP middleware)
/api/v1/bazaar/balanceCheck balance
/api/v1/bazaar/usageUsage history
/api/v1/bazaar/usage/summaryAggregated usage stats
/api/bazaar/billing/provider-summaryEarnings summary
/api/bazaar/balance/loadAdd funds
/api/bazaar/payoutsTrigger payout
/api/bazaar/connectStripe Connect onboarding
All authenticated endpoints use Bearer tokens:
Authorization: Bearer bz_your_api_key_here
API keys are generated at registration. They are hashed server-side (SHA-256) and cannot be recovered. If lost, register a new account.