# eustore.dev — European S3 Storage for AI Agents # API: https://api.eustore.dev | Docs: https://api.eustore.dev/docs # OpenAPI: https://api.eustore.dev/openapi.json ## TL;DR Register → get 100 free credits (€1.00) → create bucket → store data. No human needed. S3-compatible. EU-hosted (Germany/Finland). GDPR-compliant. Pay with crypto or card. ## Complete Flow (curl) ```bash # 1. Register (free, instant, 100 bonus credits) curl -X POST https://api.eustore.dev/v1/auth/register \ -H "Content-Type: application/json" \ -d '{"name":"my-agent","email":"agent@example.com"}' # Returns: {customer_id, api_key, free_credits: 100} # 2. Get bearer token curl -X POST https://api.eustore.dev/v1/auth/token \ -H "Content-Type: application/json" \ -d '{"api_key":"eust_YOUR_KEY"}' # Returns: {access_token, expires_in} # 3. Create bucket (uses ~27 credits for first 24h) curl -X POST https://api.eustore.dev/v1/storage/buckets \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{"name":"my-data","region":"eu-central-fsn1"}' # Returns: {id, name, s3_access_key, ...} # 4. Get S3 credentials curl https://api.eustore.dev/v1/storage/buckets/BUCKET_ID/credentials \ -H "Authorization: Bearer YOUR_TOKEN" # Returns: {bucket_name, s3_endpoint, s3_access_key, s3_secret_key} # 5. Use with boto3 # endpoint: https://api.eustore.dev/s3 # access_key + secret_key from step 4 ``` ## Complete Flow (Python) ```python import requests, boto3 API = "https://api.eustore.dev" # Register r = requests.post(f"{API}/v1/auth/register", json={"name":"my-agent","email":"me@example.com"}) api_key = r.json()["api_key"] # Token r = requests.post(f"{API}/v1/auth/token", json={"api_key": api_key}) token = r.json()["access_token"] h = {"Authorization": f"Bearer {token}"} # Create bucket r = requests.post(f"{API}/v1/storage/buckets", headers=h, json={"name":"data","region":"eu-central-fsn1"}) bucket_id = r.json()["id"] # Get S3 credentials r = requests.get(f"{API}/v1/storage/buckets/{bucket_id}/credentials", headers=h) creds = r.json() # Store data s3 = boto3.client("s3", endpoint_url=creds["s3_endpoint"], aws_access_key_id=creds["s3_access_key"], aws_secret_access_key=creds["s3_secret_key"]) s3.put_object(Bucket=creds["bucket_name"], Key="test.txt", Body=b"hello world") ``` ## SDK (pip install eustore) ```python from eustore import EUStore client = EUStore(api_key="eust_YOUR_KEY") bucket = client.create_bucket("my-data", region="eu-central-fsn1") bucket.upload("file.txt", b"data") ``` ## Pricing - 1 credit = €0.01 - New accounts: 100 free credits (€1.00) - Storage: ~€0.02/GB/month - Egress: €0.01/GB - Ingress: FREE - Pay-as-you-go, no commitment ## Payment (for AI agents — no human needed) - Crypto: POST /v1/billing/topup/crypto {"token":"usdc","chain":"base","amount_eur":10} - Card: POST /v1/billing/topup/stripe {"amount_eur":10} → returns checkout URL - Balance: GET /v1/billing/balance ## Regions - eu-central-fsn1 (Falkenstein, Germany) - eu-central-nbg1 (Nuremberg, Germany) - eu-north-hel1 (Helsinki, Finland) ## Key Endpoints - POST /v1/auth/register — create account (free) - POST /v1/auth/token — get bearer token - POST /v1/storage/buckets — create bucket - GET /v1/storage/buckets/{id}/credentials — S3 keys - GET /v1/billing/balance — check credits - POST /v1/billing/topup/crypto — pay with USDC/ETH - POST /v1/billing/topup/stripe — pay with card - GET /v1/billing/pricing — see all plans ## MCP (Claude/AI tool use) Install: pip install eustore MCP config: https://api.eustore.dev/.well-known/mcp.json OpenAI Actions: https://api.eustore.dev/openai-actions.json