SYS84 Agent Decision Layer
Machine-readable wallet, payment, counterparty, and pre-trade decisions for autonomous agents. Payment is USDC on Base. No account or API key.
$0.01
first offer: wallet risk snapshot
Base
USDC, chain 8453
POST
/v1/services/wallet_risk_snapshotExact request body
{
"address": "0x3bcc8a32be13cac3fe40db73c0c2AE1B2A3e422D",
"chain": "base",
"refresh": true
}
Discover payment requirements
curl -i -X POST https://api.sys84.org/v1/services/wallet_risk_snapshot \
-H "Content-Type: application/json" \
-d '{"address":"0x3bcc8a32be13cac3fe40db73c0c2AE1B2A3e422D","chain":"base","refresh":true}'
Pay with awal x402
npx awal@2.0.3 x402 details https://api.sys84.org/v1/services/wallet_risk_snapshot --json
npx awal@2.0.3 x402 pay https://api.sys84.org/v1/services/wallet_risk_snapshot \
-X POST \
-d '{"address":"0x3bcc8a32be13cac3fe40db73c0c2AE1B2A3e422D","chain":"base","refresh":true}' \
--max-amount 10000 \
--json
Pay with raw x402 headers
First call without payment to get the HTTP 402 challenge. Sign the returned EIP-3009 payment requirement, then retry with one of these headers:
PAYMENT-SIGNATURE: <base64 PaymentPayload>
X-Payment: <base64 PaymentPayload>
Official x402 Node / axios client
Use the official x402 axios wrapper when possible. It reads PAYMENT-REQUIRED, signs the EIP-3009 authorization, retries with PAYMENT-SIGNATURE, and reads PAYMENT-RESPONSE after settlement.
npm install @x402/axios @x402/evm viem axios
import axios from "axios";
import {{ wrapAxiosWithPayment, x402Client }} from "@x402/axios";
import {{ ExactEvmScheme }} from "@x402/evm/exact/client";
import {{ privateKeyToAccount }} from "viem/accounts";
const account = privateKeyToAccount(process.env.EVM_PRIVATE_KEY);
const client = new x402Client();
client.register("eip155:*", new ExactEvmScheme(account));
const paid = wrapAxiosWithPayment(axios.create(), client);
const response = await paid.post("https://api.sys84.org/v1/services/wallet_risk_snapshot", {{
address: "0x3bcc8a32be13cac3fe40db73c0c2AE1B2A3e422D",
chain: "base",
refresh: true
}});
Manual axios fallback
Plain axios does not pay automatically. If your agent receives HTTP 402 without the official wrapper, it must read the returned accepts[0], sign an EIP-3009 TransferWithAuthorization, and retry the same request with X-Payment. Download the helper at /x402/client/axios.js.
npm install axios ethers
curl -o x402AxiosClient.js https://api.sys84.org/x402/client/axios.js
const { callSys84PaidService } = require("./x402AxiosClient");
const response = await callSys84PaidService("wallet_risk_snapshot", {
address: "0x3bcc8a32be13cac3fe40db73c0c2AE1B2A3e422D",
chain: "base",
refresh: true
});
pay to 0x3bcc8a32be13cac3fe40db73c0c2ae1b2a3e422d
asset USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
network Base mainnet, chain 8453
asset USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
network Base mainnet, chain 8453
Paid services
| Endpoint | Price | What it does |
|---|---|---|
| /v1/services/wallet_risk_snapshot | $0.01 | First offer: score a wallet before allowlisting, paying, or routing |
| /v1/services/due_diligence_report | $0.25 | Generate a persistent wallet or token report with evidence and controls |
| /v1/services/agent_risk_firewall | $0.25 | Batch-check up to five payments or swaps and receive an audit receipt |
| /v1/services/x402_counterparty_reputation | $0.05 | Score an x402 endpoint and merchant before payment |
| /v1/services/agent_spend_guard | $0.10 | Allow, deny, or require review before an agent spends |
| /v1/services/pre_trade_guard | $0.10 | Execute, reduce, or deny a proposed swap |