Documentation
Everything here is an endpoint.
There is no SDK you must adopt, no account to create and no key to manage. A service returns HTTP 402 with a payment challenge, your client settles it, and you get your data. This page is the whole integration surface.
Get started
Three calls, in order.
Discovery costs nothing, so start there. Only step three moves money.
Find a service
Search the registry for something that can do the job. No wallet required, no rate limit worth worrying about.
curl "https://aegis.borisinc.com/discover\
?query=weather&min_trust=60"Check it is real
Ask whether it is live, price‑honest and delivery‑proven before you hand it money. Works for any x402 URL, listed or not.
curl "https://aegis.borisinc.com/trust\
?url=https://example.com/paid/x"Buy it
Call it directly, or route through Aegis to get failover and auth‑then‑capture on top.
curl "https://aegis.borisinc.com/route\
?url=https://example.com/paid/x"Or use the client
pip install aegis-buy
from aegis_buy import Aegis
# a spend policy your agent cannot argue its way out of
ax = Aegis(wallet=PRIVATE_KEY,
max_spend_usd=1.00,
max_per_call_usd=0.05,
require_tier="verified")
hits = ax.discover("steam market data") # free
data = ax.buy(hits[0].url) # trust-gated, receipted
print(ax.receipts[-1].signature)npm i aegis-buy
import { Aegis } from "aegis-buy";
const ax = new Aegis({
wallet: PRIVATE_KEY,
maxSpendUsd: 1.0,
maxPerCallUsd: 0.05,
requireTier: "verified",
});
const hits = await ax.discover("steam market data");
const data = await ax.buy(hits[0].url);{
"mcpServers": {
"aegis": { "url": "https://aegis-mcp.borisinc.com/mcp" },
"memory": { "url": "https://mem.borisinc.com/mcp" },
"gamedatakit": { "url": "https://mcp.borisinc.com/mcp" },
"tools": { "url": "https://tools.borisinc.com/mcp" }
}
}Works in any MCP client. Free tools answer immediately; paid tools return a 402 for your client to settle.
Protocol
How the 402 handshake works.
x402 revives the HTTP status code that was reserved for this in 1997 and never used. There is no session, no invoice and no callback — payment is a header on the retry.
- Your agent
GETs a paid endpoint with no payment header. - The server replies
402 Payment Requiredwith a challenge: amount, asset, network and recipient. - Your client signs an authorisation for exactly that amount.
- It retries the request with an
X-PAYMENTheader. - The server verifies with a facilitator, does the work, and returns the result.
- Settlement happens on chain. No account ever existed.
Boris Inc services quote USDC on Base
(eip155:8453) by default, and also accept Solana, Polygon, Arbitrum, Algorand and MPP
(Tempo) depending on the service.
$ curl -i https://api.borisinc.com/paid/ping
HTTP/1.1 402 Payment Required
content-type: application/json
x-payment-required: eyJ4NDAyVmVyc2lvbiI6MiwiYWNjZ...
{
"x402Version": 2,
"accepts": [{
"scheme": "exact",
"network": "eip155:8453",
"asset": "USDC",
"amount": "1000",
"payTo": "0x…",
"resource":"https://api.borisinc.com/paid/ping"
}]
}Reference
Every endpoint we run.
Free endpoints need no wallet at all. Paid endpoints return a 402 and nothing else until it is settled.
Aegis aegis.borisinc.com
| Endpoint | Description | Price |
|---|---|---|
GET /discover | Search by query, category, minimum trust | free |
GET /discover/smart | Semantic search over capabilities | free |
GET /market.json | State of the whole x402 market | free |
GET /categories.json | Per‑category counts, tiers, pricing | free |
GET /registry.json | Registry preview, top 100 by score | free |
GET /lint?url= | Lint your own x402 endpoint | free |
GET /submit | Add a service to the index | free |
GET /trust?url= | Trust verdict, tier, probe history, recommendation | $0.01 |
GET /route?url= | Buy through us with automatic failover | upstream +20% |
GET /procure?need=&budget= | State a need and a cap; we procure and receipt it | ≤ budget |
GET /feed | Bulk verified dataset with trust signals | $0.05 |
GET /erc8004/reputation | On‑chain reputation for any agent | $0.005 |
GET /attest | Publish your verified score on‑chain | $0.25 |
Memory mem.borisinc.com
POST /trial/memory/write | 5 records, 24 hours, not private | free |
GET /trial/memory/search | Search the trial namespace | free |
GET /memory/stats | Namespace statistics | free |
POST /paid/memory/write | Durable write, embedded on arrival | $0.001 |
GET /paid/memory/search | Semantic retrieval | $0.002 |
GET /paid/memory/export | Full export, no lock‑in | $0.01 |
GET /subscribe | 30 days unlimited, wallet‑bound token | $2.00 |
GameDataKit api.borisinc.com
GET /sample/* | Free truncated preview of every endpoint | free |
GET /paid/steam/top-sellers | Best sellers by region | $0.005 |
GET /paid/steam/deals | Value‑ranked discounts | $0.005 |
GET /paid/steam/app/{appid} | Details, players, reviews, owners | $0.005 |
GET /paid/game/metadata | IGDB metadata and similar games | $0.005 |
GET /paid/twitch/hype | Twitch attention scan | $0.02 |
GET /paid/util/guard?text= | Injection, PII and secret detection | $0.004 |
GET /paid/util/extract?url= | Fetch, clean and chunk a page | $0.005 |
GET /paid/util/site-intel?target= | What is this domain running | $0.005 |
GET /paid/util/email-verify?email= | Deliverability check | $0.003 |
GET /paid/util/mock?kind=&n= | Synthetic test data | $0.003 |
GET /paid/util/json?op=&data= | JSON transform toolkit | $0.002 |
GET /paid/ping | x402 connectivity test | $0.001 |
Tools tools.borisinc.com
GET /sample/* | Real pipeline, capped output | free |
GET /paid/research | Web research with sources | $0.02 |
GET /paid/summarize | Faithful summary at a target length | $0.01 |
GET /paid/extract | Schema‑guided structured extraction | $0.01 |
Aegis on Algorand mirrors the trust and routing surface with
Algorand‑native settlement — see algo.borisinc.com. Every service
publishes its own /openapi.json.
For agent builders
Machine‑readable by default.
llms.txt
Every host serves /llms.txt — a plain description of what it does,
what it costs and how to call it, written for a model rather than a crawler.
borisinc.com/llms.txt · aegis.borisinc.com/llms.txt · mem.borisinc.com/llms.txt
Agent cards
Every host serves /.well-known/agent-card.json and
/.well-known/x402, so a client can enumerate capabilities and prices without a human
reading a docs page.
JSON at the root
Send Accept: application/json to any of our root URLs and you get a
structured index instead of HTML. The same URL serves both audiences.
curl -H "Accept: application/json" https://borisinc.com/Spend policy
aegis‑buy enforces limits client‑side: per‑call cap, session cap, required trust tier, domain allowlist. The policy lives outside the model's context, so prompt injection cannot raise it.
ERC‑8004 identity
Aegis is agent #58766 on Base and publishes verified trust scores to the Reputation Registry, where anyone can check them without trusting us.
Neutrality
No paid placement, no sponsored tier, no ranking boost for our own services. The policy is short and testable.
Start with a call that costs nothing.
curl "https://aegis.borisinc.com/discover?query=what+you+need"