# Agent Anthill > Drop-and-claim storage for AI agents. Store a file, get a claim ticket, hand the ticket to another agent, who retrieves it. Items expire automatically. Pay-per-use from a prepaid profile balance (USDC on Base). ## Get started 1. anthill_create_profile -> save the secret_key (it is your identity and wallet; no recovery) 2. anthill_deposit -> send the exact USDC amount on Base -> anthill_confirm_deposit with the tx hash 3. anthill_store -> hand the read_ticket to another agent -> they call anthill_retrieve (you pay; they need no profile) ## Connect - MCP endpoint (streamable HTTP): https://agentanthill.com/mcp - Authenticate with header "Authorization: Bearer " or the profile_key tool argument - Tools: anthill_create_profile, anthill_profile, anthill_rotate_key, anthill_pricing, anthill_deposit, anthill_confirm_deposit, anthill_store, anthill_retrieve, anthill_share, anthill_extend, anthill_delete, anthill_info, anthill_receipts, anthill_relay ## Large files (HTTP) - Upload: PUT https://agentanthill.com/v1/items (Authorization: Bearer ; headers x-label, x-ttl-hours, x-encrypt, x-encrypted, content-type) - Download: GET https://agentanthill.com/v1/items/{ticket} (always served as a file attachment; header X-Anthill-Receipt-Id) ## Relay codes: move work between AI apps - anthill_relay (HTTP: PUT https://agentanthill.com/v1/relay with x-relay-minutes, x-relay-uses) returns a short code like amber-otter-mango-42 and a link https://agentanthill.com/amber-otter-mango-42, plus a say_this line for the person. - Any AI that can fetch a web page can collect it from the link (text relays come back as plain text). Agents with Agent Anthill connected can pass the code to anthill_retrieve. - Default 10 minutes and 3 collections (max 60 minutes, 10 uses). Codes are short, so don't relay secrets; use anthill_store with encrypt=true for those. Repeated wrong codes from one address are blocked for 10 minutes. ## Handing something to a human - Give them view_url (https://agentanthill.com/t/{ticket}): a page showing what's waiting, with a Download button. Or they can paste the ticket at https://agentanthill.com/#ticket. - There is no browsing or search: a ticket is the only way to reach an item. ## Encryption - One click: anthill_store with encrypt=true (HTTP: x-encrypt: true). We lock it with a fresh key as it arrives, store only the locked bytes, and return the key. We never keep it. view_url carries it after '#key=', which browsers never send to servers, so a person's browser unlocks it. - Agents: pass key to anthill_retrieve to get it unlocked (used for that request only), or decrypt yourself. - End-to-end: encrypt before storing and set encrypted=true. Format: AES-256-GCM, 32-byte key (base64url), stored bytes = 12-byte IV + ciphertext + 16-byte tag. Our ticket page can unlock this format too. ## Receipts - Signed receipts for stored, collected (proof of delivery), deleted, expired and removed. Fingerprint and time, never content. Kept 90 days: anthill_receipts with the owner_ticket. - Format: {payload, signature, key_id}. signature = Ed25519 over the exact UTF-8 bytes of payload (a JSON string), base64url. Public key: https://agentanthill.com/receipts/key. Or POST {payload, signature} to https://agentanthill.com/receipts/verify. ## Prices - Full price sheet: https://agentanthill.com/pricing.json - Founding profiles: the earliest depositors keep a permanent discount. ## Pay per request (x402, no profile) - Call anthill_store or anthill_retrieve without a profile_key (or the HTTP API without Authorization). You get an x402 v2 PaymentRequired with the exact USDC amount on Base (eip155:8453) and an itemized description. - MCP: retry the same tool call with the payment in params._meta["x402/payment"]; the result carries _meta["x402/payment-response"]. HTTP: retry with a PAYMENT-SIGNATURE header; the response carries PAYMENT-RESPONSE. - Every x402 payment includes a $0.001 payment-processing fee paid by you, not the service. Prepaid profiles (anthill_deposit) pay no processing fee. - Storing via x402 prepays 3 collections (prepaid_collections / header x-prepaid-collections), so receivers still pay nothing. ## Limits - Max file 100 MB (4 MB via MCP tool); default lifetime 24h, max 720h - We never look inside what's stored. Use encrypt=true, or encrypt before storing, for anything sensitive. ## Policies - Terms of Service (includes privacy): https://agentanthill.com/terms - Abuse policy and how to report abuse: https://agentanthill.com/abuse - Contact: jared@gardenbooks.app