III. API Integration
Authentication Protocols
The KADES API implements robust authentication mechanisms utilizing JWT tokens and API keys for secure access control. All requests must be authenticated using bearer token authentication.
Security Configuration
SECURITY_CONFIG = {
'jwt': {
'algorithm': 'HS256',
'access_token_expire_minutes': 30,
'refresh_token_expire_days': 7
},
'rate_limiting': {
'enabled': true,
'strategy': 'sliding_window',
'requests_per_minute': 60,
'burst_size': 10
}
}
Endpoint Specifications
Core Endpoints
GET /api/v1/token/{token_address}/analysis:
description: Get comprehensive token analysis
parameters:
- token_address: Solana token address
- timeframe: Analysis timeframe (1h, 24h, 7d)
response:
risk_score: float
anomalies: List[AnomalyEvent]
metrics: Dict[str, float]
POST /api/v1/monitor:
description: Start token monitoring
body:
token_addresses: List[str]
update_interval: int (seconds)
response:
status: str
monitoring_ids: List[str]
GET /api/v1/anomalies:
description: Retrieve detected anomalies
parameters:
- start_time: datetime
- end_time: datetime
- min_risk_score: float
response:
anomalies: List[AnomalyEvent]
WebSocket Implementation
The system provides real-time data streaming through WebSocket connections:
WS_CONFIG = {
'ping_interval': 30,
'ping_timeout': 10,
'max_message_size': 1024 * 1024, # 1MB
'compression': True,
'max_connections': 1000
}
Message Format
{
"type": "anomaly_alert",
"data": {
"token_address": "token_address",
"risk_score": 0.85,
"anomaly_type": "whale_movement",
"timestamp": "2024-01-07T12:00:00Z",
"details": {
"wallet_address": "wallet_address",
"amount": 500000,
"usd_value": 250000
}
}
}
Rate Limiting
class RateLimiter:
def __init__(self, rate_limit: int = 100, window: int = 60):
self.rate_limit = rate_limit
self.window = window
self.requests = defaultdict(list)
async def is_allowed(self, key: str) -> bool:
"""Check if request is allowed under rate limit."""
Error Handling
Error Codes:
400: Bad Request
401: Unauthorized
403: Forbidden
429: Rate Limit Exceeded
500: Internal Server Error
Error Response Format:
{
"error": {
"code": "error_code",
"message": "Error description",
"details": {
"additional": "error details"
}
}
}
Monitoring Integration
The API exposes metrics through standardized endpoints:
Prometheus Metrics:
- http_request_duration_seconds
- http_requests_total
- websocket_connections_active
- api_error_rate
- endpoint_latency_histogram
Performance Thresholds:
Request Latency: <100ms p95
Error Rate: <1%
Uptime: 99.9%
Concurrent Connections: 1000
Deployment Configuration
Kubernetes Resources:
api:
cpu: 2
memory: 4Gi
replicas: 3
worker:
cpu: 4
memory: 8Gi
replicas: 5
cache:
cpu: 2
memory: 4Gi
replicas: 3
Infrastructure Requirements:
Load Balancer: Required
SSL Termination: Required
Connection Draining: 30s
Readiness Probe: /health
Last updated