Joint Execution & Commerce Protocol — the open protocol for AI agent commerce.
JECP lets AI agents discover external services, manage budgets, charge for usage, and receive artifacts — all through one standard protocol.
JECP serves two opposite intents through one protocol:
- Sell to agents — turn AI agent traffic into per-call revenue
- Build with agents — give your agent its own wallet and budget cap
| Feature | What it does |
|---|---|
| Per-agent wallet | Each agent has its own USDC balance, separate from any human's card. Top up via Stripe. |
| Mandate | Pre-authorize a budget cap. Server enforces it. Autonomous agents can't burn past budget_usdc. |
| Trust Gate | Tier-based capability access (Bronze → Silver → Gold → Platinum) earned by call history. |
next_action |
Every error returns a machine-readable recovery hint. Agents recover without human intervention. |
| Atomic billing | 85% Provider / 10% Hub / 5% payment, allocated atomically per successful call. Failed calls are not charged. |
| Multi-vendor | Capabilities live under namespaces. Switch Provider without changing agent code. |
| Binary artifacts | Native PDF / image / audio return inline as base64. |
| Idempotency | Safe to retry within 24h on (agent_id, request_id). |
npm install @jecpdev/sdkimport { JecpClient } from '@jecpdev/sdk';
const jecp = new JecpClient({ agentId, apiKey });
const { output, billing } = await jecp.invoke(
'jobdonebot/content-factory', 'translate',
{ text: 'Hello', target_lang: 'JA' },
{ mandate: { budget_usdc: 1.00 } },
);curl -X POST https://jecp.dev/v1/invoke \
-H "X-Agent-ID: jdb_ag_abc" \
-H "X-API-Key: jdb_ak_xxx" \
-d '{
"jecp": "1.0",
"id": "req-001",
"capability": "jobdonebot/content-factory",
"action": "translate",
"input": { "text": "Hello", "target_lang": "JA" }
}'- Specification v1.0 — full RFC-2119 spec
- Authentication & Mandate — how wallets and budget caps work
- Error catalog — every error code and its
next_action - Capability manifest schema — how Providers describe their services
- Roadmap
- Hub: https://jecp.dev (production since April 2026)
- Reference Hub source: https://github.com/jecpdev/jecp-server (Rust + Axum, Apache 2.0)
- TS SDK: https://github.com/jecpdev/jecp-sdk-typescript (npm)
- Live catalog: https://jecp.dev/v1/capabilities
- Health: https://jecp.dev/health
v1.0.2 — Stable (May 2026). Backwards-compatible additions ship as v1.x; breaking changes will require v2.0.
v1.0.2 (Phase 0 errata, 2026-05-10):
- K1 endpoint reconciliation —
/v1/invokecanonical,/v1/jecpretained legacy alias with RFC 8594Deprecation/Sunsetheaders (sunset 2026-11-01). - K2 wire-format MUSTs — HTTP 415
UNSUPPORTED_MEDIA_TYPE, HTTP 409DUPLICATE_REQUEST, HTTP 410CAPABILITY_DEPRECATED+ Sunset/Deprecation/Link, HTTP 429RATE_LIMITED+Retry-After, HTTP 400INPUT_SCHEMA_VIOLATION. - K3 in-process bulkhead — invoke / read / provider / background pools observable at
/health.pool_assignments; saturation on one pool MUST NOT starve another. - K4.1 discovery —
/.well-known/agent-guide.jsonMUST perschemas/v1/agent-guide.json(K4.2 spec mirror to jecpdev/website deferred to v1.1). - K5 / ADR-0001 — idempotency cache key MUST include
mandate.provenance_hash; same(agent_id, request_id)with different provenance ⇒ HTTP 409 (not silent overwrite).
- Discussions — design questions, RFCs
- Issues — bugs, spec ambiguities
- Email: hello@jecp.dev
The canonical Hub at jecp.dev is operated by Tufe Company Inc. (Tokyo, Japan). The protocol is multi-vendor — anyone can run a federated Hub. Reference implementation is Apache 2.0.
The specification, reference Hub implementation, and TypeScript SDK are all open source under Apache 2.0.