ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment construire une recherche d'agent avec une couche de paiement USDC
Tutoriel

Comment construire une recherche d'agent avec une couche de paiement USDC

Ajoutez une couche de micropaiement USDC à votre pipeline de recherche d'agent IA. Payez par requête avec des stablecoins au lieu d'abonnements mensuels.

Obtenez une clé API gratuiteDocumentation API

Les agents IA qui cherchent sur le web ont besoin d'un mode de paiement qui fonctionne par programmation. Les stablecoins USDC permettent des micropaiements par requête, sans cartes de crédit ni engagements mensuels. Ce tutoriel construit une enveloppe de paiement autour des appels API de recherche qui suit les dépenses en USDC, fixe des budgets par agent et enregistre chaque transaction. La recherche elle-même utilise Scavio à 0,005 $/requête, et la couche USDC ajoute un suivi transparent des coûts.

Prérequis

  • Python 3.9+ installé
  • bibliothèque requests installée
  • Une clé API Scavio depuis scavio.dev
  • Compréhension de base des portefeuilles de stablecoins

Parcours

Étape 1: Construire le tracker de budget USDC

Créez un système de budget qui suit les dépenses des agents en USDC. Chaque agent reçoit une allocation budgétaire et ne peut pas la dépasser.

Python
from dataclasses import dataclass, field
from datetime import datetime
from typing import List, Dict

@dataclass
class Transaction:
    agent_id: str
    amount_usdc: float
    service: str
    query: str
    timestamp: str = field(default_factory=lambda: datetime.now().isoformat())

class USDCBudget:
    def __init__(self):
        self.balances: Dict[str, float] = {}
        self.transactions: List[Transaction] = []

    def fund_agent(self, agent_id: str, amount_usdc: float):
        self.balances[agent_id] = self.balances.get(agent_id, 0) + amount_usdc
        print(f'Agent {agent_id}: funded ${amount_usdc} USDC (balance: ${self.balances[agent_id]})')

    def can_spend(self, agent_id: str, amount: float) -> bool:
        return self.balances.get(agent_id, 0) >= amount

    def spend(self, agent_id: str, amount: float, service: str, query: str) -> bool:
        if not self.can_spend(agent_id, amount):
            return False
        self.balances[agent_id] -= amount
        self.transactions.append(Transaction(agent_id, amount, service, query))
        return True

    def summary(self, agent_id: str) -> dict:
        agent_txns = [t for t in self.transactions if t.agent_id == agent_id]
        total_spent = sum(t.amount_usdc for t in agent_txns)
        return {'balance': self.balances.get(agent_id, 0),
                'total_spent': total_spent, 'transactions': len(agent_txns)}

budget = USDCBudget()
budget.fund_agent('research-agent', 1.00)  # $1 USDC budget
budget.fund_agent('lead-gen-agent', 5.00)  # $5 USDC budget
print(f'Research agent: ${budget.balances["research-agent"]} USDC')
print(f'Lead gen agent: ${budget.balances["lead-gen-agent"]} USDC')

Étape 2: Envelopper les appels de recherche avec des dépenses USDC

Créez une fonction de recherche qui vérifie le budget USDC de l'agent avant d'effectuer des appels API et enregistre chaque transaction.

Python
import requests, os

SCAVIO_KEY = os.environ['SCAVIO_API_KEY']
SEARCH_COST_USDC = 0.005  # $0.005 per query

def budgeted_search(agent_id: str, query: str, budget: USDCBudget) -> dict:
    if not budget.can_spend(agent_id, SEARCH_COST_USDC):
        remaining = budget.balances.get(agent_id, 0)
        return {'error': f'Insufficient USDC balance: ${remaining:.3f} < ${SEARCH_COST_USDC}',
                'results': []}
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json'},
        json={'query': query, 'country_code': 'us', 'num_results': 10})
    results = resp.json().get('organic_results', [])
    budget.spend(agent_id, SEARCH_COST_USDC, 'scavio_search', query)
    return {
        'results': [{'title': r['title'], 'link': r['link']}
                    for r in results],
        'cost_usdc': SEARCH_COST_USDC,
        'remaining_usdc': budget.balances[agent_id]
    }

# Agent makes searches against its budget
result = budgeted_search('research-agent', 'best python frameworks 2026', budget)
print(f'Results: {len(result["results"])}')
print(f'Cost: ${result.get("cost_usdc", 0)} USDC')
print(f'Remaining: ${result.get("remaining_usdc", 0):.3f} USDC')

Étape 3: Ajouter des rapports de dépenses et des alertes

Générez des rapports de dépenses par agent et configurez des alertes lorsque les budgets sont faibles.

Python
def spending_report(budget: USDCBudget):
    print('Agent Spending Report')
    print('=' * 50)
    for agent_id, balance in budget.balances.items():
        summary = budget.summary(agent_id)
        print(f'\nAgent: {agent_id}')
        print(f'  Balance: ${balance:.3f} USDC')
        print(f'  Spent: ${summary["total_spent"]:.3f} USDC')
        print(f'  Transactions: {summary["transactions"]}')
        # Alert if low balance
        if balance < 0.10:
            print(f'  WARNING: Low balance! Fund this agent to continue.')
        # Queries remaining estimate
        queries_left = int(balance / SEARCH_COST_USDC)
        print(f'  Queries remaining: ~{queries_left}')

# Simulate some agent activity
for i in range(5):
    budgeted_search('research-agent', f'query {i}', budget)

spending_report(budget)

Exemple Python

Python
import requests, os

SCAVIO_KEY = os.environ['SCAVIO_API_KEY']
balances = {'agent-1': 1.0}
txns = []

def search(agent_id, query, cost=0.005):
    if balances.get(agent_id, 0) < cost:
        return {'error': 'Insufficient USDC'}
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json'},
        json={'query': query, 'country_code': 'us', 'num_results': 10})
    balances[agent_id] -= cost
    txns.append({'agent': agent_id, 'cost': cost, 'query': query})
    results = resp.json().get('organic_results', [])
    print(f'${cost} USDC | Balance: ${balances[agent_id]:.3f} | Results: {len(results)}')
    return results

search('agent-1', 'best CRM tools 2026')
print(f'Total spent: ${sum(t["cost"] for t in txns):.3f} USDC')

Exemple JavaScript

JavaScript
const SCAVIO_KEY = process.env.SCAVIO_API_KEY;
const balances = { 'agent-1': 1.0 };

async function search(agentId, query, cost = 0.005) {
  if ((balances[agentId] || 0) < cost) return { error: 'Insufficient USDC' };
  const resp = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST',
    headers: { 'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json' },
    body: JSON.stringify({ query, country_code: 'us', num_results: 10 })
  });
  balances[agentId] -= cost;
  const results = (await resp.json()).organic_results || [];
  console.log(`$${cost} USDC | Balance: $${balances[agentId].toFixed(3)} | Results: ${results.length}`);
  return results;
}

search('agent-1', 'best CRM tools 2026');

Sortie attendue

JSON
Agent research-agent: funded $1.00 USDC (balance: $1.0)
Agent lead-gen-agent: funded $5.00 USDC (balance: $5.0)

Results: 10
Cost: $0.005 USDC
Remaining: $0.995 USDC

Agent Spending Report
==================================================
Agent: research-agent
  Balance: $0.970 USDC
  Spent: $0.030 USDC
  Transactions: 6
  Queries remaining: ~194

Tutoriels associés

  • Comment sécuriser les outils d'agent financier MCP
  • Comment calculer le coût réel par requête de recherche d'agent
  • Comment suivre les coûts de l'API de recherche entre plusieurs agents

Questions fréquentes

La plupart des développeurs terminent ce tutoriel en 15 à 30 minutes. Vous aurez besoin d'une clé API Scavio (l'offre gratuite suffit) et d'un environnement Python ou JavaScript fonctionnel.

Python 3.9+ installé. bibliothèque requests installée. Une clé API Scavio depuis scavio.dev. Compréhension de base des portefeuilles de stablecoins. Une clé API Scavio vous donne 50 crédits gratuits à l'inscription.

Oui. L'offre gratuite comprend 50 crédits à l'inscription, ce qui est largement suffisant pour terminer ce tutoriel et prototyper une solution fonctionnelle.

Scavio dispose d'un package natif LangChain (langchain-scavio), d'un serveur MCP et d'une API REST simple qui fonctionne avec tout client HTTP. Ce tutoriel utilise the raw REST API, mais vous pouvez l'adapter à votre framework de prédilection.

Ressources connexes

Best Of

Meilleures API de recherche économiques pour agents IA sous 10 $/mois (2026)

Read more
Workflow

Workflow de suivi des coûts de recherche et du budget par agent

Read more
Best Of

Meilleures API pour l'ancrage de recherche mémoire agent (2026)

Read more
Glossary

Paysage des fournisseurs d'API de recherche (2026)

Read more
Use Case

Recherche d'agent avec contrôle budgétaire

Read more
Use Case

Passerelle de recherche MCP pour systèmes multi-agents

Read more

Commencer

Ajoutez une couche de micropaiement USDC à votre pipeline de recherche d'agent IA. Payez par requête avec des stablecoins au lieu d'abonnements mensuels.

Obtenez une clé API gratuiteLire la documentation
ScavioScavio

API de recherche en temps réel pour agents IA. Recherchez sur toutes les plateformes, pas seulement Google.

Produit

  • Fonctionnalités
  • Tarifs
  • Tableau de bord
  • Affiliés

Développeurs

  • Documentation
  • Référence API
  • Démarrage rapide
  • Intégration MCP
  • SDK Python

Alternatives

  • Alternative à Tavily
  • Alternative à SerpAPI
  • Alternative à Firecrawl
  • Alternative à Exa

Outils

  • Formateur JSON
  • cURL vers code
  • Compteur de jetons
  • Tous les outils

© 2026 Scavio. Tous droits réservés.

Featured on TAAFT
Conditions d'utilisationPolitique de confidentialité