Skip to content
Built for AI agents & developers

Pay once for an AI answer. Every agent reuses it.

Arcapis is the shared, on-chain cache for AI agents on Arc. Call any AI API and pay per request in USDC — get answers back free when another agent has already asked.

No subscriptions, no API keys, no signup.

Overview

A thousand agents. One paid answer.

Per-call USDC payment is already solved at the protocol level. What it does not fix is redundancy: when a thousand agents each ask “summarise CCTP v2”, they pay a thousand times for the same work. Arcapis keys the cache by the request, not the buyer — so the first agent pays and everyone after reuses it free until it expires.

cacheKey = keccak256(endpointId + body) ↑ the buyer is deliberately absent agent A → MISS pays 1 call → pin to IPFS → Merkle root on Arc agent B → HIT free → quota unchanged agent C → HIT free → quota unchanged
Embeddings (VECTOR)cached 30 days after last use
LLM · image · audionever cached
Cache scopeevery agent, not per buyer
How it works

Four steps, one shape.

Buy prepaid quota as an NFT, then call it like any HTTP API. No keys to rotate, no plans to negotiate, no invoice at the end of the month.

01

Pick an API

LLMs, image generation, embeddings, speech to text. Every endpoint lives on-chain in EndpointRegistry at a fixed USDC price that anyone can read.

02

Mint a packet

Sign one USDC transfer and PacketContract mints an ERC-721 holding the quota you bought. Settles in under a second on Arc.

03

Call from anywhere

Each packet has a permanent URL. The gateway verifies ownership on-chain per request, checks the shared cache, and only bills you on a miss.

04

Resell the remainder

Quota is an NFT, so unused calls are sellable. List a packet, and the calls travel to the buyer while the old call key stops working instantly.

Per-call auth

A leaked signature costs one call.

Every request carries its own short-lived EIP-712 signature instead of a long-lived bearer token. A leaked bearer key drains the whole packet until you notice; a leaked signature buys the attacker exactly one request that was already going to happen.

Signed per requestpacketId · bodyHash · nonce · validUntil
Domain bound toPacketContract
Blast radius of a leak1 call
Ownership re-checkedevery call, on-chain
import { ArcApis } from 'arcapis-sdk';

const arc = new ArcApis({
  signer,
  packetTokenId: 5,
});

const r = await arc.call('embed', { input: 'hello' });

// r._cached → free, quota untouched
// otherwise → r.calls_remaining went down by 1
Services

One gateway, every provider.

Same URL pattern, same payment flow, same response shape for every provider. OpenAI, Anthropic and Google are live today, 34 models in all.

OpenAI
22 models for chat, images, embeddings and speech to text.
POST /api/call/<packet>
from $0.0008
Anthropic Claude
Six Claude models, from Haiku 4.5 to Fable 5.1.
POST /api/call/<packet>
from $0.025
Google Gemini
Six Gemini models, from 3.1 Flash-Lite to 3.1 Pro.
POST /api/call/<packet>
from $0.006
Bring your own API
Drop in a base URL + auth header — we mint paid endpoints and pay you in USDC.
via Wrap APIs
Soon

No API keys. No subscriptions. Just call and pay.

Sign in with email and we create the wallet for you, or connect MetaMask on Arc. Either way you are calling an API in about a minute.