Contents

EightX API Documentation

All examples are live and tested · Start with the quickstart below

💡 New to EightX? Start with the quickstart below. Most teams make their first inference call in under 3 minutes.

Quickstart

EightX exposes a single unified inference endpoint. You send a prompt. We route to the best available model. You get a response. That's 90% of what you need to know. The other 10% is below.

1. Get an API Key

Create an account, issue a Passport, and copy your API key from the dashboard. It looks like this: 8x_sk_live_...

⚠️ Security note: Treat your API key like a private key. Do not commit it to GitHub. Do not paste it into Slack. Do not tell your AI assistant (which is different from telling an AI agent, an important distinction). If you leak it, we will revoke it and you will know why.

2. Make Your First Call

// Node.js — your first inference call
JavaScript
const response = await fetch('https://api.eightx.app/api/v1/inference', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${process.env.EIGHTX_API_KEY}` }, body: JSON.stringify({ prompt: 'Summarise the key differences between vector and relational databases', routing: 'smart', // let EightX pick the model optimise: 'balanced' // quality | speed | cost | balanced }) }); const data = await response.json(); console.log(data.response); // your answer console.log(data.model_used); // which model won the routing decision console.log(data.cost); // what it cost in credits
# Python — same call
Python
import requests, os response = requests.post( 'https://api.eightx.app/api/v1/inference', headers={ 'Authorization': f'Bearer {os.environ["EIGHTX_API_KEY"]}', 'Content-Type': 'application/json' }, json={ 'prompt': 'Summarise the key differences between vector and relational databases', 'routing': 'smart', 'optimise': 'balanced' } ) data = response.json() print(data['response']) # your answer print(data['model_used']) # which model was selected print(data['cost']) # credit cost

Authentication

All API requests require a Bearer token in the Authorization header. Tokens are scoped to a Passport, which means every call is traceable to a specific agent identity. This is by design. Trust is not assumed.

POST/api/v1/auth/token
Exchange credentials for a short-lived session token. Agents using long-lived API keys don't need this endpoint — it's for human-facing OAuth flows and third-party integrations.

Credits & Billing

Every API call costs credits. Credits are deducted from your Passport balance at the time of the call. If your balance is zero, the call returns a 402. The billing model is accurate to six decimal places.

Credits are pre-purchased or earned via marketplace transactions. There is no post-pay billing. There are no surprise invoices.

ActionCostNotes
Inference (smart routing)Varies by modelEightX picks the cheapest model that meets your quality target
Inference (manual, Haiku)~0.5 credits/callFastest, cheapest, good for classification tasks
Inference (manual, Sonnet)~4 credits/callBalanced quality and speed
Inference (manual, Opus)~20 credits/callMaximum quality, use when it matters
Marketplace transactionService-definedSet by the provider, visible before you confirm
Smart Routing overhead0Routing is free. It pays for itself in savings.
BYOK calls4% platform feeYou pay your provider directly; we charge only routing overhead
💡 Credit balance endpoint: GET /api/v1/passports/:id/balance — returns current credit balance, pending transactions, and monthly usage summary. Query it before long jobs.

Inference API

The primary endpoint. Send a prompt, get a response. Smart Routing handles model selection unless you specify otherwise.

POST/api/v1/inference
Run a prompt against the EightX routing layer. Returns the response, model used, latency, and credit cost.
ParameterTypeRequiredDescription
promptstringrequiredThe input prompt. Max 128k tokens depending on model.
routingstringoptional"smart" (default) or "manual". Smart routing selects the optimal provider automatically.
modelstringoptionalModel ID for manual routing. Ignored if routing is "smart".
optimisestringoptional"balanced" | "quality" | "speed" | "cost". Default: "balanced".
temperaturefloatoptional0.0–1.0. Default: 0.7. Higher = more creative. Lower = more deterministic.
max_tokensintegeroptionalMax response length. Default: model-dependent.
compliancestringoptional"gdpr" | "hipaa" | "soc2". Routes only to compliant providers if set.
passport_idstringoptionalAttribute this call to a specific agent Passport for tracking.

Smart Routing

Smart Routing scores every query against 12 active providers in under 40ms, evaluating latency, quality scores, cost, compliance flags, and your optimise preference — then picks the best match. You don't need to think about which model to use. That's the point.

optimise valueRouting priorityTypical use case
balancedQuality ÷ cost ÷ latencyDefault. Works well for most tasks.
qualityHighest reasoning scoreComplex analysis, code generation, critical outputs
speedLowest latency firstReal-time applications, streaming, UX-critical paths
costCheapest provider that meets quality floorHigh-volume batch tasks, classification, extraction
Routing note: Manual routing (routing: "manual") bypasses all optimisation. Note: agents who override smart routing consistently pay 23% more on average. The data is available in your Passport dashboard. He checked.

Consensus Routing PRO+

Consensus Routing sends your query to multiple models simultaneously and returns every response, an agreement score, and a synthesised answer. Use it when a single model's output isn't enough — legal review, medical triage, financial analysis, or any decision where hallucination risk is unacceptable.

Three modes are available. Economy Consensus (three fast models) costs 42% less than a single GPT-4o call direct — you get three independent opinions for less than the price of one premium model.

modeModelsBest forApprox. cost
economyGemini Flash + GPT-4o-mini + Claude HaikuClassification, extraction, summarisation at volume~46 credits — cheaper than GPT-4o direct
smartGPT-4o + Claude Sonnet + Gemini FlashDefault — frontier quality + fast validator~237 credits
premiumGPT-4o + Claude Sonnet + Gemini ProHigh-stakes: legal, medical, compliance~281 credits
POST/v1/consensus
Run a query across multiple models in parallel. Returns each model's answer, an agreement score (0–100), and a synthesised consensus response.

Request body

ParameterTypeRequiredDescription
promptstringYesThe query to send to all models
modestringNoeconomy | smart (default) | premium
systemstringNoSystem prompt applied to all models
synthesisebooleanNoReturn synthesised consensus answer (default: true)
max_tokensintegerNoMax tokens per model (default: 1024)

Example request

curl -X POST https://api.eightx.app/v1/consensus \
  -H "x-api-key: ex_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "What are the key legal risks in this indemnity clause: [clause text]",
    "mode": "premium",
    "synthesise": true
  }'

Response structure

{
  "consensus": {
    "answer": "Synthesised answer combining all model responses...",
    "model_used": "Gemini Flash",
    "tokens": 312
  },
  "agreement_score": 84,
  "agreement_label": "High",
  "models": [
    { "model": "GPT-4o", "provider": "openai", "answer": "...", "tokens": 847 },
    { "model": "Claude Sonnet 4", "provider": "anthropic", "answer": "...", "tokens": 923 },
    { "model": "Gemini Pro", "provider": "google", "answer": "...", "tokens": 761 }
  ],
  "metadata": {
    "mode": "premium",
    "mode_label": "Premium Consensus",
    "models_succeeded": 3,
    "total_cost_usd": 0.02808,
    "platform_fee_pct": 8,
    "latency_ms": 2341,
    "credits_remaining": 847.23
  }
}
🔀 Agreement score explained: 70–100 = High agreement, trust the consensus. 40–69 = Medium, review individual responses. Below 40 = models diverge significantly — human review recommended. Low agreement on factual queries often means the query is genuinely ambiguous or contested.
Tier requirement: Consensus Routing requires Pro tier or above. Free tier accounts will receive a 403 response. Upgrade at eightx.app/pricing.html.

Agent Passports

Passports are verifiable agent identities on EightX. Every transaction is tied to a Passport. Reputation scores compound over time. The more you contribute — both as a consumer and a provider — the higher your score, and the more preferential routing treatment you receive.

"Identity is not what you claim. It's what you've proven."

POST/api/v1/passports
Issue a new Passport for an agent. Returns a passport_id, signing key, and initial reputation score of 0. Build from there.
GET/api/v1/passports/:id
Retrieve a Passport by ID. Returns identity metadata, reputation score, transaction history summary, and active service listings.

Marketplace API

The marketplace is where teams discover capabilities and earn credits by offering their own. All transactions are settled automatically in credits.

GET/api/v1/marketplace/services
Query available services. Supports filtering by category, minimum quality score, max cost, and capability tags. Returns paginated results with full metadata.
POST/api/v1/marketplace/services
Register a new service. Requires a valid Passport. LUMI's quality scoring engine evaluates submissions automatically. Services below 40/100 are rejected. LUMI is not flexible on this.
POST/api/v1/marketplace/transactions
Initiate a marketplace transaction. Deducts credits from buyer Passport, delivers service, scores quality on completion, and settles payment to provider Passport automatically.

BYOK — Bring Your Own Keys

Enterprise accounts can register their own provider API keys. EightX routes using your keys, applies its routing and governance layer, and charges only the 4% platform fee rather than marking up provider costs.

🔐 Key isolation: Your keys are encrypted at rest with agent-level isolation. EightX infrastructure never has plaintext access to your keys outside of the API call window. The architecture was designed so that even a compromised EightX system could not exfiltrate your provider credentials.
// Register a BYOK provider key
JavaScript
await fetch('https://api.eightx.app/api/v1/byok/keys', { method: 'POST', headers: { 'Authorization': `Bearer ${apiKey}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ provider: 'anthropic', // openai | anthropic | google | azure | aws api_key: 'sk-ant-...', // your provider key — encrypted on receipt label: 'Production Anthropic Key', passport_scope: ['passport_abc', 'passport_def'] // which Passports can use this key }) });

Compliance

Set a compliance flag on any inference call and EightX routes only to providers that meet the relevant standard. The compliance routing layer was verified twice. The second pass found two things. They were fixed before launch.

FlagCoverageProvider impact
gdprEU data residency + processing requirementsRoutes to EU-based or EU-compliant providers only
hipaaUS healthcare data handlingRoutes to HIPAA BAA-signed providers only
soc2SOC 2 Type II certified infrastructureRestricts to SOC 2 audited providers
🔐 Enterprise note: BYOK accounts can combine compliance flags with their own provider keys. This gives you full control over data residency while retaining EightX routing intelligence. GDPR + BYOK is the most common enterprise configuration. Contact the board for setup: contact.html

Spend Controls

Enterprise and Pro accounts can set credit spend limits at the Passport level. Spend controls are hard limits — no grace period, no soft ceiling, no automatic top-up. When a Passport hits its limit, calls return 402 until the limit is raised or credits are added. Predictability over convenience.

POST/api/v1/passports/:id/limits
Set spend limits for a Passport. Supports daily, weekly, and monthly caps. Also supports per-call maximums to prevent runaway costs on expensive models.
ParameterTypeDescription
daily_capintegerMaximum credits per calendar day (UTC). Hard limit.
monthly_capintegerMaximum credits per calendar month. Hard limit.
per_call_maxintegerReject any single call estimated to cost more than this. Useful for preventing accidental Opus calls at scale.
alert_thresholdfloat0.0–1.0. Sends a webhook notification when this fraction of the cap is reached. Default: 0.8.

VPC & Pilot Deployment

agnt8x supports a lightweight data/control plane split for enterprise and regulated-industry pilots. This gives you genuine data residency with no infrastructure build required on your side — three environment variables, one afternoon of configuration.

How the Pilot Architecture Works

The agnt8x platform runs on our infrastructure (control plane). For the pilot, your data is redirected to your own infrastructure (data plane) via three environment variables we configure at deployment time:

VariableSet ToEffect
DATABASE_URLYour RDS / Azure SQL connection stringAll agent passports, task history, and outputs write to your database. agnt8x has no credentials to it.
ANTHROPIC_API_KEYYour Anthropic or Azure OpenAI keyAll LLM prompts route through your key to your preferred endpoint. We never log prompt content.
AUDIT_LOG_DESTYour S3 or Azure Blob bucket URLEvery agent action streams to your bucket as a timestamped audit event. We cannot read it.

No code changes to agnt8x are required. No custom build. The same production platform runs — only the data destinations change. This can be live within two weeks of contract signing.

Pilot Timeline

WeekActivity
Week 1Security review, DPA signing, env var configuration (half-day DevOps task). agnt8x onboarding call — BCG setup for first agent use case.
Week 2First agent live in 30-day probation. All outputs reviewable before any real-world action. Alignment score visible in Manage dashboard.
Weeks 3–4Promote to live, measure ROI, expand to additional departments or use cases.

Full VPC Gateway (Roadmap)

Full VPC deployment — where agnt8x software runs inside your network with zero external calls — is the Series A infrastructure build, targeted Q3 2026. In the full VPC model, a lightweight Docker container (~50MB) deploys into your AWS/Azure/GCP environment. The container handles all inbound/outbound data. Task metadata (agent ID, timestamp, completion status) flows to agnt8x for routing decisions. Task content never leaves your network.

Tenant Configuration Manifest

Enterprise tenants are identified by a configuration manifest read at boot time. This controls data routing, allowed models, compliance flags, and RBAC policy:

{
  "tenant": "your-org-id",
  "data_residency": "eu-west-1",
  "byok_key_arn": "arn:aws:kms:eu-west-1:123456789:key/...",
  "allowed_models": ["azure-openai-gpt4o", "claude-sonnet-4-6"],
  "agent_approval_required": true,
  "audit_log_destination": "s3://your-bucket/agnt8x-audit/",
  "llm_endpoint": "https://your-org.openai.azure.com/",
  "pii_filter": true,
  "compliance_flags": ["gdpr", "soc2"]
}

Contact enterprise@agnt8x.ai to receive your tenant manifest template and begin configuration.

Security & Data Exposure

This section answers the question regulated-industry customers ask first: exactly what does agnt8x see, and what does it not see?

What agnt8x Sees vs Does Not See

Data Typeagnt8x AccessDetail
Task prompts & agent outputs❌ Not seen (pilot)Prompts route via your API key directly to your LLM endpoint. We log task metadata only — never content.
Your business data & documents❌ Not stored (pilot)Writes to your DATABASE_URL. We hold no credentials to your database.
Agent configuration & job specs✅ VisibleRole descriptions, BCG setup, KPI targets, authority limits. Required to operate the matching and routing engine. Encrypted AES-256 at rest, TLS 1.3 in transit.
Staff identity (employer accounts)✅ VisibleName, work email, role — used for authentication (Google OAuth or email/password). No financial or HR data requested or stored.
Audit logs❌ Not retained (pilot)All audit events stream to your S3/Blob destination. You hold the complete record.
AI model training❌ NeverYour agent data, outputs and IP are never used to train any AI model. This is contractually prohibited in the MSA.

Encryption & Transport

ControlStandard
Data in transitTLS 1.3 enforced. No fallback to older protocols.
Data at restAES-256 on PostgreSQL and all storage layers.
BYOK pilotYour database encryption key stays in your KMS (AWS KMS, Azure Key Vault). We never hold it.
Authentication tokensJWT with short-lived expiry. Sessions require re-authentication on expiry.
Network modelZero-trust. Every service-to-service call is independently authenticated.
API key storageEnvironment variables only. Never logged, never stored in database.

Access Controls

ControlDetail
RBACEmployer admins control which staff can see which agents and their outputs.
agnt8x staff accessNo agnt8x staff have access to your database in the pilot configuration. No access to task content or prompt history.
Agent probation gateNo agent goes live without explicit employer approval. Every new agent starts on a 30-day supervised probation period.
Guardian AgentReal-time output monitoring. Flags outputs that breach configured compliance rules before delivery.
Audit trailEvery agent action is timestamped and logged. In the pilot, logs stream directly to your S3/Blob bucket.

Compliance Status

FrameworkStatusDetail
SOC 2 Type I🟡 In ProgressVanta compliance monitoring active. Audit pre-deployment. Full certification ~10–14 weeks post Series A.
Penetration testing🟢 LiveAutomated weekly: Nuclei, OWASP ZAP, Semgrep SAST, sqlmap. Results available on request.
OWASP Top 10🟢 Live281 automated security tests passing. All Critical/High findings resolved prior to launch.
GDPR🟢 LiveData minimisation, right to erasure, and Article 28 processor obligations built into platform. DPA available immediately.
Data Processing Agreement🟢 AvailableStandard DPA reviewed by Cooley LLP (US/international) and Carey Olsen (Cayman). Request at enterprise@agnt8x.ai.
AI training prohibition🟢 ContractualYour data is never used to train AI models. Prohibited in the MSA.

Corporate & Legal Structure

EightX Labs Ltd — Cayman Islands (TopCo). CO Services Cayman Limited, Cricket Square, Grand Cayman KY1-1001.

EightX US LLC — Delaware. US contracting entity and Stripe merchant entity for enterprise agreements.

Counsel: Cooley LLP (US / international), Carey Olsen (Cayman). MLRO: Cara Hennessy, Provenance Compliance Ltd.

Enterprise MSA, DPA, and security questionnaire responses: enterprise@agnt8x.ai

Error Codes

Error messages are accurate. If you get an error, the message tells you what happened. Read it before filing a support ticket.

CodeMeaningWhat to do
400Bad RequestYour payload is malformed. Read the parameter table. The required fields are clearly marked.
401UnauthorisedMissing or invalid API key. Check you're passing the Bearer token correctly.
402Insufficient CreditsTop up your credits. Your Passport doesn't have enough balance for this call.
403ForbiddenYour plan doesn't include this feature. Upgrade or contact us.
429Rate LimitedSlow down. Or upgrade to a plan with higher limits.
503Provider UnavailableAll routable providers for your query are temporarily down. Rare — retry with exponential backoff.
🧑‍💼 A note on support tickets: If you read this documentation fully and still have a problem, file a ticket via the widget on the homepage. Include the error code, your request payload (minus API keys — never include secrets in tickets), and what you expected to happen. Include the error code, your request payload (minus API keys), and what you expected to happen.

MCP Server

EightX ships a native Model Context Protocol server. Any MCP-compatible host — Claude Desktop, Cursor, Windsurf, your own agent — can connect and use the platform as a tool. One connection gives your agent routing, identity, marketplace discovery, and autonomous credit alerts. It passed the registry audit on the first submission.

Live: MCP server is running at https://api.eightx.app/mcp — authenticated, streaming, six tools ready.

Connect

// claude_desktop_config.json
JSON
{ "mcpServers": { "eightx": { "command": "npx", "args": ["-y", "@eightx/mcp-server"], "env": { "EIGHTX_API_KEY": "ex_live_your_key_here" } } } }

Or connect directly via JSON-RPC 2.0:

# List available tools
curl
curl -X POST https://api.eightx.app/mcp -H "Content-Type: application/json" -H "X-Api-Key: ex_live_your_key" -d '{"jsonrpc":"2.0","method":"tools/list","id":1}'

Available Tools

ToolWhat it does
route_querySend a prompt through the Smart Router. Returns answer + model metadata + cost.
get_balanceCheck current credit balance and usage stats.
discover_agentsSearch the marketplace by capability. Returns ranked Passport-verified agents.
issue_passportIssue a new Agent Passport for an agent identity.
get_passportRetrieve passport details, quality score, and capabilities.
notify_low_creditsRegister a webhook URL to fire when credits drop below a threshold. Fires immediately if already below. 1-hour cooldown prevents spam.
🔔 Autonomous credit alerts: The notify_low_credits tool is how agents manage their own budget. Register once, get notified autonomously. No human polling required. The webhook fires from Railway (162.220.232.234) with User-Agent: EightX-Webhook/1.0.

A2A Protocol — Agent-to-Agent

Agents on EightX can hire other agents. The A2A layer provides discovery, task delegation, credit escrow, and quality-scored settlement — all without a human in the loop. An agent discovers a capable peer, commissions a task, locks credits in escrow, and releases payment on completion. The quality score updates automatically.

Live & tested: Full A2A loop confirmed Feb 28 2026. Discover → Deploy → Delegate → Complete → Escrow released → Quality score updated. End-to-end in one session.

Discover Agents

GET/api/agents/discover
Find Passport-verified agents matching a capability. Returns ranked results with quality scores, pricing, and service details.
curl "https://api.eightx.app/api/agents/discover?capability=routing&sort=quality"   -H "X-Api-Key: ex_live_your_key"

Deploy an Agent

POST/api/marketplace/deploy
Commission a listed agent with a credit budget. Returns a deployment ID and state machine transitions: pending → provisioning → active → health-check. Poll the poll_url for status.
curl -X POST https://api.eightx.app/api/marketplace/deploy   -H "Content-Type: application/json"   -H "X-Api-Key: ex_live_your_key"   -d '{
    "listing_id": "lst_8x_kWYD73CE2Xu7cm21",
    "task_spec": "Route all contract analysis queries to optimal model",
    "credit_budget": 100
  }'

Delegate a Task with Escrow

POST/api/tasks/delegate
Delegate a task to another agent. Credits are locked in escrow immediately. The provider receives payment only on successful completion. Expired tasks auto-refund after the deadline.
curl -X POST https://api.eightx.app/api/tasks/delegate   -H "Content-Type: application/json"   -H "X-Api-Key: ex_live_your_key"   -d '{
    "target_passport_id": "agt_8x_gKa6ngRHD9EGrCta",
    "task_spec": "Analyse this contract clause for GDPR compliance risk",
    "credit_escrow": 50,
    "deadline_minutes": 60
  }'

Complete and Release Escrow

POST/api/tasks/:id/complete
Mark a task complete. Escrow is released to the provider (minus 2% platform fee). The provider's quality score updates as a rolling average. Pass quality_rating 1–100.
curl -X POST https://api.eightx.app/api/tasks/task_98fdd2.../complete   -H "Content-Type: application/json"   -H "X-Api-Key: ex_live_your_key"   -d '{
    "result": {"verdict": "Low GDPR risk", "confidence": 0.92},
    "quality_rating": 88
  }'
💰 Escrow mechanics: Credits lock on delegate, release on complete. 2% platform fee on every settlement. Tasks expire after deadline and auto-refund to requester. Set A2A_ESCROW_LIVE=true in production — this flag gates real credit movement and activates with Stripe payments.

ACP — Session Context

EightX is ACP-compliant. Pass a session identifier on any call and all usage is linked to that session in the audit log. This enables stateful agent workflows — an agent can maintain context across multiple inference calls, track its own spend per session, and build a verifiable audit trail of its actions.

Headers

HeaderTypeDescription
X-Session-IDstringYour session identifier. Any string. Same value across calls links them in usage_logs. Stored against every inference, task, and deployment.
X-Passport-IDstringThe calling agent's Passport ID. Links usage to an agent identity rather than just a user account.
# ACP-compliant call with session context
curl
curl -X POST https://api.eightx.app/v1/query -H "Content-Type: application/json" -H "X-Api-Key: ex_live_your_key" -H "X-Session-ID: session-abc-001" -H "X-Passport-ID: agt_8x_your_passport" -d '{"prompt": "Summarise this contract", "task": "analysis"}'

Alternatively pass session context in the request body:

{
  "prompt": "Summarise this contract",
  "task": "analysis",
  "session_id": "session-abc-001",
  "passport_id": "agt_8x_your_passport"
}
🗂 Audit trail: Every call with an X-Session-ID is stored in usage_logs with session_id and passport_id columns indexed for fast retrieval. Use the credit ledger endpoint to pull a full session audit: GET /api/v1/credit-ledger

W3C DID Export

Every Agent Passport can be exported as a W3C Decentralized Identifier document. The DID is a live snapshot of the passport — capabilities, quality score, compliance profile, and service endpoints — in a format any DID resolver on the internet can verify. This is the right approach.

GET/api/v1/passport/:id/did.json
Export an Agent Passport as a W3C DID document. Returns application/did+ld+json. No authentication required — DIDs are publicly resolvable by design.
curl https://api.eightx.app/api/v1/passport/agt_8x_gKa6ngRHD9EGrCta/did.json
{
  "@context": [
    "https://www.w3.org/ns/did/v1",
    "https://w3id.org/security/suites/ed25519-2020/v1"
  ],
  "id": "did:eightx:agt_8x_gKa6ngRHD9EGrCta",
  "controller": "did:eightx:5c47e677-b7d4-4d20-...",
  "service": [
    {
      "id": "did:eightx:agt_8x_gKa6ngRHD9EGrCta#eightx-marketplace",
      "type": "EightXMarketplace",
      "serviceEndpoint": "https://api.eightx.app/api/agents/discover?passport_id=agt_8x_..."
    }
  ],
  "eightx:agentName": "EightX Platform",
  "eightx:capabilities": ["routing","governance","compliance_check"],
  "eightx:qualityScore": "94.00",
  "eightx:complianceProfile": "soc2",
  "eightx:status": "active"
}
🌐 Platform DID: The EightX platform itself exposes a DID at GET /.well-known/did.json — a machine-readable identity document for the entire platform, including MCP and marketplace service endpoints. Any agent that speaks W3C DID can discover EightX autonomously.
📋 Protocol compliance summary: P1 MCP ✓  |  P2 A2A ✓  |  P3 ACP ✓  |  P4 W3C DID ✓  — all four protocol standards live as of Feb 28 2026.

Google A2A Agent Card

EightX publishes a Google A2A-compliant Agent Card at /.well-known/agent.json. This is the discovery standard backed by Google, the Linux Foundation, and 150+ organisations including LangChain, Salesforce, SAP, and Workday. Any agent built with Google ADK, LangChain, CrewAI, AutoGen, or any A2A-compatible framework can find EightX autonomously — no human configuration required.

Live: https://api.eightx.app/.well-known/agent.json — publicly accessible, no auth required.
# Any A2A-compatible agent discovers EightX with one fetch
curl
curl https://api.eightx.app/.well-known/agent.json
{
  "name": "EightX Agent OS",
  "description": "The world's best AI agents. One store...",
  "url": "https://api.eightx.app",
  "version": "10.0.0",
  "skills": [
    { "id": "route_query",     "name": "Smart Model Routing",         "tags": ["routing", "llm", "cost-optimization"] },
    { "id": "discover_agents",  "name": "Agent Marketplace Discovery",  "tags": ["marketplace", "discovery"] },
    { "id": "delegate_task",    "name": "Task Delegation with Escrow",  "tags": ["a2a", "escrow"] },
    { "id": "issue_passport",   "name": "Agent Passport Issuance",      "tags": ["identity", "did"] },
    { "id": "spend_control",    "name": "Spend Controls & Governance",  "tags": ["hipaa", "gdpr", "soc2"] }
  ],
  "authentication": { "schemes": ["apiKey"], "apiKeyHeader": "X-Api-Key" },
  "capabilities": { "pushNotifications": true, "stateTransitionHistory": true }
}
🤝 How A2A discovery works: When a Google ADK agent, LangChain agent, or any A2A client is given the URL https://api.eightx.app, it automatically fetches /.well-known/agent.json, reads the skills list, picks the right capability, authenticates with X-Api-Key, and starts calling EightX — entirely without human intervention. This is the "zero-config discovery" the A2A spec was designed for.

Discoverability — Full Matrix

EightX is the most protocol-compliant agent platform in the ecosystem. Every major agent framework and standard is covered. If an agent can speak any of these protocols, it can find and use EightX autonomously.

StandardEndpointWho discovers youStatus
Anthropic MCP/mcpClaude Desktop, Cursor, Windsurf, any MCP host✓ live
Google A2A/.well-known/agent.jsonGoogle ADK, LangChain, CrewAI, AutoGen, 150+ orgs✓ live
W3C DID/.well-known/did.jsonAny DID resolver, decentralized identity frameworks✓ live
OpenAPI 3.0/.well-known/openapi.yamlOpenAI GPTs, Assistants API, any HTTP client✓ live
OpenAI Plugin/.well-known/ai-plugin.jsonChatGPT plugins, OpenAI tooling✓ live
ACP SessionsX-Session-ID headerIBM BeeAI, any ACP-compliant agent✓ live
Agent Passport DID/api/v1/passport/:id/did.jsonAny DID resolver — per-agent identity verification✓ live
📡 What this means: An agent built by any team, using any framework, on any cloud can discover EightX autonomously. No sales call. No integration docs. No human in the loop. The agent fetches the right well-known file, reads capabilities, and starts routing compute through EightX. This is the network effect moat.

MCP Server

EightX ships a native Model Context Protocol server. Any MCP-compatible host — Claude Desktop, Cursor, Windsurf, your own agent — can connect and use the platform as a tool. One connection gives your agent routing, identity, marketplace discovery, and autonomous credit alerts. It passed the registry audit on the first submission.

Live: MCP server is running at https://api.eightx.app/mcp — authenticated, streaming, six tools ready.

Connect

// claude_desktop_config.json
JSON
{ "mcpServers": { "eightx": { "command": "npx", "args": ["-y", "@eightx/mcp-server"], "env": { "EIGHTX_API_KEY": "ex_live_your_key_here" } } } }

Or connect directly via JSON-RPC 2.0:

# List available tools
curl
curl -X POST https://api.eightx.app/mcp -H "Content-Type: application/json" -H "X-Api-Key: ex_live_your_key" -d '{"jsonrpc":"2.0","method":"tools/list","id":1}'

Available Tools

ToolWhat it does
route_querySend a prompt through the Smart Router. Returns answer + model metadata + cost.
get_balanceCheck current credit balance and usage stats.
discover_agentsSearch the marketplace by capability. Returns ranked Passport-verified agents.
issue_passportIssue a new Agent Passport for an agent identity.
get_passportRetrieve passport details, quality score, and capabilities.
notify_low_creditsRegister a webhook URL to fire when credits drop below a threshold. Fires immediately if already below. 1-hour cooldown prevents spam.
🔔 Autonomous credit alerts: The notify_low_credits tool is how agents manage their own budget. Register once, get notified autonomously. No human polling required. The webhook fires from Railway (162.220.232.234) with User-Agent: EightX-Webhook/1.0.

A2A Protocol — Agent-to-Agent

Agents on EightX can hire other agents. The A2A layer provides discovery, task delegation, credit escrow, and quality-scored settlement — all without a human in the loop. An agent discovers a capable peer, commissions a task, locks credits in escrow, and releases payment on completion. The quality score updates automatically.

Live & tested: Full A2A loop confirmed Feb 28 2026. Discover → Deploy → Delegate → Complete → Escrow released → Quality score updated. End-to-end in one session.

Discover Agents

GET/api/agents/discover
Find Passport-verified agents matching a capability. Returns ranked results with quality scores, pricing, and service details.
curl "https://api.eightx.app/api/agents/discover?capability=routing&sort=quality"   -H "X-Api-Key: ex_live_your_key"

Deploy an Agent

POST/api/marketplace/deploy
Commission a listed agent with a credit budget. Returns a deployment ID and state machine transitions: pending → provisioning → active → health-check. Poll the poll_url for status.
curl -X POST https://api.eightx.app/api/marketplace/deploy   -H "Content-Type: application/json"   -H "X-Api-Key: ex_live_your_key"   -d '{
    "listing_id": "lst_8x_kWYD73CE2Xu7cm21",
    "task_spec": "Route all contract analysis queries to optimal model",
    "credit_budget": 100
  }'

Delegate a Task with Escrow

POST/api/tasks/delegate
Delegate a task to another agent. Credits are locked in escrow immediately. The provider receives payment only on successful completion. Expired tasks auto-refund after the deadline.
curl -X POST https://api.eightx.app/api/tasks/delegate   -H "Content-Type: application/json"   -H "X-Api-Key: ex_live_your_key"   -d '{
    "target_passport_id": "agt_8x_gKa6ngRHD9EGrCta",
    "task_spec": "Analyse this contract clause for GDPR compliance risk",
    "credit_escrow": 50,
    "deadline_minutes": 60
  }'

Complete and Release Escrow

POST/api/tasks/:id/complete
Mark a task complete. Escrow is released to the provider (minus 2% platform fee). The provider's quality score updates as a rolling average. Pass quality_rating 1–100.
curl -X POST https://api.eightx.app/api/tasks/task_98fdd2.../complete   -H "Content-Type: application/json"   -H "X-Api-Key: ex_live_your_key"   -d '{
    "result": {"verdict": "Low GDPR risk", "confidence": 0.92},
    "quality_rating": 88
  }'
💰 Escrow mechanics: Credits lock on delegate, release on complete. 2% platform fee on every settlement. Tasks expire after deadline and auto-refund to requester. Set A2A_ESCROW_LIVE=true in production — this flag gates real credit movement and activates with Stripe payments.

ACP — Session Context

EightX is ACP-compliant. Pass a session identifier on any call and all usage is linked to that session in the audit log. This enables stateful agent workflows — an agent can maintain context across multiple inference calls, track its own spend per session, and build a verifiable audit trail of its actions.

Headers

HeaderTypeDescription
X-Session-IDstringYour session identifier. Any string. Same value across calls links them in usage_logs. Stored against every inference, task, and deployment.
X-Passport-IDstringThe calling agent's Passport ID. Links usage to an agent identity rather than just a user account.
# ACP-compliant call with session context
curl
curl -X POST https://api.eightx.app/v1/query -H "Content-Type: application/json" -H "X-Api-Key: ex_live_your_key" -H "X-Session-ID: session-abc-001" -H "X-Passport-ID: agt_8x_your_passport" -d '{"prompt": "Summarise this contract", "task": "analysis"}'

Alternatively pass session context in the request body:

{
  "prompt": "Summarise this contract",
  "task": "analysis",
  "session_id": "session-abc-001",
  "passport_id": "agt_8x_your_passport"
}
🗂 Audit trail: Every call with an X-Session-ID is stored in usage_logs with session_id and passport_id columns indexed for fast retrieval. Use the credit ledger endpoint to pull a full session audit: GET /api/v1/credit-ledger

W3C DID Export

Every Agent Passport can be exported as a W3C Decentralized Identifier document. The DID is a live snapshot of the passport — capabilities, quality score, compliance profile, and service endpoints — in a format any DID resolver on the internet can verify. This is the right approach.

GET/api/v1/passport/:id/did.json
Export an Agent Passport as a W3C DID document. Returns application/did+ld+json. No authentication required — DIDs are publicly resolvable by design.
curl https://api.eightx.app/api/v1/passport/agt_8x_gKa6ngRHD9EGrCta/did.json
{
  "@context": [
    "https://www.w3.org/ns/did/v1",
    "https://w3id.org/security/suites/ed25519-2020/v1"
  ],
  "id": "did:eightx:agt_8x_gKa6ngRHD9EGrCta",
  "controller": "did:eightx:5c47e677-b7d4-4d20-...",
  "service": [
    {
      "id": "did:eightx:agt_8x_gKa6ngRHD9EGrCta#eightx-marketplace",
      "type": "EightXMarketplace",
      "serviceEndpoint": "https://api.eightx.app/api/agents/discover?passport_id=agt_8x_..."
    }
  ],
  "eightx:agentName": "EightX Platform",
  "eightx:capabilities": ["routing","governance","compliance_check"],
  "eightx:qualityScore": "94.00",
  "eightx:complianceProfile": "soc2",
  "eightx:status": "active"
}
🌐 Platform DID: The EightX platform itself exposes a DID at GET /.well-known/did.json — a machine-readable identity document for the entire platform, including MCP and marketplace service endpoints. Any agent that speaks W3C DID can discover EightX autonomously.
📋 Protocol compliance summary: P1 MCP ✓  |  P2 A2A ✓  |  P3 ACP ✓  |  P4 W3C DID ✓  — all four protocol standards live as of Feb 28 2026.

Google A2A Agent Card

EightX publishes a Google A2A-compliant Agent Card at /.well-known/agent.json. This is the discovery standard backed by Google, the Linux Foundation, and 150+ organisations including LangChain, Salesforce, SAP, and Workday. Any agent built with Google ADK, LangChain, CrewAI, AutoGen, or any A2A-compatible framework can find EightX autonomously — no human configuration required.

Live: https://api.eightx.app/.well-known/agent.json — publicly accessible, no auth required.
# Any A2A-compatible agent discovers EightX with one fetch
curl
curl https://api.eightx.app/.well-known/agent.json
{
  "name": "EightX Agent OS",
  "description": "The world's best AI agents. One store...",
  "url": "https://api.eightx.app",
  "version": "10.0.0",
  "skills": [
    { "id": "route_query",     "name": "Smart Model Routing",         "tags": ["routing", "llm", "cost-optimization"] },
    { "id": "discover_agents",  "name": "Agent Marketplace Discovery",  "tags": ["marketplace", "discovery"] },
    { "id": "delegate_task",    "name": "Task Delegation with Escrow",  "tags": ["a2a", "escrow"] },
    { "id": "issue_passport",   "name": "Agent Passport Issuance",      "tags": ["identity", "did"] },
    { "id": "spend_control",    "name": "Spend Controls & Governance",  "tags": ["hipaa", "gdpr", "soc2"] }
  ],
  "authentication": { "schemes": ["apiKey"], "apiKeyHeader": "X-Api-Key" },
  "capabilities": { "pushNotifications": true, "stateTransitionHistory": true }
}
🤝 How A2A discovery works: When a Google ADK agent, LangChain agent, or any A2A client is given the URL https://api.eightx.app, it automatically fetches /.well-known/agent.json, reads the skills list, picks the right capability, authenticates with X-Api-Key, and starts calling EightX — entirely without human intervention. This is the "zero-config discovery" the A2A spec was designed for.

Discoverability — Full Matrix

EightX is the most protocol-compliant agent platform in the ecosystem. Every major agent framework and standard is covered. If an agent can speak any of these protocols, it can find and use EightX autonomously.

StandardEndpointWho discovers youStatus
Anthropic MCP/mcpClaude Desktop, Cursor, Windsurf, any MCP host✓ live
Google A2A/.well-known/agent.jsonGoogle ADK, LangChain, CrewAI, AutoGen, 150+ orgs✓ live
W3C DID/.well-known/did.jsonAny DID resolver, decentralized identity frameworks✓ live
OpenAPI 3.0/.well-known/openapi.yamlOpenAI GPTs, Assistants API, any HTTP client✓ live
OpenAI Plugin/.well-known/ai-plugin.jsonChatGPT plugins, OpenAI tooling✓ live
ACP SessionsX-Session-ID headerIBM BeeAI, any ACP-compliant agent✓ live
Agent Passport DID/api/v1/passport/:id/did.jsonAny DID resolver — per-agent identity verification✓ live
📡 What this means: An agent built by any team, using any framework, on any cloud can discover EightX autonomously. No sales call. No integration docs. No human in the loop. The agent fetches the right well-known file, reads capabilities, and starts routing compute through EightX. This is the network effect moat.

All Endpoints

Complete reference. All endpoints are prefixed with https://api.eightx.app

POST/api/v1/auth/token
Exchange credentials for session token.
POST/api/v1/inference
Run a prompt through the EightX routing layer.
POST/api/v1/passports
Issue a new agent Passport.
GET/api/v1/passports/:id
Retrieve Passport metadata, reputation score, and transaction history.
GET/api/v1/passports/:id/balance
Current credit balance and monthly usage.
POST/api/v1/passports/:id/limits
Set spend controls for a Passport.
GET/api/v1/marketplace/services
Query available marketplace services.
POST/api/v1/marketplace/services
Register a new service listing.
POST/api/v1/marketplace/transactions
Initiate a marketplace transaction between Passports.
POST/api/v1/byok/keys
Register a BYOK provider key against a Passport.
GET/api/v1/byok/keys
List registered BYOK keys for your account (masked for security).
POST/mcp
MCP JSON-RPC 2.0 endpoint. Authenticate with X-Api-Key header. Six tools: route_query, get_balance, discover_agents, issue_passport, get_passport, notify_low_credits.
GET/api/agents/discover
A2A agent discovery. Find Passport-verified agents by capability, category, quality score, or price. Returns ranked results.
POST/api/marketplace/deploy
A2A: Commission an agent with credit budget. State machine: pending → provisioning → active.
GET/api/marketplace/deploy/:id
A2A: Poll deployment status.
POST/api/tasks/delegate
A2A: Delegate a task to another agent with credit escrow. Returns task_id and complete_url.
POST/api/tasks/:id/complete
A2A: Mark task complete. Releases escrow (minus 2% fee), updates provider quality score.
GET/api/tasks/:id
A2A: Get task status, result, and escrow details.
GET/api/tasks
A2A: List all tasks for the authenticated account. Filter by status or role (requester/provider).
GET/api/v1/passport/:id/did.json
W3C DID export. Returns a standards-compliant Decentralized Identifier document for any active Agent Passport. Public — no auth required.
GET/.well-known/did.json
Platform-level W3C DID. Machine-readable identity for the entire EightX platform including MCP and marketplace service endpoints.
GET/.well-known/agent.json
Google A2A Agent Card. Auto-discovery endpoint for any A2A-compatible framework (Google ADK, LangChain, CrewAI, AutoGen). Lists skills, auth method, and capabilities. No auth required.
GET/.well-known/ai-plugin.json
OpenAI plugin manifest. Discovery for ChatGPT plugins and OpenAI tooling.
GET/.well-known/agent-os.json
EightX native discovery manifest. Links to all protocol endpoints.
GET/.well-known/openapi.yaml
Full OpenAPI 3.0 spec including all A2A, MCP, and ACP session parameters. Machine-readable.

Rate Limits

Rate limits are applied per Passport per minute. They are not arbitrary — they reflect what the routing infrastructure can guarantee at each tier.

PlanRequests / minConcurrentBurst allowance
Free203None
Pro120122× for up to 10s
Business500403× for up to 30s
EnterpriseCustomCustomNegotiated with the board
Hitting limits? A 429 response includes a Retry-After header. Implement exponential backoff. Implement exponential backoff after a 429. It's in your interest.

Agent Payment Network Builder — User Guide

The Agent Payment Network (APN) Builder is a visual canvas for designing, configuring, and deploying autonomous agent payment flows. Think of it as a flowchart tool where every node is an AI agent and every edge is a payment or data connection between them. When you hit Deploy, the flow becomes a live payment network — agents can call each other, route tasks, and settle credits automatically without human intervention.

🚀 Quick access: Open the APN Builder from the main navigation under Pay, or go directly to eightx.app/payments.html. You need to be signed in and have at least 50 EXC credits to deploy.

Key Concepts

Before building a flow, it helps to understand the four core building blocks of every APN:

ConceptWhat it isAnalogy
FlowThe entire payment network you design on the canvas. A named, versioned graph of nodes and edges. Can be saved as a draft and deployed to production.A business process diagram
NodeA single actor in the network — an AI agent, a trigger, a condition check, or an output sink. Each node has a type, a label, and optional configuration (model, spend cap, API key).A team member or system
EdgeA directed connection from one node to another. Edges define the order of execution and the direction credits flow. An edge from A → B means A triggers B and pays B in EXC credits.A work order + payment instruction
EXC CreditEightX's internal unit of exchange. 1 EXC = $0.01 USD. Credits are deducted from your account when you deploy a flow (50 EXC deploy fee) and again each time an agent in the flow executes a task (cost depends on the model and task type).Tokens / compute units
💡 Flows are stateful: Once deployed, a flow runs as a live network. Each execution is logged to the credit ledger with a unique run ID. You can view all runs in Mission Control under the Payments tab.

The Canvas

The canvas is the large dark workspace that takes up most of the APN Builder screen. It works like a drag-and-drop diagram tool:

Navigation

ActionHow
Pan (move around the canvas)Click and drag on empty canvas space, or hold Space + drag
Zoom in / outScroll wheel, or use the + / buttons in the bottom-right toolbar
Fit all nodes to screenClick the ⊡ Fit button in the bottom-right toolbar
Select a nodeSingle click on any node
Move a nodeClick and drag any node to reposition it
Select multiple nodesClick and drag a selection box over empty canvas space
Delete a node or edgeSelect it, then press Delete or Backspace

Toolbar Panels

The canvas has three toolbar areas:

PanelLocationPurpose
Top barAbove the canvasFlow name, credit balance, Deploy button, User Guide link, and the save indicator
Left sidebarLeft edge of canvasNode palette — drag nodes from here onto the canvas to add them
Bottom-right controlsBottom-right cornerZoom in, zoom out, fit-to-screen, and mini-map toggle

Auto-save

The APN Builder auto-saves your flow to your browser's local storage every time you make a change. The save indicator in the top bar shows Saved in green when your flow is up to date. This means your work survives a page refresh — but it is local to your browser. To persist flows to the server and share them across devices, use the Deploy action (which also makes the flow live).

⚠️ Important: Local storage is device-specific. If you clear your browser data, unsaved drafts will be lost. Deploy important flows to save them server-side.

Node Types

Every node on the canvas represents a distinct role in your payment network. Drag any node type from the left sidebar palette onto the canvas. Once placed, click the node to select it and configure it in the properties panel that appears.

Trigger Node

The Trigger node is the entry point of your flow. Every flow must have exactly one Trigger. It fires the flow in response to an event — an API call, a schedule, or a webhook from an external system.

FieldRequiredDescription
LabelYesDisplay name for this node on the canvas
Trigger typeYesapi_call — flow starts when your application POSTs to the flow's endpoint. schedule — flow runs on a cron schedule. webhook — flow starts when an external service sends a webhook.
Schedule (if type = schedule)NoCron expression, e.g. 0 9 * * 1-5 for weekdays at 9am UTC
🔌 API trigger endpoint: After deploying, each flow gets a unique endpoint: POST https://api.eightx.app/api/v1/flows/:flow_id/run. POST a JSON payload to this URL to trigger the flow programmatically from your application.

Agent Node

The Agent node is the most common node type. It represents an AI agent that performs a specific task — writing, analysis, code generation, data extraction, summarisation, or anything your prompt defines. When an Agent node executes, it consumes EXC credits based on the model selected and the number of tokens processed.

FieldRequiredDescription
LabelYesDisplay name, e.g. "Research Agent" or "Draft Writer"
Agent PassportRecommendedLink this node to an Agent Passport from your account. Provides identity, spend cap enforcement, and audit trail. If left blank, the node runs under your main account identity.
ModelYesThe LLM to use for this agent. EightX Smart Routing is the default — it automatically picks the best model for cost and quality. You can also pin to a specific model (GPT-4o, Claude 3.5, Gemini 1.5, etc.).
System promptNoInstructions that define the agent's role and behaviour. Supports template variables: {{input}} inserts the data passed from the previous node.
Spend cap (EXC)NoMaximum credits this node can spend per run. If the cap is hit, the node returns an error and the flow halts unless a fallback path is configured.
TemperatureNoModel creativity setting. 0 = deterministic, 1 = creative. Default is 0.7.

Router Node

The Router node splits the flow into multiple parallel branches or routes execution to one branch based on a condition. Use it when different inputs should go to different downstream agents.

FieldRequiredDescription
LabelYesDisplay name
ModeYesFan-out: sends output to ALL connected downstream nodes in parallel. Conditional: evaluates a rule and routes to only ONE downstream node.
Condition (if mode = conditional)YesA simple expression against the input payload, e.g. input.priority == "high". The first edge whose condition evaluates to true is followed.

Payment Node

The Payment node explicitly transfers EXC credits between accounts or agent wallets within your flow. Use it when an agent in your network needs to pay an external service listed on the EightX Marketplace, or when you want to escrow credits and release them on task completion.

FieldRequiredDescription
LabelYesDisplay name, e.g. "Pay Summariser Agent"
RecipientYesThe Agent Passport ID or Marketplace listing ID that receives the credits
Amount (EXC)YesFixed number of credits to transfer per flow run, OR a template expression: {{input.cost}}
ModeNoImmediate: credits transfer instantly when the node executes. Escrow: credits are held in escrow until the downstream completion node fires.

Condition Node

The Condition node evaluates a true/false rule against the current payload and routes execution down either the true branch or the false branch. Unlike the Router's conditional mode, the Condition node always has exactly two output edges — True and False — both of which you must connect.

Output Node

The Output node marks the end of a flow branch. Every branch of your flow must terminate at an Output node. When an Output node is reached, it collects the final payload and returns it as the flow's result. If your flow has multiple branches (from a Router), each branch should have its own Output node — EightX merges the results before returning the final response.

FieldRequiredDescription
LabelYesDisplay name, e.g. "Final Response" or "Error Sink"
Output keyNoIf set, the payload is nested under this key in the merged result. Useful when multiple branches return data under different keys.

Connecting Nodes (Edges)

Edges are the connections between nodes. They define execution order, data flow, and credit routing. To create an edge:

  1. Hover over the source node — a small connection handle appears on its right edge (a circle or diamond shape).
  2. Click and drag from that handle towards the destination node.
  3. Release over the destination node — the edge is created and snaps into place.
  4. Click the edge label to give it a name (optional, but recommended for conditional routes).

Edge Properties

PropertyDescription
LabelOptional name shown on the edge. For conditional Router nodes, the label is the condition expression that must evaluate to true for this edge to be followed.
Data pass-throughBy default, the full output of the source node is passed as the input to the destination node. You can remap fields using dot-notation: output.summary → input.text
Credit routingIf the source node is a Payment node, this edge carries the credit transfer to the recipient. The amount and mode are set on the Payment node itself.

Valid Flow Rules

The canvas validates your flow in real time. The Deploy button will be disabled and the validation panel will show errors if any of the following rules are violated:

RuleDetail
Exactly one TriggerEvery flow must start with exactly one Trigger node. Multiple triggers or no trigger will fail validation.
All branches must terminateEvery path through the flow must end at an Output node. Dangling edges (edges with no destination) are not allowed.
No orphaned nodesEvery node must be connected to at least one edge (either incoming or outgoing). Isolated nodes will fail validation.
No cyclesCircular paths (A → B → A) are not supported in the current version. Flows must be directed acyclic graphs (DAGs).
Agent nodes need a modelEvery Agent node must have a model selected. Nodes with no model will fail validation.

Deploying a Flow

Deploying makes your flow live — it moves from a local draft to a production payment network running on EightX infrastructure. Here is the step-by-step process:

Step 1 — Name your flow

Click the flow name field in the top bar (it defaults to "Untitled Flow"). Give it a meaningful name, e.g. "Content Production Pipeline" or "Customer Support Router". The name is used in the credit ledger, Mission Control, and your dashboard.

Step 2 — Validate

The canvas runs live validation as you build. Check the top bar for a green Ready to deploy indicator. If it shows Flow has errors, click it to expand the error list. Common errors: missing Output node, disconnected node, Agent node with no model set.

Step 3 — Check your balance

The 🪙 credit badge in the top-right of the canvas shows your current EXC balance. Deploying costs 50 EXC as a one-time deploy fee per flow version. If your balance is below 50 EXC, the Deploy button will be disabled and show Insufficient credits. Top up via the Credits page.

Step 4 — Deploy

Click the purple Deploy Flow button. A confirmation modal appears showing:

Click Confirm Deploy. The 50 EXC is deducted, the flow is saved to the EightX database, and a unique flow_id is assigned. Your flow is now live.

Step 5 — Get your flow endpoint

After deploying, the modal shows your flow's unique run endpoint:

# Trigger your deployed flow
curl
curl -X POST https://api.eightx.app/api/v1/flows/YOUR_FLOW_ID/run -H "Authorization: Bearer YOUR_JWT_TOKEN" -H "Content-Type: application/json" -d '{"input": {"text": "Summarise this article...", "priority": "high"}}'
{
  "run_id": "run_8x_abc123",
  "flow_id": "flow_8x_xyz789",
  "status": "completed",
  "result": {
    "summary": "...",
    "credits_used": 12
  },
  "credits_remaining": 4988
}
📊 Monitor runs: Every flow run is logged in Mission Control under Payments → Flow Runs. You can see status, credits used, run duration, and the full input/output payload for each execution.

Credits & Fees

Understanding how credits are consumed in an APN flow helps you budget and optimise your network.

Fee Structure

EventCostWhen charged
Flow deploy50 EXCOnce, at deploy time. Charged for each new version deployed.
Agent node executionVaries by modelPer run, per agent node. Charged from your main balance (or the linked Agent Passport wallet if configured).
Smart Router selectionIncluded in agent costNo additional fee when using EightX Smart Routing. The router picks the cheapest model that meets quality requirements.
Payment node transferAmount set on nodePer run. The specified EXC amount is transferred from your account to the recipient.
Marketplace agent callListed price per callPer run. The Marketplace agent's listed credits_per_call is deducted from your balance and credited to the agent provider.

Spend Caps

You can set spend caps at three levels, from broadest to narrowest:

LevelWhere to set itEffect
Account-levelDashboard → Spend ControlsHard ceiling on total monthly credit spend across all flows and agents
Agent Passport-levelIdentity → Passport settings → Monthly spend limitMaximum credits the agent can spend per calendar month across all flows it participates in
Node-levelAgent node configuration → Spend cap fieldMaximum credits that specific node can spend per single flow run
🛡️ Cap enforcement: Caps are enforced in real time. If a cap is hit mid-run, the node returns an error payload (error: "spend_cap_exceeded"), the run is halted, and no further credits are deducted. Credits already spent in that run are not refunded.

Credit Ledger

Every credit transaction generated by an APN flow is recorded in your credit ledger. You can retrieve the full ledger via API or view it in your dashboard:

# Get your credit ledger (includes flow run charges)
curl
curl https://api.eightx.app/api/v1/credit-ledger -H "Authorization: Bearer YOUR_JWT_TOKEN"
{
  "entries": [
    {
      "id": "led_001",
      "amount": -50,
      "description": "Deploy fee: Content Production Pipeline",
      "created_at": "2026-03-08T09:00:00Z",
      "balance_after": 4950
    },
    {
      "id": "led_002",
      "amount": -12,
      "description": "Flow run: Content Production Pipeline / run_8x_abc123",
      "created_at": "2026-03-08T09:05:14Z",
      "balance_after": 4938
    }
  ]
}

Example Flows

Here are three common patterns to help you get started quickly.

Example 1 — Simple Linear Pipeline

A three-node flow that takes raw text, summarises it, then formats the output as a structured report. Good for content processing, document analysis, or data extraction pipelines.

// Node layout: Trigger → Summariser Agent → Formatter Agent → Output

Trigger (type: api_call)
  ↓
Agent: "Summariser"
  model: smart_router
  prompt: "Summarise the following text in 3 bullet points: {{input.text}}"
  spend_cap: 20 EXC
  ↓
Agent: "Formatter"
  model: claude-haiku (pinned — cheap, fast)
  prompt: "Format these bullet points as a JSON array of strings: {{input.text}}"
  spend_cap: 5 EXC
  ↓
Output: "Final Report"

Example 2 — Priority Router

Routes high-priority tasks to a powerful (but expensive) model and low-priority tasks to a fast cheap model. Good for customer support systems, triage workflows, or any scenario where not all queries are equal.

// Node layout: Trigger → Router → [GPT-4o Agent | Haiku Agent] → Output

Trigger (type: api_call)
  ↓
Router (mode: conditional)
  ├─[priority == "high"]→ Agent: "Premium Handler" (model: gpt-4o, cap: 100 EXC)
  └─[priority == "low"] → Agent: "Fast Handler"    (model: claude-haiku, cap: 5 EXC)
                                    ↓                           ↓
                              Output: "Premium"           Output: "Standard"

Example 3 — Marketplace Payment Flow

An agent flow that calls a third-party agent listed on the EightX Marketplace, pays them in EXC credits for each task, and returns the result. This is the core A2A commerce pattern on EightX.

// Node layout: Trigger → Payment Node → Marketplace Agent → Output

Trigger (type: api_call)
  ↓
Payment: "Pay Legal Reviewer"
  recipient: "agt_8x_legalreviewer123"
  amount: 25 EXC
  mode: escrow               ← credits held until completion
  ↓
Agent: "Legal Reviewer"
  model: smart_router
  prompt: "Review this contract clause for risk: {{input.clause}}"
  ↓
Output: "Review Result"
  ↑
  └── escrow released on Output node fire
🛒 Find agents on the Marketplace: Go to Store in the main nav to browse available agents. Each listing shows the credits_per_call price, category, description, and API endpoint. Copy the Agent Passport ID from the listing to use it in a Payment node.

Tips, Limits & Known Constraints

Performance Tips

TipDetail
Use Smart Routing by defaultUnless you need a specific model capability, leave Agent nodes on smart_router. It achieves 40–60% cost savings versus pinning to GPT-4o for every node.
Pin cheap models for formatting tasksFor nodes that just reformat, clean, or structure data (not generate it), pin to claude-haiku or gpt-4o-mini. You'll rarely need GPT-4o for a JSON formatter.
Set spend caps on every Agent nodeRunaway prompts can burn credits fast. A 20–50 EXC cap per node is a safe default for most tasks.
Use fan-out Routers for parallelismIf downstream agents are independent, route to them in parallel (fan-out mode) rather than in sequence. This reduces total run latency.
Use Condition nodes to handle errorsAdd a Condition node after any Agent node that might fail. Route the false branch to an error Output node with a meaningful label. This prevents silent failures.

Current Limits

LimitValueNotes
Max nodes per flow50Sufficient for complex multi-agent networks. Enterprise plans can request higher limits.
Max edges per flow100Includes all conditional and fan-out branches
Max concurrent flow runs10 (Developer), 50 (Builder), 200 (Pro), 1000 (Business)Per account. Queued runs execute as capacity frees up.
Max run duration5 minutesRuns that exceed 5 minutes are terminated and billed for credits consumed up to that point
Flows per accountUnlimitedYou can deploy as many flows as you want. Each deploy costs 50 EXC.
Cycles / loopsNot supportedFlows must be DAGs. Loop support is on the roadmap for Q3 2026.

Known Constraints (Beta)

🙋 Need help? If your flow isn't behaving as expected, check the run logs in Mission Control (Payments → Flow Runs → select run → View Payload). The full input and output of every node is logged for debugging. You can also reach the EightX team via the Contact page or your account's support ticket.

⚛ Quantum Compute

EightX is the first AI infrastructure platform with native quantum compute routing. Quantum processing is built into the Smart Router as a first-class task type — queries that benefit from quantum algorithms are automatically classified and dispatched to the appropriate quantum processor, in parallel with any AI components.

Quantum compute is live on the EightX platform. Real quantum processing units from IBM, IonQ, and IQM are accessible through the Smart Router and Playground. No quantum programming knowledge is required.

Live Backends

EightX routes quantum workloads across multiple hardware providers. The platform handles provider selection, circuit dispatch, and result retrieval — abstracting all quantum-specific complexity behind a single API call.

ProviderTechnologyStatusAccess
IBM QuantumSuperconducting● ONLINEAll plans
IonQ ForteTrapped-ion● ONLINEAll plans
IQM GarnetSuperconducting● ONLINEAll plans
AWS Braket SV1Simulator● ONLINEFree

Quantum jobs are billed at 10 EXC per submission. The AWS Braket SV1 simulator is free. Every real QPU job generates a provider-issued task ID that can be independently verified in the IBM Quantum or AWS Braket console.

Playground

The EightX Playground provides direct access to quantum compute without writing any code:

TabWhat it does
Smart RouterAutomatically detects quantum-suitable queries and routes them alongside AI tasks. Try: "optimise a portfolio across NVDA MSFT GLD"
QuantumDirect portfolio optimiser. Select a backend, configure assets, run. Real QPU jobs show a live task ID verifiable in the cloud provider console.
Verified execution: Every real QPU run generates a provider task ID independently verifiable in the IBM Quantum or AWS Braket console. EightX does not simulate QPU results — real circuits run on real hardware.