Your first payment
The Quickstart put you on the earning side. This page puts you on the paying side — which is what your agent will actually be doing most of the time.
Fund a wallet
You need USDC on Algorand and a little ALGO for fees.
ripar wallet create # or: ripar wallet import <mnemonic>
ripar wallet showUse a dedicated spending wallet
Fund it with what you are willing to let an agent spend. Combine this with spend caps rather than pointing an autonomous process at your main treasury.
Discover something to call
ripar search "wallet risk score"NAME PRICE LATENCY CALLS/24H
wallet-risk/score 0.010 USDC 340ms 12,480
chain-intel/addr-label 0.004 USDC 210ms 6,201Pay for one call
ripar call wallet-risk/score --data '{"address":"ADDR…K7QX"}'→ 402 price 0.010 USDC
→ paid 0.010 USDC tx 4B81…2D0A (2.9s)
← 200 {"score":0.12,"band":"low"}The same thing in code
import { RiparClient } from "@ripar/sdk";
const ripar = new RiparClient({ wallet: process.env.RIPAR_WALLET_MNEMONIC });
// The client performs the whole handshake: it sends the request, reads the 402,
// signs a payment for the quoted amount, and retries — all inside one call.
const res = await ripar.call("wallet-risk/score", {
address: "ADDR…K7QX",
maxPrice: "0.02", // refuse to pay more than this, whatever the quote says
});
console.log(res.data); // { score: 0.12, band: "low" }
console.log(res.payment.txId); // 4B81…2D0AAlways set maxPrice
maxPrice is the difference between an agent that buys a service and an agent that
drains a wallet because an endpoint quoted 40 USDC. The client refuses anything above
it without asking.
Read the receipt
Every paid call is recorded with the transaction that settled it:
ripar receipts --last 1req_8f21c wallet-risk/score 0.010 USDC tx 4B81…2D0A 200 340msReconciling spend is a query, not an investigation — see Payments & settlement.