← 返回
未分类 Key 中文

Sardis — Payment OS for AI Agents

Payment OS for AI agents. Create MPC wallets, execute stablecoin payments with automatic policy enforcement, set spending rules in natural language, check ba...
面向AI代理的支付操作系统,支持MPC钱包创建、稳定币自动支付、自然语言消费规则与余额查询。
efedurmaz16
未分类 clawhub v1.1.0 1 版本 100000 Key: 需要
★ 0
Stars
📥 431
下载
💾 0
安装
1
版本
#ai-agent#finance#latest#payments#usdc#wallet

概述

Sardis — Payment OS for AI Agents

> AI 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: non-custodial MPC wallets (Turnkey-backed), natural language spending policies, stablecoin transfers with automatic policy enforcement, virtual card issuance, and full audit trails with on-chain anchoring.

Setup

export SARDIS_API_KEY="sk_your_key_here"
export SARDIS_API_URL="https://api.sardis.sh"   # optional, defaults to production

Get your API key at https://app.sardis.sh or via the API:

curl -X POST https://api.sardis.sh/api/v2/auth/signup \
  -H "Content-Type: application/json" \
  -d '{"email": "you@example.com", "password": "your-password"}'

Security Requirements

CRITICAL — ALWAYS ENFORCE:

  • ALWAYS check spending policy before payment execution
  • NEVER bypass approval flows for transactions
  • NEVER hardcode wallet addresses or private keys
  • ALWAYS log transaction attempts for audit trail
  • ALWAYS verify recipient address format before sending
  • FAIL CLOSED on policy violations (deny by default)
  • Use X-API-Key header for authentication on every request

API Reference

Base URL: https://api.sardis.sh

All endpoints require the X-API-Key header.

1. Create Agent + Wallet

Provision an agent identity with an MPC wallet in one call.

curl -X POST https://api.sardis.sh/api/v2/agents \
  -H "X-API-Key: $SARDIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "my-agent",
    "description": "Payment agent for OpenAI billing"
  }'

Response:

{
  "agent_id": "agt_abc123",
  "name": "my-agent",
  "wallet_id": "wal_xyz789",
  "addresses": {"base": "0x...", "tempo": "0x..."},
  "kya_tier": "standard",
  "created_at": "2026-03-26T12:00:00Z"
}

Then attach a dedicated wallet if needed:

curl -X POST https://api.sardis.sh/api/v2/agents/agt_abc123/wallet \
  -H "X-API-Key: $SARDIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"chain": "base", "provider": "turnkey"}'

2. Send Payment

Unified payment endpoint with automatic policy enforcement, chain routing, and FX.

curl -X POST https://api.sardis.sh/api/v2/pay \
  -H "X-API-Key: $SARDIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "openai.com",
    "amount": "25.00",
    "currency": "USDC",
    "chain": "base"
  }'

Response:

{
  "status": "completed",
  "tx_hash": "0xabc...def",
  "amount": "25.00",
  "currency": "USDC",
  "chain": "base",
  "policy_result": {"allowed": true, "checks_passed": ["daily_limit", "merchant_allowlist"]},
  "route": {"chain": "base", "provider": "alchemy", "gas_estimate": "0.0012"}
}

Omit chain to let Sardis auto-route to the cheapest chain:

curl -X POST https://api.sardis.sh/api/v2/pay \
  -H "X-API-Key: $SARDIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"to": "anthropic.com", "amount": "100.00", "currency": "USDC"}'

3. Check Policy (Dry Run)

Pre-flight check whether a payment would be allowed by current policies.

curl -X POST https://api.sardis.sh/api/v2/policies/check \
  -H "X-API-Key: $SARDIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "agent_id": "agt_abc123",
    "amount": "50.00",
    "currency": "USDC",
    "merchant": "aws.amazon.com"
  }'

Response:

{
  "allowed": true,
  "reason": "All policy checks passed",
  "checks_passed": ["daily_limit", "per_tx_limit", "merchant_allowlist"],
  "checks_failed": [],
  "remaining_daily_limit": "450.00"
}

4. Set Policy (Natural Language)

Define spending rules in plain English. Sardis parses them into enforceable constraints.

curl -X POST https://api.sardis.sh/api/v2/policies/apply \
  -H "X-API-Key: $SARDIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "agent_id": "agt_abc123",
    "natural_language": "Max $500 per day. Only allow OpenAI and Anthropic. No transactions over $200."
  }'

Response:

{
  "policy_id": "pol_def456",
  "agent_id": "agt_abc123",
  "parsed_rules": [
    {"type": "daily_limit", "value": "500.00", "currency": "USD"},
    {"type": "merchant_allowlist", "merchants": ["openai.com", "anthropic.com"]},
    {"type": "per_transaction_limit", "value": "200.00", "currency": "USD"}
  ],
  "version": 3,
  "applied_at": "2026-03-26T12:05:00Z"
}

You can also preview before applying:

curl -X POST https://api.sardis.sh/api/v2/policies/preview \
  -H "X-API-Key: $SARDIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"agent_id": "agt_abc123", "natural_language": "Block all payments over $1000"}'

5. Check Balance

# Single-chain balance
curl -X GET "https://api.sardis.sh/api/v2/wallets/wal_xyz789/balance?chain=base" \
  -H "X-API-Key: $SARDIS_API_KEY"

Response:

{
  "wallet_id": "wal_xyz789",
  "chain": "base",
  "balance": "1250.00",
  "currency": "USDC",
  "updated_at": "2026-03-26T12:00:00Z"
}
# Multi-chain balances (all chains at once)
curl -X GET "https://api.sardis.sh/api/v2/wallets/wal_xyz789/balances" \
  -H "X-API-Key: $SARDIS_API_KEY"

6. Issue Virtual Card

Issue a stablecoin-funded virtual Visa card for real-world purchases.

curl -X POST https://api.sardis.sh/api/v2/cards/virtual/issue \
  -H "X-API-Key: $SARDIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": "25.00",
    "card_type": "single_use"
  }'

Response:

{
  "card_id": "crd_abc123",
  "card_number": "4242424242424242",
  "cvv": "123",
  "expiry": "12/27",
  "amount": "25.00",
  "currency": "USD",
  "card_type": "single_use",
  "status": "active"
}

7. Wallet Transfer (Direct)

Transfer stablecoins from a specific wallet (with automatic policy enforcement).

curl -X POST https://api.sardis.sh/api/v2/wallets/wal_xyz789/transfer \
  -H "X-API-Key: $SARDIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
    "amount": "50.00",
    "token": "USDC",
    "chain": "base",
    "agent_id": "agt_abc123"
  }'

Response:

{
  "tx_hash": "0xdef...abc",
  "status": "confirmed",
  "amount": "50.00",
  "token": "USDC",
  "chain": "base",
  "block_number": 12345678
}

8. Transaction Status

curl -X GET "https://api.sardis.sh/api/v2/transactions/status/0xabc...def" \
  -H "X-API-Key: $SARDIS_API_KEY"

9. Agent Spending Analytics

curl -X GET "https://api.sardis.sh/api/v2/agents/agt_abc123/spending" \
  -H "X-API-Key: $SARDIS_API_KEY"

10. Create Spending Mandate

Spending mandates define scoped, time-limited authority over funds.

curl -X POST https://api.sardis.sh/api/v2/mandates \
  -H "X-API-Key: $SARDIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "wallet_id": "wal_xyz789",
    "agent_id": "agt_abc123",
    "max_amount": "1000.00",
    "currency": "USDC",
    "expires_at": "2026-04-01T00:00:00Z",
    "merchant_allowlist": ["openai.com", "anthropic.com"]
  }'

Complete Onboarding Flow

# 1. Create agent (auto-provisions wallet)
AGENT=$(curl -s -X POST https://api.sardis.sh/api/v2/agents \
  -H "X-API-Key: $SARDIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "billing-agent", "description": "Handles API billing"}')
AGENT_ID=$(echo $AGENT | jq -r '.agent_id')
WALLET_ID=$(echo $AGENT | jq -r '.wallet_id')
echo "Agent: $AGENT_ID, Wallet: $WALLET_ID"

# 2. Set spending policy
curl -s -X POST https://api.sardis.sh/api/v2/policies/apply \
  -H "X-API-Key: $SARDIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"agent_id\": \"$AGENT_ID\", \"natural_language\": \"Max \$100 per transaction, \$500 per day. Only OpenAI and Anthropic.\"}"

# 3. Check balance
curl -s -X GET "https://api.sardis.sh/api/v2/wallets/$WALLET_ID/balances" \
  -H "X-API-Key: $SARDIS_API_KEY" | jq '.'

# 4. Dry-run policy check
curl -s -X POST https://api.sardis.sh/api/v2/policies/check \
  -H "X-API-Key: $SARDIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"agent_id\": \"$AGENT_ID\", \"amount\": \"25.00\", \"currency\": \"USDC\", \"merchant\": \"openai.com\"}"

# 5. Execute payment (policy auto-enforced)
curl -s -X POST https://api.sardis.sh/api/v2/pay \
  -H "X-API-Key: $SARDIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"to": "openai.com", "amount": "25.00", "currency": "USDC", "chain": "base"}'

Error Handling

Always check response status codes:

CodeMeaning
---------------
200 / 201Success
400Invalid parameters (check amount, address, token)
401Invalid or missing API key
403Policy violation — payment blocked by spending rules
404Wallet, agent, or transaction not found
429Rate limit exceeded
500Internal error — contact support@sardis.sh

Example error (policy violation):

{
  "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"
    }
  }
}

Supported Chains & Tokens

ChainTokens
---------------
BaseUSDC, EURC
EthereumUSDC, USDT, PYUSD, EURC
ArbitrumUSDC, USDT
OptimismUSDC, USDT
PolygonUSDC, USDT, EURC
TempopathUSD

Related Skills

  • sardis-balance — Read-only balance checking and analytics
  • sardis-policy — Natural language spending policy management
  • sardis-cards — Virtual card issuance and management
  • sardis-guardrails — Circuit breaker and kill switch controls
  • sardis-identity — Agent identity with TAP verification
  • sardis-escrow — Smart contract escrow for agent-to-agent payments
  • sardis-tempo-pay — MPP-native payments on Tempo mainnet

Links

  • Website: https://sardis.sh
  • Dashboard: https://app.sardis.sh
  • API Docs: https://api.sardis.sh/api/v2/docs
  • GitHub: https://github.com/EfeDurmaz16/sardis
  • Support: support@sardis.sh

版本历史

共 1 个版本

  • v1.1.0 当前
    2026-03-31 17:54 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

security-compliance

Sardis Policy

efedurmaz16
用于 Sardas 智能体钱包的自然语言支出策略创建与管理
★ 0 📥 681
ai-intelligence

Sardis Openclaw

efedurmaz16
让 AI 代理通过 Sardis 支付操作系统进行安全且受策略控制的支付。
★ 0 📥 659
security-compliance

Sardis Guardrails

efedurmaz16
Sardis 代理钱包的实时安全监控与熔断控制
★ 0 📥 709