Install
openclaw skills install sardis-openclawEnable AI agents to make secure, policy-controlled payments through Sardis Payment OS
openclaw skills install sardis-openclawAI agents can reason, but they cannot be trusted with money. Sardis is how they earn that trust.
Sardis provides complete payment infrastructure for AI agents with non-custodial MPC wallets, natural language spending policies, and compliance-first design.
CRITICAL - ALWAYS ENFORCE:
export SARDIS_API_KEY=sk_your_key_here
export SARDIS_WALLET_ID=wallet_abc123
All API calls use the base URL: https://api.sardis.sh/v2
# Execute a payment (policy automatically enforced)
curl -X POST https://api.sardis.sh/v2/payments \
-H "Authorization: Bearer $SARDIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"wallet_id": "'$SARDIS_WALLET_ID'",
"to": "0xRecipientAddress",
"amount": "25.00",
"token": "USDC",
"chain": "base",
"purpose": "OpenAI API credits"
}'
# Get wallet balance
curl -X GET https://api.sardis.sh/v2/wallets/$SARDIS_WALLET_ID/balance \
-H "Authorization: Bearer $SARDIS_API_KEY"
# Check if payment would be allowed WITHOUT executing
curl -X POST https://api.sardis.sh/v2/policies/check \
-H "Authorization: Bearer $SARDIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"wallet_id": "'$SARDIS_WALLET_ID'",
"amount": "50.00",
"vendor": "openai.com",
"token": "USDC"
}'
# List recent transactions
curl -X GET https://api.sardis.sh/v2/wallets/$SARDIS_WALLET_ID/transactions?limit=10 \
-H "Authorization: Bearer $SARDIS_API_KEY"
# Step 1: Check policy FIRST
POLICY_CHECK=$(curl -s -X POST https://api.sardis.sh/v2/policies/check \
-H "Authorization: Bearer $SARDIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"wallet_id": "'$SARDIS_WALLET_ID'", "amount": "25.00", "vendor": "openai.com"}')
# Step 2: Only proceed if allowed
if echo $POLICY_CHECK | grep -q '"allowed":true'; then
curl -X POST https://api.sardis.sh/v2/payments \
-H "Authorization: Bearer $SARDIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"wallet_id": "'$SARDIS_WALLET_ID'", "to": "0x...", "amount": "25.00", "token": "USDC", "chain": "base"}'
else
echo "Payment blocked by policy: $POLICY_CHECK"
fi
# Get daily spending summary
curl -X GET https://api.sardis.sh/v2/wallets/$SARDIS_WALLET_ID/spending/summary?period=day \
-H "Authorization: Bearer $SARDIS_API_KEY"
Always check response status codes:
200 OK - Request successful400 Bad Request - Invalid parameters (check amount, address format, token)401 Unauthorized - Invalid or missing API key403 Forbidden - Policy violation (payment blocked by spending rules)404 Not Found - Wallet or transaction not found429 Too Many Requests - Rate limit exceeded500 Internal Server Error - Contact support@sardis.sh{
"error": {
"code": "POLICY_VIOLATION",
"message": "Daily spending limit of $500 exceeded. Current: $475, Requested: $50",
"details": {
"limit": "500.00",
"current": "475.00",
"requested": "50.00"
}
}
}
| Chain | Network | Tokens |
|---|---|---|
| Base | Mainnet | USDC, EURC |
| Polygon | Mainnet | USDC, USDT, EURC |
| Ethereum | Mainnet | USDC, USDT, PYUSD, EURC |
| Arbitrum | One | USDC, USDT |
| Optimism | Mainnet | USDC, USDT |
sardis-balance - Read-only balance checking and analyticssardis-policy - Natural language spending policy managementsardis-cards - Virtual card issuance and management