Documentation Index
Fetch the complete documentation index at: https://conto.finance/docs/llms.txt
Use this file to discover all available pages before exploring further.
Quickstart
End-to-end setup on Tempo Testnet. By the end you’ll have a Conto organization, an AI agent, a funded testnet wallet, two test policies, and a verified onchain payment. Total time: about 10 minutes. No real funds required.What you’ll build
Why Tempo Testnet?
Tempo Testnet pays transaction fees inpathUSD itself, so you don’t need a separate gas token. Combined with free faucet funds, it’s the fastest way to test the full flow.
| Property | Value |
|---|---|
| Network | Tempo Testnet |
| Chain ID | 42431 |
| Currency | pathUSD (TIP-20) |
| Gas | Paid in pathUSD. No separate gas token. |
| Explorer | explore.moderato.tempo.xyz |
Choose Your Key Up Front
Most developers need both of these at different points in the integration:| Use case | Credential | Env var |
|---|---|---|
| Create agents, link wallets, assign policies, or repair ownership from your backend | Organization API key (conto_...) | CONTO_ORG_API_KEY |
Let the agent call /api/sdk/* payment and read endpoints | Agent SDK key (conto_agent_...) | CONTO_API_KEY |
If your app provisions agents for end users, create the agent with an org API key first, then hand the agent its own SDK key for runtime payment calls.
Step 1. Create your account
- Visit conto.finance and sign up with email or Google OAuth.
- Create your organization. This is the top-level container for agents, wallets, and policies.
Step 2. Create and fund a wallet
Create the wallet
Sidebar > Wallets > Create Wallet.
| Field | Value |
|---|---|
| Name | Test Operations Wallet |
| Custody Type | PRIVY (recommended) |
| Chain Type | EVM |
| Chain | Tempo Testnet (42431) |
SPONGE, EXTERNAL, SMART_CONTRACT), see Custody modes.
Step 3. Connect an agent
Fill in details
| Field | Example |
|---|---|
| Name | Test Payment Agent |
| Type | CUSTOM (or your framework) |
| Description | Quickstart test agent |
members[].id for the org member or service account that should own the agent, then create
the agent:
agentType values: OPENAI_ASSISTANT, ANTHROPIC_CLAUDE, LANGCHAIN, AUTOGPT, CUSTOM. Agent statuses: ACTIVE, PAUSED, SUSPENDED, REVOKED.
Step 4. Link the wallet to the agent
Assign the wallet
Open the agent detail page. In the Wallets section, click Assign Wallet and pick the Tempo Testnet wallet.
Step 5. Generate an SDK key
Generate the key
Click Generate New Key. Name it (e.g.
Testnet Key). Keep the default expiresInDays.
Choose an Admin SDK key if you want to complete the execution steps in this guide, because
Step 8 calls POST /api/sdk/payments/{requestId}/execute. The default Standard SDK key
preset is enough for request-only policy evaluation, but it does not include payments:execute.standard vs admin), see Authentication.
Verify the setup:
agent.statusis"ACTIVE"walletscontains your Tempo Testnet wallet with a balancescopesincludespayments:request- if you chose an execute-capable key for this guide,
scopesalso includespayments:execute
Step 6. Create two test policies
These two policies together produce three different payment outcomes:Policy A: spend limit
Create the policy
Sidebar > Policies > New Policy.
| Field | Value |
|---|---|
| Name | Test Spend Limit |
| Policy Type | SPEND_LIMIT |
| Description | Deny transactions over $15 |
Policy B: approval threshold
Create the policy
| Field | Value |
|---|---|
| Name | Test Approval Threshold |
| Policy Type | APPROVAL_THRESHOLD |
| Description | Require approval for transactions over $10 |
Assign both to the agent
Open the agent detail page > Permissions tab > assign Test Spend Limit and Test Approval Threshold. Policies combine with AND logic. The most restrictive outcome wins. Higher priority numbers evaluate first (default priority is50).
Step 7. Run three test transactions
With both policies active you should see three different outcomes:| Amount | Expected outcome | Why |
|---|---|---|
5 | APPROVED | Under both thresholds |
12 | REQUIRES_APPROVAL | Over the 15 spend limit |
20 | DENIED | Over the $15 spend limit |
Test 1. $5 should be APPROVED
"status": "APPROVED", "currency": "pathUSD".
Test 2. $12 should REQUIRE_APPROVAL
"status": "REQUIRES_APPROVAL" with a violation referencing the approval threshold.
Test 3. $20 should be DENIED
"status": "DENIED" with a violation referencing the spend limit.
Step 8. Execute the approved payment
ReplaceREQUEST_ID with the requestId from Test 1:
This step requires a key with the payments:execute scope.
txHash. Onchain transaction hash on Tempo Testnet.explorerUrl. Link to view onexplore.moderato.tempo.xyz.
Step 9. Same flow via the SDK
request + execute, set autoExecute: true on the request and ensure your key includes payments:execute.
Verify in the dashboard
After Step 8:- Dashboard > Transactions. The transaction shows
Confirmedwith the Tempo Testnet chain. - Click the explorer link to verify onchain.
- Dashboard > Audit Logs. See the full policy evaluation trail.
You’ve verified policy enforcement and made a real onchain payment on Tempo Testnet.
Troubleshooting
All payments denied with 'per-transaction limit of $0'
All payments denied with 'per-transaction limit of $0'
The wallet-level per-transaction limit is
0. Edit the wallet limits on the agent detail page and set it to a positive value.Payment denied but expected REQUIRES_APPROVAL
Payment denied but expected REQUIRES_APPROVAL
Policies combine with AND logic. If one policy denies while another requires approval, the denial wins. Check the Permissions tab for every assigned policy.
INSUFFICIENT_BALANCE
INSUFFICIENT_BALANCE
The testnet wallet needs funding. Use the Faucet button on the wallet detail page.
AUTH_FAILED
AUTH_FAILED
Invalid or expired SDK key. Generate a new one from the agent detail page.
Moving to production
Once the testnet flow works:- Create a production wallet on Tempo Mainnet (
USDC.e), Base (USDC), or Solana (USDC). - Fund it with real stablecoins.
- Link the production wallet to your agent with production-sized limits.
- Update or create production policies. The test policies can remain for reference.
Next steps
Connect your framework
OpenAI, Claude, LangChain, Python integration snippets
SDK payments reference
Full method signatures, options, error model
Policy overview
All 14 policy types and rule types
Defaults
Every default value in one place