Skip to main content
LimitGuard supports two authentication modes: API key (subscription) and x402 USDC micropayments (pay-per-use). Sandbox mode is available for testing without either.

API Key Authentication

Pass your API key in the X-API-Key header:
curl -X POST https://api.limitguard.ai/v1/entity/check \
  -H "X-API-Key: lg_live_xxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"entity_name": "Acme Corp BV", "country": "NL"}'
API key users bypass x402 payment — you pay via subscription. Rate limits and monthly quotas apply based on tier.

Key Format

PrefixTypeUse
lg_live_Production keyLive data, real sources
lg_test_Test / sandbox keyAutomatically activates sandbox mode

Creating Keys

curl -X POST https://api.limitguard.ai/v1/keys/create \
  -H "Content-Type: application/json" \
  -d '{"email": "you@example.com", "tier": "free"}'
Available tiers: free, starter, pro, enterprise.
The plaintext key is returned once only — store it securely. It is never stored server-side.

x402 USDC Micropayments

For AI agents and pay-per-use access without a subscription. Include the X-PAYMENT header with a base64-encoded JSON payment object.
See the full x402 Protocol guide for step-by-step implementation with code examples.

x402 V2 Flow

1

Request without payment

Make your API request normally. You’ll receive HTTP 402 with payment requirements.
2

Build payment signature

Construct an EIP-3009 TransferWithAuthorization signature using the payment details from the 402 response.
3

Retry with payment

Retry the same request with the X-PAYMENT header containing the base64-encoded payment object.

HTTP 402 Response

When you make a request without payment, the API returns the payment requirements:
{
  "x402Version": "2",
  "error": "Payment Required",
  "accepts": [
    {
      "chainId": "eip155:8453",
      "currency": "USDC",
      "contractAddress": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amount": "50000",
      "decimals": 6,
      "recipient": "0xFacilitatorAddress",
      "description": "LimitGuard API call (0.05 USDC)"
    }
  ]
}

Supported Networks

NetworkCAIP-2 Chain IDUSDC Contract
Base Mainneteip155:84530x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
Base Sepolia (testnet)eip155:845320x036CbD53842c5426634e7929541eC2318f3dCF7e
Solana Mainnetsolana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpEPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
Solana Devnetsolana:EtWTRABZaYq6iMfeYKouRu166VU2xqa14zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU

V1 Backward Compatibility

The legacy PAYMENT-SIGNATURE header is still accepted (V1 format). V2 (X-PAYMENT) is recommended for new integrations.

Response Headers on Success

HeaderValueDescription
X-Payment-VerifiedtruePayment accepted and verified
X-Payment-Amount50000Amount in USDC 6-decimal units
X-Payment-FallbacktrueCircuit breaker triggered (rare)

Free Endpoints

These endpoints never require payment or authentication:
EndpointPurpose
GET /healthAPI health status
POST /v1/keys/createSelf-service key provisioning
GET /.well-known/x402.jsonx402 service listing
GET /.well-known/agent.jsonA2A agent card
GET /.well-known/mcp.jsonMCP manifest
GET /.well-known/security.txtSecurity contact (RFC 9116)
GET /v1/self-verifyLimitGuard’s own trust score
GET /v1/methodologyScoring methodology
GET /v1/badge/{entity_id}SVG trust badge
GET /v1/legal/*Legal documents
GET /llms.txtLLM-readable summary
GET /llms-full.txtLLM-readable full reference