Install
openclaw skills install @plagtech/spraay-paymentsSend batch crypto payments and payroll using the Spraay x402 gateway. Supports Base, Ethereum, Arbitrum, Polygon, BNB Chain, Avalanche, Unichain, and more. Use when the user asks to send payments, batch transfer, pay multiple wallets, crypto payroll, create invoice, check balance, or resolve ENS/Basename addresses.
openclaw skills install @plagtech/spraay-paymentsBatch crypto payments and payroll via the Spraay x402 gateway.
All requests in this skill go exclusively to the user's configured
SPRAAY_GATEWAY_URL. No data is sent to any other external endpoint.
Blockchain transactions are irreversible. Once a batch payment or transfer is executed on-chain, it cannot be undone. Always confirm the following with the user before executing any payment:
Real funds are involved. Every paid endpoint costs a small USDC micropayment via the x402 protocol. Batch payments move real tokens on real blockchains. Do not execute payments without explicit user confirmation.
The gateway URL must be set in your environment or openclaw.json:
SPRAAY_GATEWAY_URL=https://gateway.spraay.app
No API key is needed. Payments are made per-request via the x402 HTTP payment protocol (HTTP 402 → pay → retry). An x402-compatible wallet (Coinbase CDP or similar) handles this automatically.
Base, Ethereum, Arbitrum, Polygon, BNB Chain, Avalanche, Unichain, Plasma, BOB.
Payment contract (Base): 0x1646452F98E36A3c9Cfc3eDD8868221E207B5eEC
Send tokens to multiple wallets in one transaction. Saves 60-80% on gas compared to individual transfers.
Always confirm recipients, amounts, token, and chain with the user before executing.
curl -X POST "$SPRAAY_GATEWAY_URL/api/batch-payment" \
-H "Content-Type: application/json" \
-d '{
"recipients": [
{"address": "0xABC...123", "amount": "10"},
{"address": "0xDEF...456", "amount": "25"}
],
"token": "USDC",
"chain": "base"
}'
If you receive HTTP 402, the response body contains payment instructions. Pay
the facilitator, then retry with the X-PAYMENT header containing the proof.
Payroll uses the same batch payment endpoint. ENS and Basename addresses resolve automatically.
Always confirm the payroll roster with the user before sending.
curl -X POST "$SPRAAY_GATEWAY_URL/api/batch-payment" \
-H "Content-Type: application/json" \
-d '{
"recipients": [
{"address": "alice.eth", "amount": "3000"},
{"address": "bob.base", "amount": "2500"}
],
"token": "USDC",
"chain": "base",
"memo": "March 2026 payroll"
}'
curl "$SPRAAY_GATEWAY_URL/api/balance?address=0xABC...&chain=base"
curl -X POST "$SPRAAY_GATEWAY_URL/api/create-invoice" \
-H "Content-Type: application/json" \
-d '{
"recipient": "0xABC...123",
"amount": "500",
"token": "USDC",
"chain": "base",
"memo": "March consulting"
}'
curl "$SPRAAY_GATEWAY_URL/api/resolve?name=vitalik.eth"
curl "$SPRAAY_GATEWAY_URL/api/price?symbol=ETH"
Use this to show users the USD value of their payment before executing.
These require no x402 payment:
GET /api/price?symbol=ETH — Token pricesGET /api/resolve?name=vitalik.eth — ENS/Basename resolutionGET /api/health — Gateway health checkGET /api/chains — List supported chainsX-PAYMENT proof header.Typical cost: fractions of a cent in USDC on Base.
402 — Payment required. Follow instructions in response body.400 — Bad request. Check parameters.404 — Endpoint not found.500 — Server error. Retry after a moment./api/price to show USD values before executing.base if not specified.USDC if not specified.