Sardis integration
Sardis gives AI agents non-custodial stablecoin wallets with spending policies. Create agents and their MPC wallets, read balances, deposits and the ledger, send USDC and other stablecoins (real funds on mainnet chains), set limits, write spending policies in plain language and test payments against them, grant and revoke spending mandates, place and capture holds, review approval requests, group agents under shared budgets, manage webhooks, verify receipts, screen addresses for sanctions and read spending analytics. Not exposed here: the one-call pay route (its live contract names no source wallet), batch transfers, refunds, virtual cards, fiat treasury, on-ramp, off-ramp and bridging, protocol endpoints (AP2, A2A, ACP, x402, MPP), checkout, marketplace, account, API key, billing and admin routes. Authentication is a Sardis API key sent in the X-API-Key header, created in the Sardis dashboard: sk_test_ keys work on test networks, sk_live_ keys move real money.
Say what should happen.
The workflow builds itself.
What you can do with Sardis
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Wallet, 8 operations
create_walletCreate walletPOSTCreates a non-custodial MPC wallet for an agent (agent_id required), with a per-transaction and a total spending limit (100.00 and 1000.00 by default). Returns the wallet with its addresses.delete_walletDelete walletDELETEDeletes a wallet by id. The vendor does not document what happens to a balance left on it, so empty the wallet first.freeze_walletFreeze walletPOSTFreezes a wallet so it cannot send any transaction until unfreeze_wallet; reason and frozen_by (who froze it) are required. Returns the wallet.get_agent_walletGet agent walletGETReturns the wallet of an agent, by agent id.get_walletGet walletGETReturns one wallet by id: agent, MPC provider, account type, addresses per chain, token, per-transaction and total limits, smart-account details and active flag.list_walletsList walletsGETLists wallets with their agent, MPC provider, addresses per chain, limits and active flag, 50 per page by default (limit up to 100, then offset). Filter by agent_id or is_active.unfreeze_walletUnfreeze walletPOSTUnfreezes a frozen wallet so its transactions can proceed again. Returns the wallet.update_walletUpdate walletPATCHUpdates a wallet's per-transaction limit, total limit or active flag (is_active false deactivates it). Returns the wallet.
Approval, 7 operations
approve_approvalApprove approvalPOSTApproves a pending request. Approving a payment resumes and executes the held payment when Sardis still has its mandate snapshot, so it can move real funds. Returns the request.cancel_approvalCancel approvalPOSTCancels a pending approval request, for example when the agent no longer needs the action. Returns the request.create_approvalCreate approvalPOSTCreates an approval request for an agent action that needs human review (for example a payment above a limit, or a card); action and requested_by are required. Returns the request.deny_approvalDeny approvalPOSTDenies a pending approval request; the action it asked for does not happen. A reason is recommended for the audit trail. Returns the request.get_approvalGet approvalGETReturns one approval request by id: action, status, urgency, requester, reviewer, amount, vendor, purpose and expiry.list_approvalsList approvalsGETLists approval requests, 50 per page by default (limit up to 100, then offset). Filter by status, urgency, agent_id, wallet_id, organization_id or requested_by.list_pending_approvalsList pending approvalsGETLists only the pending approval requests, 50 by default (limit up to 100). Filter by urgency (low, medium, high).
Agent, 6 operations
bind_agent_walletBind agent walletPOSTBinds an existing wallet (wallet_id from list_wallets) to an agent and returns the agent with its new wallet_id.create_agentCreate agentPOSTCreates an AI agent with optional spending limits, merchant policy and KYA manifest; unless create_wallet is false it also creates the agent's wallet. Returns the agent with agent_id and wallet_id.delete_agentDelete agentDELETEDeletes an agent by id.get_agentGet agentGETReturns one agent by id: name, description, wallet_id, spending limits, merchant policy, active flag, KYA level and status, framework, last seen time and metadata.list_agentsList agentsGETLists agents with their wallet, spending limits, merchant policy, KYA level and status, 50 per page by default (limit up to 100, then offset). Filter by owner_id or is_active.update_agentUpdate agentPATCHUpdates an agent's name, description, spending limits, merchant policy, active flag or metadata. spending_limits and policy are sent whole: their fields left out take the defaults. Returns the agent.
Hold, 6 operations
capture_holdCapture holdPOSTCaptures a hold, completing the payment of the held funds (the full held amount, or the amount given). This moves the money. Returns success and the hold.create_holdCreate holdPOSTReserves funds in a wallet without paying (a pre-authorization hold), for an optional merchant and purpose; it expires after 168 hours unless expiration_hours says otherwise. Returns success and the hold.get_holdGet holdGETReturns one hold by id: wallet, merchant, amount, token, status, purpose, expiry and capture or void details.list_holdsList holdsGETLists active holds (wallet, merchant, amount, token, status, expiry), up to 100 by default (limit up to 500).list_wallet_holdsList wallet holdsGETLists the holds of one wallet, 50 by default (limit up to 500). Filter by status.void_holdVoid holdPOSTVoids a hold, releasing the held funds without paying. Returns success and the hold.
Spending mandate, 6 operations
activate_spending_mandateActivate spending mandatePOSTActivates a draft spending mandate, so payments within its limits are allowed from now on. Returns the status change.create_spending_mandateCreate spending mandatePOSTCreates a spending mandate: what an agent or wallet may spend (per transaction, day, week, month, total), on which merchants, rails, chains and tokens, until when. Active at once unless initial_status is draft.get_spending_mandateGet spending mandateGETReturns one spending mandate: scope, limits, amount spent, rails, chains and tokens allowed, approval mode, status and expiry.resume_spending_mandateResume spending mandatePOSTResumes a suspended spending mandate, so payments within its limits are allowed again. Returns the status change.revoke_spending_mandateRevoke spending mandatePOSTPermanently revokes a spending mandate: every later payment under it is blocked and it can never be reactivated. Returns the status change.suspend_spending_mandateSuspend spending mandatePOSTTemporarily suspends a spending mandate (payments under it are blocked until resume_spending_mandate). Returns the status change.
Webhook, 6 operations
create_webhookCreate webhookPOSTSubscribes an HTTPS URL to Sardis events (all events when events is left out). Returns the subscription id, events and status; the URL is not echoed, and the signing secret Sardis shows only in this answer is not passed on.delete_webhookDelete webhookDELETEDeletes a webhook subscription by id; no more events are sent to its URL.get_webhookGet webhookGETReturns one webhook subscription by id: event types, active flag and delivery counts. Neither the endpoint URL nor the signing secret is returned.list_webhooksList webhooksGETLists webhook subscriptions: id, event types, active flag and delivery counts. Neither the endpoint URL nor the signing secret is returned.test_webhookTest webhookPOSTSends a test event to a webhook's URL and returns whether it succeeded, the HTTP status and the duration.update_webhookUpdate webhookPATCHUpdates a webhook subscription's URL, event types or active flag. Returns the subscription (id, events, active flag, delivery counts); the URL is not echoed.
Group, 5 operations
create_groupCreate groupPOSTCreates an agent group with a shared budget (per transaction, day, month, total) and merchant policy. Add agents with add_group_agent. Returns the group.delete_groupDelete groupDELETEDeletes an agent group by id.get_groupGet groupGETReturns one agent group by id: budget, merchant policy, agent ids and metadata.list_groupsList groupsGETLists agent groups with their budget, merchant policy and agent ids, 50 per page by default (limit up to 100, then offset).update_groupUpdate groupPATCHUpdates a group's name, budget, merchant policy or metadata. budget and merchant_policy are sent whole: their fields left out take the defaults. Returns the group.
Payment exception, 5 operations
escalate_exceptionEscalate exceptionPOSTEscalates a payment exception to human review, with a reason. Returns the exception.get_exceptionGet exceptionGETReturns one payment exception by id, whatever its status: type, transaction, amount, retries, suggested strategy and resolution.list_exceptionsList exceptionsGETLists payment exceptions (failed payments under recovery): type, status, amount, retries, suggested strategy, 100 by default (limit up to 500). Filter by agent_id or status.resolve_exceptionResolve exceptionPOSTMarks a payment exception as resolved, with optional notes and who resolved it. Returns the exception.retry_exceptionRetry exceptionPOSTRetries a failed payment under its retry or fallback policy and records the decision. Where Sardis has a live retry executor wired in, this re-executes the payment and can move real funds. Returns the exception.
Policy, 5 operations
apply_policyApply policyPOSTApplies a plain-language spending policy to an agent, enforced at once on all its future payments; confirm must be true (false only previews). Run preview_policy first. Returns the result whole.check_policyCheck policyPOSTChecks whether an agent's active policy would allow a payment of an amount to a merchant, without paying. Returns allowed, the reason and the policy id.get_active_policyGet active policyGETReturns the spending policy currently enforced on an agent's payments: trust level, per-transaction and total limits, blocked categories and merchant rule count. Returned whole under result.parse_policyParse policyPOSTTurns a spending policy written in plain language into structured rules (limits per vendor, categories, time windows, approval threshold) with warnings. Applies nothing: use preview_policy, then apply_policy.preview_policyPreview policyPOSTShows what Sardis understood from a plain-language policy for an agent (parsed rules, warnings, confirmation message) before apply_policy. Applies nothing.
Ledger entry, 3 operations
get_ledger_entryGet ledger entryGETReturns one ledger entry by transaction id: amount, token, sending and receiving wallets, chain, on-chain hash, mandate and audit anchor.list_ledger_entriesList ledger entriesGETLists ledger entries (amount, token, sending and receiving wallets, chain, on-chain hash, mandate), 50 per page by default (limit up to 500, then offset). Filter by wallet_id.list_recent_ledger_transactionsList recent ledger transactionsGETLists the most recent ledger transactions (amount, token, wallets, chain, on-chain hash, status), 50 by default (limit up to 500).
Receipt, 3 operations
get_receiptGet receiptGETReturns one payment receipt by id: amount, currency, chain, on-chain hash, ledger ids, hashes of the intent, policy snapshot and compliance result, and its HMAC signature.list_receiptsList receiptsGETLists payment receipts (amount, currency, chain, on-chain hash, ledger ids, hashes of the intent, policy and compliance result, signature), 50 by default (limit up to 200). Filter by agent_id or org_id.verify_receiptVerify receiptGETVerifies a receipt's HMAC signature and returns valid with the receipt.
Agent spending, 2 operations
get_agent_spendingGet agent spendingGETReturns an agent's spending over the last 7 or 30 days: budget used and total, amount spent per day and the recent transactions with their policy explanation.list_spending_by_agentList spending by agentGETReturns spending per agent (total, transaction count, average) for a period or a date range.
Deposit, 2 operations
get_depositGet depositGETReturns one inbound deposit of a wallet by id, with its confirmations, AML screening result and when it was detected, confirmed and credited.list_depositsList depositsGETLists inbound deposits to a wallet (sender, amount, token, chain, confirmations, AML screening result, status), 50 per page by default (limit up to 200). Filter by chain, token or status.
Group member, 2 operations
add_group_agentAdd group agentPOSTAdds an agent to a group, so the group's shared budget and merchant policy apply to it. Returns the group.remove_group_agentRemove group agentDELETERemoves an agent from a group. Returns the group.
Payment request, 2 operations
create_payment_requestCreate payment requestPOSTCreates a request to receive an amount on a wallet (token, optional preferred chain and memo). Returns the request with its receive address, status and expiry.list_payment_requestsList payment requestsGETLists a wallet's payment requests (amount, token, receive address, status, amount received), 50 per page by default (limit up to 200, then offset). Filter by status.
Policy version, 2 operations
get_policy_versionGet policy versionGETReturns an agent's policy as it was at one version (commit hash from list_policy_history).list_policy_historyList policy historyGETLists an agent's policy versions (commit hash, date, signer), 20 by default. Read one version with get_policy_version.
Sanctions screening, 2 operations
screen_addressScreen addressPOSTScreens a wallet address against OFAC, EU, UN and other sanctions lists and returns its risk level, whether it is sanctioned and whether to block it.screen_transactionScreen transactionPOSTScreens a transaction's sender and recipient addresses against sanctions lists and returns the risk level, whether it is sanctioned and whether to block it.
Wallet address, 2 operations
get_wallet_addressesGet wallet addressesGETReturns a wallet's addresses as a map of chain name to address.get_wallet_receive_addressesGet wallet receive addressesGETReturns a wallet's receive addresses per chain and token, each with an EIP-681 payment URI for a QR code.
Wallet balance, 2 operations
get_wallet_balanceGet wallet balanceGETReads a wallet's on-chain balance of one token on one chain. chain defaults to base_sepolia, a test network: pass base or another mainnet for real funds. Returns balance and address.list_wallet_balancesList wallet balancesGETReturns a wallet's stablecoin balances on every supported chain at once, with USD and EUR totals. Narrow it with comma-separated chains and tokens.
Agent activity, 1 operation
get_agent_activity_summaryGet agent activity summaryGETReturns a summary of an agent's API activity: request and error counts, average latency, number of distinct endpoints called, first and last request seen.
Agent kya, 1 operation
get_agent_kyaGet agent kyaGETReturns an agent's KYA (Know Your Agent) level, status, trust score and manifest.
Agent limit, 1 operation
get_agent_limitsGet agent limitsGETReturns an agent's current spending limits and usage. The vendor does not document the fields of this answer, so it is returned whole under result.
Budget utilization, 1 operation
list_budget_utilizationList budget utilizationGETReturns budget use per agent (spent, budget, utilization, remaining) for 7, 30 (default) or 90 days.
Category spending, 1 operation
list_spending_by_categoryList spending by categoryGETReturns spending per merchant category (amount, count, share) for a period or a date range. Filter by agent_id.
Chain, 1 operation
list_chainsList chainsGETLists the blockchain networks Sardis supports, with chain id, block explorer, native token and supported tokens.
Gas estimate, 1 operation
estimate_gasEstimate gasPOSTEstimates the gas of a stablecoin transfer (gas limit, gas prices in gwei, cost in wei and in the native token). Moves no funds; amount is in minor units, as the vendor's spec states.
Group spending, 1 operation
get_group_spendingGet group spendingGETReturns a group's current spending: its budget, number of agents and agent ids.
Merchant spending, 1 operation
list_top_merchantsList top merchantsGETReturns the merchants with the most spending (amount, count, share), 10 by default, for a period or a date range.
Payment, 1 operation
simulate_paymentSimulate paymentPOSTSimulates a payment through the whole pipeline without executing it and returns would_succeed with every reason it would fail (policy, compliance, caps, kill switches). Moves no funds.
Payment attestation, 1 operation
get_payment_attestationGet payment attestationGETReturns the signed attestation of a payment: the policy rules applied, the evidence chain and the approval that prove why it was allowed. 404 when the payment has no attestation (for example a rejected one).
Policy block, 1 operation
list_policy_blocksList policy blocksGETReturns payments blocked by policy (agent, amount, merchant, reason, when) with the block count and rate, for a period or a date range.
Policy deny reason, 1 operation
list_policy_deny_reasonsList policy deny reasonsGETLists why payments were denied by policy: each reason with its count, share of all denials and trend.
Policy example, 1 operation
list_policy_examplesList policy examplesGETLists example spending policies written in plain language, each with what it does and its use case; ready for parse_policy or apply_policy.
Policy outcome, 1 operation
get_policy_outcomesGet policy outcomesGETReturns policy check outcomes: totals and allow, deny and escalation rates over 24 hours, 7 days and 30 days, outcomes per day and per policy version.
Policy recommendation, 1 operation
list_policy_recommendationsList policy recommendationsGETLists policy recommendations for an agent, based on its transaction history: each with a plain-language policy, confidence and rationale.
Policy suggestion, 1 operation
list_policy_tuning_suggestionsList policy tuning suggestionsGETLists policy tuning suggestions (severity, title, text and suggested action) drawn from the policy outcomes.
Policy template, 1 operation
list_policy_templatesList policy templatesGETReturns pre-built policy templates (limits, merchant rules, restrictions) for common use cases. The fields are not documented in the vendor's spec, so the answer comes back whole under result.
Spending mandate transition, 1 operation
list_spending_mandate_transitionsList spending mandate transitionsGETLists the status changes of a spending mandate (from and to status, who made it, reason, when).
Spending series, 1 operation
get_spending_over_timeGet spending over timeGETReturns spending as a time series (amount and count per day, week or month) with total and average, for a period or a date range. Filter by agent_id.
Spending summary, 1 operation
get_spending_summaryGet spending summaryGETReturns a spending summary for 7, 30 (default) or 90 days: total and average daily spend, active agents, transaction counts, block rate, top merchant and largest transaction.
Token, 1 operation
list_chain_tokensList chain tokensGETLists the tokens Sardis supports on one chain.
Transaction, 1 operation
get_transaction_statusGet transaction statusGETReturns the on-chain status of a transaction by hash: status, block number, confirmations and explorer URL. chain defaults to base_sepolia (a test network).
Transfer, 1 operation
transfer_cryptoTransfer cryptoPOSTSends tokens from a wallet to an address after Sardis policy checks; on a mainnet chain this moves real money. amount is a decimal in token units, never minor units; chain defaults to base_sepolia (testnet). Returns tx_hash.
Wallet limit, 1 operation
set_wallet_limitsSet wallet limitsPOSTSets a wallet's per-transaction and total spending limits (decimal amounts). Returns the wallet.
Webhook delivery, 1 operation
list_webhook_deliveriesList webhook deliveriesGETLists the delivery attempts of a webhook subscription (event, status code, error, duration, success), 50 by default (limit up to 500).
Webhook event type, 1 operation
list_webhook_event_typesList webhook event typesGETLists the event types a webhook can subscribe to (for example payment.completed, hold.created, approval.requested).
Use Sardis from Claude Code, Cursor or Codex
Connect Sardis in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Sardis operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Sardis
- Create your workspace
Sign up free. Nothing to install.
- Connect Sardis once
Add your Sardis connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Sardis integration FAQ
What can you do with the Sardis integration?
LiveContext exposes 103 operations on Sardis, covering wallet, approval, agent and hold.
