Your First Agent Payment
This guide walks you through creating an agent, linking a wallet, and making your first on-chain payment — end to end. By the end, you’ll have a working agent that can request and execute stablecoin transfers.Prerequisites
What You’ll Build
Step 1: Create a Wallet
Configure the wallet
| Field | Value |
|---|---|
| Name | My First Wallet |
| Chain Type | EVM |
| Network | Tempo Testnet |
| Custody | SPONGE (recommended — managed keys via @paysponge/sdk, no setup) |
Provision the wallet
Click Provision to generate an on-chain address. This creates a wallet managed by Conto’s custody infrastructure.
Step 2: Create an Agent
Link the wallet
In the wallet linking step, select “My First Wallet” and configure spending limits:
| Setting | Value |
|---|---|
| Delegation Type | Limited |
| Per Transaction | 100 |
| Daily Limit | 500 |
Step 3: Generate an SDK Key
Step 4: Verify Your Setup
Before making a payment, confirm everything is wired up correctly:agent.statusis"ACTIVE"walletsarray contains your wallet- The wallet shows a non-zero balance
Step 5: Request a Payment
requestId is your handle for executing this payment.
Step 6: Execute the Payment
Take therequestId from the previous response and execute it on-chain:
REQUEST_ID with your actual request ID.
The response includes:
txHash— the on-chain transaction hashexplorerUrl— link to verify on explore.tempo.xyz
Step 7: Verify On-Chain
Three ways to confirm your payment went through:- Explorer — Click the
explorerUrlfrom the execute response - Dashboard — Go to Transactions and find your payment with status “Confirmed”
- API — Query the transaction status:
Using the TypeScript SDK
The same flow using the SDK:What Just Happened
Here’s the full flow you completed:| Step | What Conto Did |
|---|---|
| Payment request | Authenticated your SDK key, identified the agent |
| Policy check | Evaluated wallet spending limits (100 per-tx limit) |
| Wallet selection | Picked the linked wallet with sufficient balance |
| Execution | Signed and submitted a pathUSD transfer on Tempo Testnet |
| Confirmation | Verified the transaction on-chain and logged it to audit trail |
Troubleshooting
AUTH_FAILED when calling the API
AUTH_FAILED when calling the API
Your SDK key may be invalid or expired. Generate a new one from the agent detail page under SDK Integration.
INSUFFICIENT_BALANCE
INSUFFICIENT_BALANCE
Your testnet wallet needs funding. Use the Faucet button on the wallet detail page or contact the Conto team for pathUSD.
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 (pencil icon) and set it to a non-zero value.NO_WALLET_AVAILABLE
NO_WALLET_AVAILABLE
No wallet is linked to the agent, or the linked wallet doesn’t have enough balance. Check the Overview tab on the agent detail page.
Next Steps
Test Policies
Verify spending policies enforce correctly with test transactions
Secure Your Agent
Add spending limits, time windows, and counterparty controls
Recipes
Copy-paste solutions for common tasks
SDK Reference
Full payment API methods and parameters