# Protocolo x402 (Pay-per-Request) URL: /docs/x402.mdx Acesse a API da brapi.dev pagando por requisição com USDC na rede Base. Ideal para uso esporádico, agentes de IA e quem prefere pagar com crypto sem criar conta. *** title: 'Protocolo x402 (Pay-per-Request)' description: 'Acesse a API da brapi.dev pagando por requisição com USDC na rede Base. Ideal para uso esporádico, agentes de IA e quem prefere pagar com crypto sem criar conta.' ------- import { Callout } from 'fumadocs-ui/components/callout'; import { Tab, Tabs } from 'fumadocs-ui/components/tabs'; O **x402** é um protocolo aberto de pagamentos baseado no código de status HTTP `402 Payment Required`. Ele permite que você acesse endpoints da API pagando por requisição com **USDC na rede Base**, sem precisar criar conta ou assinar um plano. ## Por que usar x402? * **Uso esporádico**: Pague apenas quando usar, sem mensalidade * **Agentes de IA**: Pagamentos programáticos machine-to-machine * **Crypto-native**: Pague com USDC, sem cartão de crédito * **Sem cadastro**: Não precisa de conta, email ou OAuth | Característica | x402 | Planos Tradicionais | | -------------- | ------------------------- | ------------------- | | Cadastro | Não precisa | Obrigatório | | Pagamento | Por requisição (USDC) | Mensal (cartão/PIX) | | Ideal para | Uso esporádico, AI agents | Uso frequente | | Settlement | \~2 segundos (blockchain) | Instantâneo | ## Requisitos Para usar os endpoints x402, você precisa: 1. **Carteira crypto** com suporte à rede Base (Coinbase Wallet, MetaMask, etc.) 2. **USDC na rede Base** para pagar as requisições 3. **Cliente x402** implementado no seu código (SDK ou biblioteca) O x402 da brapi.dev opera na **rede Base** (L2 da Coinbase). Certifique-se de ter USDC na rede correta, não em Ethereum mainnet ou outras redes. ## Como Funciona O fluxo x402 é simples: 1. Seu cliente faz uma requisição ao endpoint 2. Se não houver pagamento, o servidor responde com `402 Payment Required` e instruções de pagamento 3. Seu cliente prepara e envia o pagamento (assinatura crypto) 4. O servidor verifica o pagamento e retorna os dados ```txt title="Fluxo simplificado" Cliente → Requisição sem pagamento Servidor → 402 Payment Required + instruções Cliente → Requisição com header de pagamento Servidor → 200 OK + dados ``` ## Endpoints Disponíveis ### Endpoints Pagos (x402) | Endpoint | Descrição | Exemplo | | -------------------------- | ---------------------- | --------------------------------- | | `/api/x402/stock-quotes` | Cotações de ações B3 | `?tickers=PETR4,VALE3` | | `/api/x402/crypto-prices` | Preços de criptomoedas | `?coin=BTC¤cy=BRL` | | `/api/x402/currency-rates` | Taxas de câmbio | `?currency=USD-BRL` | | `/api/x402/inflation` | Dados de inflação | `?country=brazil&historical=true` | | `/api/x402/prime-rate` | Taxa SELIC | `?country=brazil&historical=true` | ### Endpoints Gratuitos (Discovery) Estes endpoints não requerem pagamento e ajudam a descobrir os dados disponíveis: | Endpoint | Descrição | | ----------------------------------------- | ---------------------------------- | | `/api/x402/available-stocks` | Lista ações disponíveis | | `/api/x402/available-currencies` | Lista moedas disponíveis | | `/api/x402/available-cryptocurrencies` | Lista criptomoedas disponíveis | | `/api/x402/available-inflation-countries` | Lista países com dados de inflação | ## Exemplos de Requisições ### Cotações de Ações ```bash https://brapi.dev/api/x402/stock-quotes?tickers=PETR4,MGLU3,VALE3&range=1d&interval=1m&modules=summaryProfile÷nds=true ``` **Parâmetros:** * `tickers` (obrigatório): Símbolos separados por vírgula * `interval`: Intervalo (1m, 5m, 15m, 1d, 1wk, 1mo) * `range`: Período (1d, 5d, 1mo, 3mo, 6mo, 1y, 5y, max) * `modules`: Módulos adicionais (summaryProfile, balanceSheetHistory, etc.) * `dividends`: Incluir dividendos (true/false) ### Preços de Criptomoedas ```bash https://brapi.dev/api/x402/crypto-prices?coin=BTC¤cy=BRL&range=1d&interval=1h ``` **Parâmetros:** * `coin`: Símbolo da cripto (BTC, ETH, etc.) * `currency`: Moeda de cotação (BRL, USD) * `range`: Período * `interval`: Intervalo ### Taxas de Câmbio ```bash https://brapi.dev/api/x402/currency-rates?currency=USD-BRL ``` **Parâmetros:** * `currency`: Par de moedas (USD-BRL, EUR-BRL, etc.) ### Inflação ```bash https://brapi.dev/api/x402/inflation?country=brazil&historical=true&start=01/01/2023&end=31/12/2024&sortBy=date&sortOrder=desc ``` **Parâmetros:** * `country`: País (brazil) * `historical`: Dados históricos (true/false) * `start`: Data inicial (DD/MM/YYYY) * `end`: Data final (DD/MM/YYYY) * `sortBy`: Ordenar por (date, value) * `sortOrder`: Ordem (asc, desc) ### Taxa SELIC ```bash https://brapi.dev/api/x402/prime-rate?country=brazil&historical=true&start=01/01/2023&end=31/12/2024 ``` **Parâmetros:** Mesmos da inflação. Para `start` e `end`, use o formato **DD/MM/YYYY** (ex: `01/01/2023`). ## Implementando o Cliente x402 Para fazer requisições x402, você precisa implementar o lado do cliente do protocolo. Existem SDKs disponíveis: ```bash npm install x402-fetch ``` ```typescript import { createX402Fetch } from 'x402-fetch'; const x402Fetch = createX402Fetch({ walletPrivateKey: process.env.WALLET_PRIVATE_KEY, }); const response = await x402Fetch( 'https://brapi.dev/api/x402/stock-quotes?tickers=PETR4' ); const data = await response.json(); ``` ```bash pip install x402-python ``` ```python from x402 import X402Client client = X402Client(private_key=os.environ['WALLET_PRIVATE_KEY']) response = client.get( 'https://brapi.dev/api/x402/stock-quotes?tickers=PETR4' ) data = response.json() ``` **Nunca exponha sua chave privada no código-fonte ou frontend.** Use variáveis de ambiente e mantenha a chave segura no servidor. ## Recursos Adicionais * [Documentação oficial x402](https://x402.org) * [Whitepaper x402](https://x402.org/x402-whitepaper.pdf) * [GitHub x402](https://github.com/coinbase/x402) * [Guia para Compradores](https://x402.gitbook.io/x402/getting-started/quickstart-for-buyers) ## x402 vs Planos Tradicionais **Quando usar x402:** * Você quer testar a API sem compromisso * Uso esporádico (poucas requisições por mês) * Você é um agente de IA ou sistema automatizado * Você prefere pagar com crypto **Quando usar planos tradicionais:** * Uso frequente e previsível * Você precisa de limites de requisição garantidos * Você prefere pagamento com cartão ou PIX * Você precisa de suporte prioritário *** **Próximos Passos** * [Ver documentação completa da API](/docs) * [Explorar endpoints de ações](/docs/acoes) * [Consultar preços e planos tradicionais](/pricing)