EU AI Act Article 50 โ€” 20 days to seal | Get passport

๐Ÿ”ง Technical Integration Guide

REST API, WebSocket events, Python SDK, A2A Agent Card, MCP protocol. Everything a developer needs to integrate DEFONEOS into existing defence systems.

300+

MCP Tools

Full JSON-RPC tool surface. Every DEFONEOS capability is an MCP tool.

JSON-RPC

Protocol

Standard MCP over HTTP/SSE. Compatible with Claude, GPT, Gemini, any MCP client.

Ed25519

SIGIL Signing

Every API call is hash-chained and Ed25519-signed. Immutable audit trail.

๐ŸŒ REST API
๐Ÿ“ก WebSocket
๐Ÿ Python SDK
๐Ÿค– A2A Protocol
๐Ÿ“‹ API Reference

๐ŸŒ REST API โ€” JSON-RPC over HTTP

The DEFONEOS API uses JSON-RPC 2.0 over HTTP POST. The endpoint is /mcp on the sovereign substrate (default port 3101).

Health Check

curl -X POST http://localhost:3101/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}' โ†’ {"jsonrpc":"2.0","id":1,"result":{"protocolVersion":"2025-06-18", "serverInfo":{"name":"defoneos","version":"1.0.0"}}}

List Available Tools

curl -X POST http://localhost:3101/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}' โ†’ {"tools":[{"name":"sigil_emit","description":"Emit SIGIL to audit chain"}, {"name":"bft_vote","description":"Cast BFT council vote"}, {"name":"swarm_launch","description":"Launch drone swarm"}, ... 300+ tools]

Call a Tool โ€” Emit SIGIL

curl -X POST http://localhost:3101/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":3,"method":"tools/call", "params":{"name":"sigil_emit", "arguments":{"line":"C|defoneos|test|Integration test"}}}' โ†’ {"digest":"a3f7b2e1...","signature":"Ed25519:...","prev_hash":"8c4f..."}

Authentication

API key passed via X-API-Key header. Keys issued via dorado_api_auth tool. Tier-based rate limits:

TierRate LimitTools AvailableCost
Free100 req/dayRead-only toolsยฃ0
Pro10K req/dayAll tools + BFTยฃ499/mo
GovernanceUnlimitedAll + council + auditยฃ2,499/mo
EnterpriseUnlimited + SLAAll + multi-region + PQCยฃ9,999+/mo

๐Ÿ“ก WebSocket Events โ€” Real-time Stream

DEFONEOS pushes real-time events over WebSocket. Subscribe to channels for live updates: SIGIL emissions, BFT votes, swarm status, sensor alerts, ISR detections.

Connect & Subscribe

wscat -c ws://localhost:3101/ws # Subscribe to channels > {"action":"subscribe","channel":"sigil"} > {"action":"subscribe","channel":"bft"} > {"action":"subscribe","channel":"swarm"} > {"action":"subscribe","channel":"sensor"} > {"action":"subscribe","channel":"isr"} # Live events stream in: < {"channel":"sigil","digest":"a3f7...","line":"C|swarm|launch|dragonfly-8"} < {"channel":"bft","proposal":"engage-Alpha-7","vote":"for","agent":"agent-14"} < {"channel":"swarm","mission":"msn-001","coverage":47,"drones_active":6} < {"channel":"sensor","node":"bat-03","detection":"drone","bearing":142}

Available Channels

ChannelEventsUse Case
sigilAll SIGIL emissionsAudit trail monitoring
bftBFT proposals, votes, consensusGovernance dashboard
swarmDrone launches, status, recallsC2 real-time map
sensorBatear detections, satellite passes, AISSensor fusion feed
isrYOLOv8 detections, target geolocationISR analyst terminal
councilCouncil proposals, deliberationsDecision tracking
auditCompliance assertions, chain verificationRegulator view

๐Ÿ Python SDK

The defoneos Python package provides a typed wrapper around the MCP API. Install via pip.

Installation

pip install defoneos

Quick Start

from defoneos import DEFONEOS # Connect to sovereign substrate df = DEFONEOS(host="localhost", port=3101, api_key="dk_...") # Emit a SIGIL result = df.sigil_emit("C|test|hello|Hello from Python SDK") print(f"Digest: {result.digest}") print(f"Signature: {result.signature}") # Launch swarm mission = df.swarm_launch(pattern="dragonfly", n_drones=6, area="SE-1444") print(f"Mission ID: {mission.mission_id}") # Monitor import time while True: status = df.swarm_status(mission_id=mission.mission_id) print(f"Active: {status.active}, Coverage: {status.coverage}%") if status.coverage >= 95: df.swarm_recall(mission_id=mission.mission_id) break time.sleep(10) # BFT vote vote = df.bft_vote(proposal="recall-swarm", choice="for") print(f"Consensus: {vote.consensus}, Votes: {vote.votes_for}/33")

Async Support

import asyncio from defoneos import AsyncDEFONEOS async def main(): df = AsyncDEFONEOS(host="localhost", port=3101) # Subscribe to WebSocket events async for event in df.subscribe("swarm"): print(f"Swarm event: {event}") if event.type == "mission_complete": break asyncio.run(main())

๐Ÿค– A2A (Agent-to-Agent) Protocol

DEFONEOS supports Google's A2A protocol for inter-agent communication. Other AI agents can discover DEFONEOS capabilities, submit tasks, and receive results asynchronously.

Agent Card Discovery

# Get DEFONEOS Agent Card (JSON-LD) curl http://localhost:3101/.well-known/agent.json โ†’ { "@context": "https://www.w3.org/ns/did/v1", "id": "did:csoai:defoneos", "name": "DEFONEOS Sovereign Defence OS", "description": "UK sovereign defence AI operating system", "capabilities": ["sigil_emit","bft_vote","swarm_launch",...], "skills": [ {"id":"eu-ai-act-compliance","name":"EU AI Act Compliance"}, {"id":"jsp936-audit","name":"JSP 936 Audit Generator"}, {"id":"isr-pipeline","name":"ISR Pipeline (YOLOv8+OpenAthena)"}, {"id":"swarm-coordination","name":"Drone Swarm Coordinator"} ], "authentication": {"type":"api-key","header":"X-API-Key"} }

Submit Task to DEFONEOS

# From another AI agent (e.g., Claude, GPT) POST http://localhost:3101/a2a/tasks { "message": "Launch ISR mission over grid SE-1444-NW, report detections", "skill_id": "isr-pipeline", "arguments": {"area": "SE-1444-NW", "duration": 300} } โ†’ {"task_id":"task-2026-0705-001","status":"submitted"} # Poll for result GET http://localhost:3101/a2a/tasks/task-2026-0705-001 โ†’ {"status":"completed","result":{"detections":3,"targets":[...]}}

Federation Topology

ProtocolUseStatus
A2A (Google)Agent-to-agent task delegationโœ… Live
MCP (Anthropic)Tool callingโœ… Live
SIGILSigned inter-agent messagingโœ… Live
x402 (Coinbase)Per-outcome paymentโœ… Live
DID (W3C)Sovereign identityโœ… Live
JWTSession authโœ… Live
WebSocketReal-time eventsโœ… Live
gRPCHigh-perf internal comms๐Ÿ”ง Planned

๐Ÿ“‹ Full API Reference โ€” Key Endpoints

EndpointMethodDescription
/mcpPOSTMCP JSON-RPC endpoint (all tools)
/wsWSWebSocket event stream
/.well-known/agent.jsonGETA2A Agent Card
/a2a/tasksPOSTSubmit A2A task
/a2a/tasks/:idGETGet A2A task status
/v1/sigil/eventsGETQuery SIGIL chain
/v1/sigil/statsGETSIGIL chain statistics
/v1/sigil/exportGETExport SIGIL chain (CSV/JSON)
/v1/dorado/cust-reportGETCustomer audit report
/v1/dorado/replayGETAudit trail replay for regulators

Rate Limiting

Rate limits applied per API key. Headers return quota:

X-RateLimit-Limit: 10000 X-RateLimit-Remaining: 9847 X-RateLimit-Reset: 1720195200

Error Codes

CodeMeaning
200Success
400Bad request (invalid params)
401Unauthorized (missing/invalid API key)
403Forbidden (tier insufficient for tool)
429Rate limited
500Internal error (SIGIL logged)
DEFONEOS Technical Integration Guide ยท REST ยท WebSocket ยท Python SDK ยท A2A ยท MCP ยท UK Sovereign ยท CSOAI Certified ยท SIGIL-signed