Sardis

Payments

Execute AI agent payments via bank transfer, virtual card, or stablecoins. Every payment passes policy checks and compliance screening before chain execution.

Payment Flow

Every payment follows this pipeline:

Payment Request


┌─────────────────┐
│ Policy Check    │ ← Spending limits, vendor rules
└─────────────────┘
      │ ✓

┌─────────────────┐
│ Compliance      │ ← Sanctions screening
└─────────────────┘
      │ ✓

┌─────────────────┐
│ Chain Execution │ ← MPC signing, on-chain transfer
└─────────────────┘


Transaction Hash

Python

from sardis import SardisClient

async with SardisClient(api_key="sk_...") as client:
    # Execute payment
    result = await client.payments.execute({
        "wallet_id": "wallet_abc123",
        "destination": "0x...",
        "amount_minor": 10_000_000,  # $10.00
        "token": "USDC",
        "chain": "base",
        "purpose": "API subscription",
    })

    print(f"Transaction: {result.tx_hash}")
    print(f"Status: {result.status}")

    # Get transaction details
    tx = await client.transactions.get(result.tx_id)
    print(f"Confirmed: {tx.confirmed_at}")

TypeScript

import { SardisClient } from '@sardis/sdk';

const client = new SardisClient({ apiKey: 'sk_...' });

const result = await client.payments.execute({
  walletId: 'wallet_abc123',
  destination: '0x...',
  amountMinor: 10_000_000,
  token: 'USDC',
  chain: 'base',
  purpose: 'API subscription',
});

console.log('Transaction:', result.txHash);

// List transactions
const txs = await client.transactions.list({
  walletId: 'wallet_abc123',
  limit: 10,
});

sardis.pay()

The simplest way to make a payment:

result = wallet.pay(
    to="openai.com",
    amount="20.00",
    purpose="GPT-4 API credits"
)

This single call handles policy checking, compliance screening, MPC signing, and chain execution.

Supported Tokens

TokenChains
USDCAll chains
USDTPolygon, Ethereum, Arbitrum, Optimism
EURCBase, Polygon, Ethereum
PYUSDEthereum

MCP Payment Tools

ToolDescription
sardis_payExecute a payment
sardis_pay_invoicePay structured invoice with line items
sardis_request_approvalRequest human approval for large transaction
sardis_list_transactionsList transaction history
sardis_get_transactionGet transaction details
sardis_estimate_gasEstimate transaction gas fees
sardis_get_tx_statusCheck on-chain transaction status