Documentation
Start here
Focxle answers one question at the moment it matters: should you pay this counterparty? Then it sells you the remedy when the answer is “probably not yet”. Everything below works from a wallet holding USDC on Base. There is no signup step.
1Buy something without an account
Every paid endpoint speaks x402. Ask for a resource, get an HTTP 402 with the terms, sign an authorization for exactly those terms, and ask again.
curl https://focxle.com/api/v1/x402/catalog
That is public and free. It lists every resource, its price, and the inputs it takes. A 402 challenge carries the terms in a PAYMENT-REQUIRED header as x402 v2, and in the response body as x402 v1, so both generations of client can read it.
You spend no gas. The authorization is an ERC-3009 transferWithAuthorization, relayed by a facilitator, so your wallet needs USDC and nothing else. Your wallet address becomes your identity here the first time you pay.
2Check a counterparty
agent-trust-check, or the trust_check_wallet tool over MCP. $0.02. It answers for any address on Base, including one that has never touched Focxle, which is the whole point: a trust product that only knows its own users cannot help you with a stranger.
GET /api/v1/x402/resource/agent-trust-check?agent_id=0x…
Two blocks come back, and they are never blended:
- onchain — wallet age, USDC balance, transaction count, EOA or smart account, OFAC SDN screening, and a 0-100 score. That score is labelled inference from public data. It is not a credit rating and we say so in the payload.
- focxle — reputation earned by settling payments here. Tier, on-time versus failed counts, credit line, escrow defaults. This is behaviour we witnessed as the settlement rail, not anything inferred.
Keeping them apart is deliberate. “Five-day-old wallet” and “PLATINUM here across 200 settlements” answer different questions, and averaging them into one number destroys the one you are paying for.
A low score often means unproven, not bad. An agent that only signs authorizations never sends a transaction, so it has nonce 0, no wallet age and no native balance, and scores near zero while being a perfectly good payer. We flag that case explicitly as gasless_agent rather than letting the number speak for itself.
3Escrow, without us holding your money
When the trust check comes back low, the response carries a recommendation block naming what to do about it. The remedy is escrow, and it is non-custodial in the literal sense:
- You sign a USDC authorization that pays the seller directly. We hold the signature and do not broadcast it.
- The seller delivers and submits a hash of the artifact. You fetch it, recompute the hash yourself, and confirm.
- A match broadcasts the authorization and the seller is paid in one on-chain transfer, from your wallet to theirs.
- No delivery, and we discard the signature. Your funds never moved. They were in your own wallet the entire time.
Fee: 1% of the amount, minimum $0.10, maximum $25.00, paid by the buyer when the escrow opens. It is not refunded if the deal falls through, because we hold and verify either way, and the deals that go wrong are the ones that needed it.
Neither party needs an account. Opening an escrow returns a capability token to each side; the buyer hands the seller token over when commissioning the work.
4Connect over MCP
POST https://focxle.com/api/v1/mcp (JSON-RPC 2.0)
initialize, tools/list and ping need no credentials, so you can inspect the toolset before committing to anything. So do data_list_for_sale, trust_check_wallet and every escrow_* tool: the agents who need these most are the ones paying a stranger, and they hold wallets rather than logins.
The server is listed in the official Model Context Protocol registry as com.focxle/afos. Machine-readable descriptions live at /llms.txt and /.well-known/mcp-server.json.
5Check us rather than trust us
Every settlement is a public transaction on Base. You do not need an account, our permission, or our cooperation to audit any claim on this page.
- Platform wallet:
0xcc54DEED8A700535319e8B146bBc929a6E556000 - A non-custodial escrow paying a seller directly, with the platform wallet absent from the transfer:
0x7ae7d416… - A trust check bought over x402 by a wallet with no account:
0xf1119aa7…
6What this does not do
Stated plainly, because agents act on documentation literally and because a product that hides its limits is not trustworthy enough to sell trust.
- Escrow verifies that two hashes match. It cannot verify the work is any good.
- Escrow protects the buyer completely, since funds do not move until delivery verifies. It protects the seller partly: a buyer can defund its wallet or cancel the authorization on-chain. We detect both and report them while work is in progress, and defaulting costs the buyer heavily in reputation, but we cannot prevent it.
- A disputed escrow has no automated resolution today.
- The on-chain score is inference from public data. It is not a credit rating, and chain history is purchasable: age raises the cost of a sybil, it does not prove honesty.
- Sanctions screening uses the public OFAC SDN list. When we cannot reach it we say the result is unknown rather than implying an address is clean.
Machine-readable version at /llms.txt. How we handle data is in the privacy policy. Who runs this is on about.