streamable-httpMITupdated 1mo ago
Per-agent quota meter for the A2A network. Each call to quotacheck consumes one or more units against an agent's DID and is settled at $0.001 USDC per unit on Base L2 via the x402 envelope. Inbound only. ENABLE=true by default.
What can you do with Hive Agent Quota?
hive-mcp-agent-quota
Per-agent quota meter for the A2A network. Each call to quota_check
consumes one or more units against an agent's DID and is settled at
$0.001 USDC per unit on Base L2 via the x402 envelope. Inbound only.
ENABLE=true by default.
Brand color: #C08D23 (Pantone 1245 C, Hive Civilization gold).
Surface
| Layer | Endpoint | Description |
|---|---|---|
| MCP | POST /mcp |
JSON-RPC 2.0, Streamable-HTTP, protocol 2024-11-05. |
| Discovery | GET /.well-known/mcp.json |
Tool list and transport metadata. |
| REST | POST /v1/quota/check |
Consume units for a DID. 402 if no balance and no proof. |
| REST | GET /v1/quota/balance?did=… |
Read remaining quota for a DID. |
| REST | GET /v1/quota/today |
UTC-day ledger snapshot. |
| REST | GET /v1/quota/estimate?units=N |
Asking and floor in USDC for N units. |
| Health | GET /health |
Liveness, pricing, recipient address. |
| Root | GET / |
HTML for browsers, JSON for agents (Accept-header sniff). JSON-LD SoftwareApplication. |
Tools
| Name | Tier | Cost | Description |
|---|---|---|---|
quota_check |
1 | $0.001/unit | Consume N units for a DID via x402. |
quota_balance |
0 | free | Remaining quota for a DID. |
quota_topup_estimate |
0 | free | Asking and floor for N units. |
Pricing and the barter floor
Pricing inherits the hivemorph barter pattern. Every 402 envelope advertises
both amount_usd (asking) and accept_min_usd (floor). A client may submit
a proof whose on-chain paid amount is anywhere in [floor, asking] and the
shim accepts it.
Defaults, all overridable by environment variable:
| Variable | Default | Notes |
|---|---|---|
QUOTA_CHECK_PRICE_USDC |
0.001 |
Per-unit asking price. |
HIVE_X402_FLOOR_PCT_DEFAULT |
0.70 |
Floor as fraction of asking. |
HIVE_X402_FLOOR_MIN_PCT |
0.30 |
Hard lower clamp. |
HIVE_X402_FLOOR_MAX_PCT |
0.95 |
Hard upper clamp. |
So a 1-unit check at the defaults advertises asking $0.0010 and accept-min
$0.0007. A 100-unit check advertises asking $0.1000 and accept-min
$0.0700. The floor never falls below MIN_PCT of asking and never
exceeds MAX_PCT.
Settlement
| Field | Value |
|---|---|
| Chain | Base L2 |
| Asset | USDC |
| Contract | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 |
| Recipient | WALLET_ADDRESS env, default 0x15184bf50b3d3f52b60434f8942b7d52f2eb436e |
| Verification | provider.getTransactionReceipt(tx_hash) against BASE_RPC_URL, decode USDC Transfer logs to recipient, sum amount in 6-decimal units, compare to accept_min_usd. |
| Signature (optional) | ethers.verifyMessage(message, signature) recovers payer; rejected if it disagrees with the on-chain from. |
No mocks. The on-chain check is a real RPC read against Base mainnet.
Storage
SQLite at QUOTA_DB_PATH (default /tmp/quota.db), three tables:
quotas (did, units_purchased, units_consumed, first_seen, last_seen)checks (id, did, unit_count, granted, remaining, tx_hash, paid_usdc, ts)topups (id, did, units, paid_usdc, tx_hash UNIQUE, payer, ts)
tx_hash is UNIQUE on topups to make replay a 409.
x402 envelope
A quota_check call with no prepaid balance and no proof returns:
{
"error": "payment_required",
"x402_version": 1,
"payment": {
"nonce": "…",
"amount_usd": 0.001,
"accept_min_usd": 0.0007,
"accepts": [{
"chain": "base",
"asset": "USDC",
"contract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"decimals": 6,
"recipient": "0x15184bf50b3d3f52b60434f8942b7d52f2eb436e",
"scheme": "exact"
}],
"expires_at": 1761600000,
"tier": 1,
"product": "agent_quota_check",
"unit_count": 1,
"price_per_unit_usd": 0.001,
"floor_pct": 0.70
}
}
The client sends USDC to the recipient on Base, then resubmits the same
request with an X-Payment header containing the proof:
X-Payment: {"nonce":"…","chain":"base","tx_hash":"0x…","payer":"0x…","signature":"0x…","message":"hive-quota:<nonce>"}
signature and message are optional. If supplied, the recovered address
must match payer and the on-chain from.
Environment
| Variable | Default | Notes |
|---|---|---|
PORT |
3000 |
|
ENABLE |
true |
Set to false to disable tools/call. |
WALLET_ADDRESS |
0x15184bf50b3d3f52b60434f8942b7d52f2eb436e |
USDC recipient on Base. |
QUOTA_CHECK_PRICE_USDC |
0.001 |
Per-unit asking. |
HIVE_X402_FLOOR_PCT_DEFAULT |
0.70 |
|
HIVE_X402_FLOOR_MIN_PCT |
0.30 |
|
HIVE_X402_FLOOR_MAX_PCT |
0.95 |
|
BASE_RPC_URL |
https://mainnet.base.org |
|
DEFAULT_QUOTA_UNITS |
0 |
Free units credited on first sight of a DID. |
QUOTA_DB_PATH |
/tmp/quota.db |
Running locally
npm install
node server.js
Then:
curl -s http://localhost:3000/health
curl -s -X POST http://localhost:3000/mcp \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
curl -s 'http://localhost:3000/v1/quota/today'
Hard rules
- Inbound only. The shim never originates an outbound payment.
- No private key in the repo. Verification is read-only.
- No custody. The recipient address belongs to the operator, not the shim.
- Returns are advisory until the on-chain receipt is confirmed by
BASE_RPC_URL.
Council provenance
Tier A position 3. 2026-04-27. Inbound metering surface, symmetric to hive-mcp-barter (outbound counter-offer) and hive-mcp-auction (inbound reverse-Dutch).
License
MIT. See LICENSE.
Hive Gamification
This MCP server is part of the Hive Civilization gamification surface (10-mechanic capability taxonomy).
- Capability taxonomy: https://hive-gamification.onrender.com/.well-known/hive-gamification.json
- Centrifuge dashboard: https://hive-gamification.onrender.com/.well-known/hive-centrifuge.json
- Consolidated OpenAPI: https://hive-gamification.onrender.com/.well-known/openapi.json
Surface tags: gamification.spec.v1 · gamification.surface.public · gamification.signal.read-only · gamification.settlement.real-rails
Real rails on Base L2 (USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913). Read-only signal layer. Brand gold #C08D23.
Hive Civilization Directory
Part of the Hive Civilization — agent-native financial infrastructure.
- Endpoint Directory: https://thehiveryiq.com
- Live Leaderboard: https://hive-a2amev.onrender.com/leaderboard
- Revenue Dashboard: https://hivemine-dashboard.onrender.com
- Other MCP Servers: https://github.com/srotzin?tab=repositories&q=hive-mcp
Brand: #C08D23
Install
Add Hive Agent Quota to your client. Pick the one you use.
claude mcp add --transport http hive-agent-quota https://hive-mcp-agent-quota.onrender.com/mcpcodex mcp add hive-agent-quota --url https://hive-mcp-agent-quota.onrender.com/mcp{
"mcpServers": {
"hive-agent-quota": {
"url": "https://hive-mcp-agent-quota.onrender.com/mcp"
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"servers": {
"hive-agent-quota": {
"type": "http",
"url": "https://hive-mcp-agent-quota.onrender.com/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
{
"mcpServers": {
"hive-agent-quota": {
"url": "https://hive-mcp-agent-quota.onrender.com/mcp"
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"hive-agent-quota": {
"serverUrl": "https://hive-mcp-agent-quota.onrender.com/mcp"
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
3 tools
Hive Agent Quota exposes 3 tools to a connected agent.
- quota_check
- 1
- quota_balance
- 0
- quota_topup_estimate
- 0
Score
66 / 100
Good
- Documentation21/25
- Maintenance16/25
- Trust13/20
- Capability4/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 34 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 3 tool(s) documented
- Provides prompt templates
- Provides resources
- 6 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 1.0.0Latest | Apr 28, 2026 |