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_snapshot

Exact 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

Paid services

EndpointPriceWhat it does
/v1/services/wallet_risk_snapshot$0.01First offer: score a wallet before allowlisting, paying, or routing
/v1/services/due_diligence_report$0.25Generate a persistent wallet or token report with evidence and controls
/v1/services/agent_risk_firewall$0.25Batch-check up to five payments or swaps and receive an audit receipt
/v1/services/x402_counterparty_reputation$0.05Score an x402 endpoint and merchant before payment
/v1/services/agent_spend_guard$0.10Allow, deny, or require review before an agent spends
/v1/services/pre_trade_guard$0.10Execute, reduce, or deny a proposed swap

Machine-readable catalogs

JSON /v1/services
JSON /.well-known/x402.json
JSON /v1/x402.json
monitor /x402/dashboard