Skip to main content

sardis-crewai

CrewAI integration for Sardis -- the Payment OS for the Agent Economy.

Build multi-agent financial workflows where AI agents can make real payments, enforce spending policies, and maintain audit trails through the Sardis platform.

Installation

pip install sardis-crewai

Quick Start

Using Individual Tools

from sardis import SardisClient
from sardis_crewai import SardisPayTool, SardisCheckBalanceTool

client = SardisClient(api_key="sk_test_...")
wallet = client.wallets.create(name="my-agent", chain="base", policy="Max $100/day")

# Create tools
pay = SardisPayTool(client=client, wallet_id=wallet.wallet_id)
balance = SardisCheckBalanceTool(client=client, wallet_id=wallet.wallet_id)

# Use with any CrewAI agent
from crewai import Agent

agent = Agent(
    role="Buyer",
    goal="Purchase API credits",
    backstory="You buy software for the team.",
    tools=[pay, balance],
)

Using Pre-configured Agents

from sardis import SardisClient
from sardis_crewai import create_finance_agent, create_audit_agent
from sardis_crewai import create_payment_task, create_audit_task
from crewai import Crew

client = SardisClient(api_key="sk_test_...")
wallet = client.wallets.create(name="finance-bot", chain="base")

# Create agents with sensible defaults
finance = create_finance_agent(client=client, wallet_id=wallet.wallet_id)
auditor = create_audit_agent(client=client, wallet_id=wallet.wallet_id)

# Create tasks
pay_task = create_payment_task(
    agent=finance,
    recipient="openai.com",
    amount="25.00",
    purpose="Monthly API credits",
)
audit_task = create_audit_task(agent=auditor)

# Run the crew
crew = Crew(agents=[finance, auditor], tasks=[pay_task, audit_task])
result = crew.kickoff()

Multi-Agent Team with Group Budgets

from sardis import SardisClient
from sardis_crewai import (
    create_procurement_agent,
    create_audit_agent,
    create_bulk_payment_task,
    create_budget_review_task,
)
from crewai import Crew

client = SardisClient(api_key="sk_test_...")

# Create a shared group budget
group = client.groups.create(
    name="engineering",
    budget={"per_transaction": "200", "daily": "1000", "monthly": "30000"},
)

# Create wallets attached to the group
buyer_wallet = client.wallets.create(
    name="buyer", chain="base", group_id=group.group_id,
)
auditor_wallet = client.wallets.create(
    name="auditor", chain="base", group_id=group.group_id,
)

# Create agents
buyer = create_procurement_agent(
    client=client, wallet_id=buyer_wallet.wallet_id, group_id=group.group_id,
)
auditor = create_audit_agent(
    client=client, wallet_id=auditor_wallet.wallet_id, group_id=group.group_id,
)

# Define tasks
purchase_task = create_bulk_payment_task(
    agent=buyer,
    payments=[
        {"to": "openai.com", "amount": "30.00", "purpose": "API credits"},
        {"to": "anthropic.com", "amount": "25.00", "purpose": "API credits"},
        {"to": "github.com", "amount": "19.00", "purpose": "Copilot subscription"},
    ],
)
review_task = create_budget_review_task(agent=auditor, group_id=group.group_id)

crew = Crew(agents=[buyer, auditor], tasks=[purchase_task, review_task])
result = crew.kickoff()

Available Tools

Tool Description
SardisPayTool Execute payments with policy enforcement and audit logging
SardisCheckBalanceTool Check wallet balance, limits, and remaining budget
SardisCheckPolicyTool Validate payments against policy without executing
SardisSetPolicyTool Set spending policy from natural language description
SardisGroupBudgetTool Check shared group budget status across agents

Tool Factory

Use create_sardis_tools() to generate a tool set in one call:

from sardis_crewai import create_sardis_tools

# All tools (read + write)
tools = create_sardis_tools(client, wallet_id=wallet.wallet_id)

# Read-only tools (for audit agents)
tools = create_sardis_tools(client, wallet_id=wallet.wallet_id, read_only=True)

# With group budget monitoring
tools = create_sardis_tools(client, wallet_id=wallet.wallet_id, group_id="group_abc")

Pre-configured Agents

Agent Factory Role Capabilities
create_finance_agent() Finance Manager Full payment + policy + audit
create_procurement_agent() Procurement Specialist Vendor payments + budget checks
create_audit_agent() Financial Auditor Read-only balance + policy checks

All agent factories accept **agent_kwargs to override any crewai.Agent parameter.

Task Templates

Task Factory Purpose
create_payment_task() Single payment with pre-checks
create_bulk_payment_task() Batch payment execution
create_budget_review_task() Group budget status report
create_audit_task() Compliance audit of recent transactions
create_policy_setup_task() Configure policy from natural language

Simulation Mode

By default, Sardis runs in simulation mode -- all payments execute locally without real blockchain transactions. This is ideal for developing and testing CrewAI workflows:

# No API key needed for simulation
client = SardisClient()
wallet = client.wallets.create(name="test-agent", chain="base", initial_balance=1000)

To use production mode, provide a real API key and install sardis-sdk:

pip install sardis-sdk
client = SardisClient(api_key="sk_live_...")

Metadata

Release files for sardis-crewai 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sardis-crewai 1.1.0
File Size Uploaded
sardis_crewai-1.1.0.tar.gz 9.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sardis-crewai 1.1.0
File Interpreter ABI Platform
sardis_crewai-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 13.2 kB

Release files / sardis_crewai-1.1.0.tar.gz

Download URL sardis_crewai-1.1.0.tar.gz
Size 9.2 kB
Tags Source
SHA-256 checksum
How to use checksums
18f75063ee38fd407316b6d5f576f08e75d97cd3aa5f7b50d86790e90480d5d6
BLAKE2b-256 checksum
How to use checksums
27d6c15e70a7cff697452e5f4e8a7ba3b4ce67617ddd8a768c51ec3f60b660e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.22 {"installer":{"name":"uv","version":"0.9.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / sardis_crewai-1.1.0-py3-none-any.whl

Download URL sardis_crewai-1.1.0-py3-none-any.whl
Size 4.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cbcde5ee1837374d0b6454ca13fea9ea9861563a89a9cc2e5bd00ebf14462e04
BLAKE2b-256 checksum
How to use checksums
1497bfea3729a4b01c2854d6a33cb513bbc1da18ec66fedb81c52d31ce5deb7c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.22 {"installer":{"name":"uv","version":"0.9.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page