Cotado em USD
A oscilação de preço não é problema seu
Você define preços em dólar e recebe o crédito em dólar. USDT, USDC e as demais stablecoins valem 1:1; BTC e outras moedas são convertidos a uma cotação travada por 30 minutos.
Seus clientes pagam com USDT, USDC, BTC e mais 14 moedas em 15 redes. Todo pagamento cai no seu saldo em dólares. Sem precisar entender de blockchain, e as chaves que movimentam fundos nunca ficam em um servidor conectado à internet.
Beta fechado · 1% por pagamento, caindo até 0.5% com o volume mensal · sem mensalidade, saques grátis
Novo em cripto?
Você não precisa entender de blockchain para receber. Estas três bastam para começar.
Cotado em USD
Você define preços em dólar e recebe o crédito em dólar. USDT, USDC e as demais stablecoins valem 1:1; BTC e outras moedas são convertidos a uma cotação travada por 30 minutos.
Escaneie e pague
Ele escaneia o QR code no app da corretora ou na carteira cripto. Sem fronteiras, sem horário bancário; a maioria dos pagamentos chega em cerca de um minuto.
Definitivo
Uma transferência confirmada não pode ser estornada como um pagamento com cartão, então não há disputas de chargeback. Reembolsar é decisão sua.
Formas de receber
Use um link de pagamento hoje e conecte a API quando precisar de automação. Os dois alimentam o mesmo saldo.
Defina um valor no painel e receba um link e um QR code. Compartilhe numa conversa, no seu site ou perfil; o cliente abre e paga.
Chame um endpoint no checkout e envie o cliente para a nossa página de pagamento. Quando o dinheiro chega, avisamos o seu servidor, e os pedidos são enviados e os saldos recarregados sozinhos.
Como o dinheiro chega
Você inicia a cobrança e espera o dinheiro. Endereços, monitorar a blockchain, conferir duas vezes e avisar o seu sistema ficam por nossa conta.
As duas concordam. Pagamento confirmado.
Envie o valor e o número do seu pedido; com um link de pagamento o painel faz isso por você. O mesmo número de pedido duas vezes continua gerando uma só cobrança.
Na nossa página de pagamento ele escolhe a moeda e a rede e escaneia. Cada pedido tem o próprio endereço, então pagamentos e pedidos batem sem precisar de memo.
Verificamos a blockchain a cada minuto e esperamos confirmações suficientes; depois, uma segunda fonte de dados independente precisa ver a mesma transferência. Pagamento falso não passa.
Ele é creditado no seu saldo em dólares e você pode solicitar um saque quando quiser (cada saque passa por revisão humana; um endereço de saque novo espera 24 horas antes do primeiro pagamento). Com a API, seu servidor recebe uma notificação assinada no mesmo momento, reenviada por cerca de dois dias e meio se estiver fora do ar.
Meu dinheiro está seguro?
Nossos servidores online guardam só uma chave de leitura: criam endereços de recebimento e veem saldos, mas não conseguem enviar nada. As chaves que movimentam fundos são usadas apenas em um ambiente de assinatura separado dos nossos serviços online. A consolidação só vai para endereços fixos de carteira fria; os saques para lojistas são aprovados por uma pessoa e só vão para o endereço de saque cadastrado pelo lojista.
Os servidores guardam só uma chave somente leitura (xpub). Uma chave privada colada por engano é recusada.
As carteiras de recebimento ficam travadas na configuração de implantação; nem o painel nem o banco de dados conseguem alterá-las.
Um pagamento só conta quando duas fontes de dados independentes o veem. Um nó mal-intencionado não consegue falsificá-lo.
Solicite um saque quando quiser, ou deixe as solicitações automáticas ao atingir um saldo que você escolher ou todo dia. Cada saque passa por revisão humana, um endereço novo espera 24 horas antes do primeiro pagamento, e cada saque mostra seu registro na blockchain.
As transações que movimentam fundos são assinadas em um ambiente isolado dos serviços online. A consolidação só vai para endereços fixos de carteira fria; os saques para lojistas são aprovados por uma pessoa e só vão para o endereço de saque cadastrado pelo lojista.
Se faltar qualquer proteção, aquela rede pausa os pagamentos.
Desenvolvedores
Crie um pagamento e receba o link da página de pagamento; receba a notificação, confira a assinatura, entregue. Teste grátis em testnets antes.
Crie com um valor e um número de pedido; verifique a notificação e entregue pelo número do pedido.
As credenciais de teste rodam em testnets públicas, e a página de pagamento tem um botão “simular pagamento”.
O mesmo order_id sempre retorna a mesma cobrança.
APIs compatíveis com Cryptomus, NOWPayments e Coinbase Commerce: mesmos caminhos, parâmetros, assinaturas e webhooks. Troque o domínio e as chaves.
import crypto from "node:crypto";const body = JSON.stringify({ order_id: "order_1042", // idempotency key amount: "42.00", // any amount, in USD currency: "USD", url_callback: "https://shop.example.com/webhooks/crypto",});const sign = crypto.createHash("md5") .update(Buffer.from(body).toString("base64") + process.env.BW_API_KEY) .digest("hex");const res = await fetch("https://blockwallets.io/v1/payment", { method: "POST", headers: { merchant: process.env.BW_MERCHANT, sign, "content-type": "application/json", }, body,});return redirect((await res.json()).result.url);import crypto from "node:crypto";export async function POST(req: Request) { const { sign, ...data } = JSON.parse(await req.text()); const json = JSON.stringify(data).replaceAll("/", "\\/"); const expected = crypto.createHash("md5") .update(Buffer.from(json).toString("base64") + process.env.BW_API_KEY) .digest("hex"); if (sign !== expected) return new Response("bad sign", { status: 401 }); if (data.status === "paid" || data.status === "paid_over") { await credit(data.order_id, data.payment_amount_usd); } return new Response("ok");}POST /webhooks/cryptoContent-Type: application/json{ "type": "payment", "uuid": "6f1c2a7e…", "order_id": "order_1042", "amount": "42.00", "payment_amount_usd": "42.00", "status": "paid", "is_final": true, "network": "tron", "payer_currency": "USDT", "txid": "9c1e…", "sign": "5f0c9b…e9a1"}Cole no ChatGPT, Claude, Cursor ou qualquer assistente de código. Ele lê a nossa documentação, faz o fluxo de teste funcionar em testnets e depois entrega uma lista de aceitação.
Integre os pagamentos em cripto da blockwallets ao meu projeto. 1. Primeiro leia https://blockwallets.io/llms-full.txt e https://blockwallets.io/agents.md. Siga esses documentos acima de qualquer coisa que você lembre sobre outros gateways de pagamento. 2. Comece com credenciais de teste em testnets (modo de teste no painel da blockwallets; a página de pagamento tem um botão "simular pagamento"). Não toque nas chaves de produção até todo o fluxo de teste passar. 3. Crie um pagamento com POST https://blockwallets.io/v1/payment (amount, currency "USD", order_id, url_callback) e envie o cliente para result.url. 4. Verifique cada webhook antes de confiar nele: remova "sign", codifique o resto em JSON com toda "/" escapada como "\/" (como o json_encode($data, JSON_UNESCAPED_UNICODE) do PHP: caracteres não ASCII ficam como estão), converta para base64, acrescente a API key, calcule o md5 em hex e compare com "sign". 5. Trate os status "paid" e "paid_over" como pagos. O mesmo order_id sempre retorna a mesma cobrança, então repetir é seguro; credite cada pedido só uma vez. 6. Guarde o merchant ID e a API key em variáveis de ambiente, nunca no código. Quando terminar, me entregue esta lista de aceitação com cada item marcado ou explicado: - [ ] Um pagamento de teste é criado e result.url abre a página de pagamento - [ ] "Simular pagamento" entrega um webhook e a assinatura confere - [ ] Um webhook com corpo ou sign adulterado é rejeitado - [ ] O pedido é marcado como pago exatamente uma vez, mesmo que o webhook chegue de novo - [ ] As credenciais vêm de variáveis de ambiente - [ ] O que preciso mudar para entrar em produção
Redes
Stablecoins são creditadas ao par, sem cotação nem spread. BTC, LTC e moedas nativas são cotados a uma taxa travada por 30 minutos.
| Rede | Moedas | Tempo de chegada | Mínimo |
|---|---|---|---|
| TRON | USDTTRX | ~1 min | $1.00 |
| BNB Smart Chain | USDTUSDCUSD1FDUSDBNB | ~1 min | $1.00 |
| Ethereum | USDTUSDCDAIETH | ~1–18 min | $5.00 |
| Base | USDCDAIETH | ~1–25 min | $1.00 |
| Polygon PoS | USDTUSDCPOL | ~1 min | $1.00 |
| Arbitrum One | USDTUSDCDAIETH | ~1–30 min | $1.00 |
| OP Mainnet | USDTUSDCETH | ~1–25 min | $1.00 |
| Avalanche C-Chain | USDTUSDCAVAX | ~1 min | $1.00 |
| X Layer | USDTUSDCOKB | ~1–20 min | $1.00 |
| Dogecoin | DOGE | ~1–40 min | $1.00 |
| Solana | USDTUSDCSOL | ~1 min | $1.00 |
| TON | USDTTON | ~1 min | $1.00 |
| Litecoin | LTC | ~3–15 min | $1.00 |
| Bitcoin | BTC | ~10–30 min | $5.00 |
| Bitcoin Cash | BCH | ~10–60 min | $1.00 |
As moedas destacadas são stablecoins, cada uma creditada 1:1 em dólares. O tempo menor vale para pagamentos abaixo de $1,000. A partir de $1,000, e de novo a partir de $5,000, esperamos mais confirmações, então pagamentos maiores podem levar até o tempo maior.
Preços
Uma única tabela de faixas para todos os lojistas, reduzida automaticamente pelo volume do mês anterior. Nada para negociar.
1%por pagamento
Até 0.5%. O cliente paga a taxa da rede.
Perguntas
17 moedas em 15 redes: USDT, USDC, USD1, FDUSD, DAI, BTC, LTC, DOGE e BCH, além das moedas nativas TRX, BNB, ETH, POL, AVAX, OKB, SOL e TON. Redes: TRON, BNB Smart Chain, Ethereum, Base, Polygon PoS, Arbitrum One, OP Mainnet, Avalanche C-Chain, X Layer, Dogecoin, Solana, TON, Litecoin, Bitcoin e Bitcoin Cash. Stablecoins são creditadas 1:1 em dólares; as demais moedas são convertidas a uma cotação travada por 30 minutos.
1% por pagamento, reduzido automaticamente pelo volume do mês anterior: 0.9% a partir de $50,000, até 0.5%. Sem mensalidade nem taxa de adesão, saques grátis. O cliente paga a taxa da rede.
Não. Informe um valor no painel para obter um link de pagamento e um QR code; o cliente escaneia e paga, e o dinheiro cai no seu saldo em dólares. A blockwallets cuida dos endereços, das confirmações e da conciliação.
Solicite um saque para a sua própria carteira pelo painel quando quiser, ou deixe as solicitações automáticas quando o saldo atingir um valor que você escolher, ou todo dia. Cada saque passa por revisão humana, e um endereço de saque novo espera 24 horas antes do primeiro pagamento. Os saques são grátis e cada um mostra a transação na blockchain.
As chaves que podem movimentar fundos nunca ficam em um servidor que atende o público: são usadas apenas em um ambiente de assinatura isolado dos serviços online. A consolidação só vai para endereços fixos de carteira fria; os saques para lojistas são aprovados por uma pessoa e só vão para o endereço de saque cadastrado pelo lojista. Os servidores conectados à internet guardam só uma chave pública de leitura (xpub): criam endereços de recebimento e leem saldos, mas não conseguem enviar fundos.
Só o domínio da API e as chaves. Temos uma API compatível para cada uma das três: caminhos, parâmetros, o algoritmo de assinatura e o formato do webhook são iguais aos do original, então o seu código continua o mesmo.
Sim. O modo de teste tem credenciais próprias em testnets públicas, e a página de pagamento tem um botão “simular pagamento”, então você testa criação, pagamento, webhook e verificação de assinatura sem dinheiro de verdade.
Estamos abrindo a blockwallets aos lojistas aos poucos. Conte um pouco sobre o seu negócio e enviaremos um e-mail para configurar sua conta. Novo em cripto? Pergunte o que quiser nas observações.
Taxas: 1% por pagamento, caindo para 0.9% quando o volume do mês anterior chega a $50,000, e até 0.5% conforme você cresce. Ver preços →