Todos os sistemas operacionais Amsterdã · Paris · Reykjavík +5 Pagar com Criptomoeda
Pagamentos e privacidadeIntermediário24 min de leituraAtualizado em 2026-09-01

Hospede seu próprio BTCPay Server em um VPS

Um processador de pagamentos é uma empresa que fica com o seu dinheiro enquanto ele passa e pergunta quem você é antes de mais nada. O BTCPay Server faz o mesmo trabalho, na forma de um software que você mesmo roda. Aqui está o que isso custa de verdade para operar, e onde as chaves precisam morar depois.

Hospede seu próprio BTCPay Server em um VPS
Nesta página
  1. O que um processador auto-hospedado realmente muda
  2. O que o deploy realmente coloca no ar, e qual parte sai cara
  3. Dimensionando com honestidade, e qual plano cabe
  4. O que você precisa antes de começar
  5. Passo a passo
  6. Onde as chaves vivem, e o único erro que importa
  7. Backups, e as partes que são genuinamente insubstituíveis
  8. Modos de falha que os guias rápidos pulam
  9. Jurisdição, o domínio, e o que hospedar por conta própria não esconde
  10. Perguntas frequentes

Todo processador de pagamento em cripto hospedado por terceiros pede as mesmas duas coisas antes de mover um satoshi para você: quem você é, e permissão para segurar o dinheiro em trânsito. As duas são decisões que outra pessoa tomou sobre o seu negócio. O BTCPay Server faz o mesmo trabalho — faturas, taxas de câmbio, uma página de checkout, webhooks, um ponto de venda — como um software que você roda, sem conta, sem porcentagem, e sem ninguém entre a carteira do cliente e a sua.

A troca é que você vira o operador. Este guia é sobre o que isso custa de verdade: qual parte da stack consome os recursos (não é o BTCPay), que plano a coisa realmente precisa, como fazer o deploy em cerca de uma hora de atenção e um dia de espera, e — a parte que decide se tudo isso valeu a pena — onde as chaves vivem depois que está rodando. Bitcoin e Lightning são o padrão; Monero é uma integração opcional e, por acaso, a que tem a história de chaves mais limpa das três. A máquina por baixo pode ser alugada com um endereço de e-mail e paga nas mesmas moedas que você está prestes a começar a aceitar.

O que um processador auto-hospedado realmente muda

O discurso de venda geralmente é “sem taxas”, que é a parte menos interessante disso. Quatro coisas mudam, e só uma delas é sobre dinheiro:

  • Ninguém segura os seus fundos em trânsito. Um processador hospedado por terceiros recebe o pagamento do cliente na própria carteira dele e só depois credita para você. É nessa brecha que acontecem retenções, revisões e bloqueios. O BTCPay nunca recebe nada: o cliente paga um endereço derivado da sua chave, e as moedas são suas desde a primeira confirmação.
  • Ninguém pergunta quem você é. Entrar em um processador é um processo de identidade que termina em um banco. Instalar um software não é. Essa é a diferença inteira, e é por isso que a resposta para “como eu recebo cripto sem KYC” é sempre “rode o processador você mesmo”.
  • O custo para de escalar com você. Uma porcentagem é cobrada para sempre e cresce com o sucesso. Um VPS e um domínio custam o mesmo em um mês bom e em um mês ruim.
  • Você herda o trabalho operacional. Uptime, atualizações, backups, e ser a pessoa que recebe a mensagem quando um cliente diz que a fatura nunca foi confirmada. Esse é o preço de verdade, e ele é pago em atenção, não em dinheiro.

O que você não ganha é a única coisa em que os processadores são genuinamente bons: transformar moedas em dinheiro de conta bancária em seu nome. O BTCPay guarda o que foi pago, na moeda em que foi pago. Conversão, faturamento em moeda fiduciária, exportações contábeis que uma autoridade fiscal reconheça — problemas totalmente separados, e a maioria das formas de resolvê-los reintroduz exatamente a contraparte identificada que você acabou de remover. Descubra qual metade dessa troca você realmente queria antes de construir qualquer coisa.

O que o deploy realmente coloca no ar, e qual parte sai cara

O nome engana de um jeito útil. “BTCPay Server” não é um programa só; o deploy padrão é uma pequena frota de contêineres que sobem juntos, e saber qual é qual faz a diferença entre dimensionar isso direito e simplesmente chutar:

  • Bitcoin Core. Um nó completo de verdade, validando desde o genesis. Este é o componente que consome seu disco, a maior parte do primeiro dia, e quase toda a memória. Todo o resto é, em comparação, de graça.
  • NBXplorer. O indexador entre o Core e o BTCPay. Você entrega a ele chaves públicas estendidas; ele rastreia os endereços derivados e avisa o BTCPay quando o dinheiro chega. É também a peça que se importa com a poda, por motivos que a seção de modos de falha retoma.
  • O BTCPay Server em si. A aplicação: lojas, faturas, a página de checkout, o ponto de venda, webhooks, a Greenfield API. Modesto em comparação — algumas centenas de megabytes de memória.
  • PostgreSQL. Faturas, lojas, configurações, usuários, chaves de API. Pequeno, e é para isso que os seus backups realmente servem.
  • nginx com certificados automáticos. Um proxy reverso mais um companheiro que emite e renova um certificado para o seu hostname. É por isso que as portas 80 e 443 precisam estar genuinamente alcançáveis pela internet.
  • Opcionalmente um nó Lightning (Core Lightning ou LND) e um daemon Monero com um RPC de carteira ao lado — cada um trazendo sua própria chain e seu próprio apetite por disco.

Então a pergunta de dimensionamento nunca é “quão grande o BTCPay precisa ser”. É “quanta chain eu estou guardando, e quantas chains”. Responda isso e o plano se escolhe sozinho.

Dimensionando com honestidade, e qual plano cabe

O projeto documenta 2 GB de RAM com swap como mínimo e 4 GB como recomendação, e a diferença entre esses dois números é a diferença entre uma instalação que tecnicamente termina e uma que você está disposto a indicar para clientes. Um runtime de aplicação, o PostgreSQL e um bitcoind sincronizando, dividindo 2 GB, vão terminar — devagar, com o arquivo de swap fazendo um trabalho que não deveria precisar fazer.

O disco é definido por quão forte você poda, e o deploy expõe isso como um fragmento que você passa para o instalador. A família roda aproximadamente o opt-save-storage em cerca de 100 GB de arquivos de blocos, o -s em cerca de 50 GB, o -xs em cerca de 25 GB e o -xxs em cerca de 5 GB. Esse último é uma armadilha para qualquer coisa que precise sobreviver: ele mantém tão pouco histórico que a manutenção comum começa a falhar. Para uma loja, -s ou -xs é a faixa sensata.

Números concretos da grade, porque “depende” não é uma resposta:

  • Só Bitcoin, podado, uma lojaScout, 2 vCPU / 4 GB / 70 GB NVMe, $9.00/mo. O piso honesto, e a resposta certa para a maioria dos leitores.
  • Bitcoin e LightningRunner, 3 vCPU / 6 GB / 100 GB, $14.00/mo. Um daemon Lightning é leve em disco e insistente em ficar online; a folga é para o nó por baixo dele.
  • Bitcoin, Lightning e MoneroAlpha, 6 vCPU / 12 GB / 200 GB, $28.00/mo. Uma chain Monero podada tem sozinha cerca de 85 GB, então duas chains e dois indexadores é onde 8 GB fica apertado. Hunter (4 vCPU / 8 GB / 140 GB, $19.00/mo) cabe só se o Bitcoin ficar podado com força e continuar assim.
  • Um nó não podado por trás da loja — um projeto diferente, com uma conta diferente. O guia de nó completo tem esses números, e eles começam no Fenrir.

A CPU importa exatamente uma vez. A verificação de assinaturas durante o download inicial de blocos é paralelizável, então de duas a quatro vCPU transformam a primeira sincronização de dias em cerca de um dia, e depois voltam a ficar ociosas. A banda é um custo único da chain inteira, em uma porta de 1 Gbps com tráfego ilimitado e sem fatura por excedente no fim do mês. Latência é irrelevante para um processador de pagamentos, então escolha o local pela jurisdição, não pelos milissegundos — Amsterdã, Paris, Bucareste e Sófia ficam todas no preço base.

O que você precisa antes de começar

Uma lista curta, e um item dela não é técnico.

  • Um domínio, com um registro A já apontando para o servidor. O certificado é emitido via HTTP contra esse hostname, então o DNS precisa resolver antes de o instalador rodar, não durante. Um subdomínio como pay.example.com é o formato normal.
  • Portas 80 e 443 abertas para o mundo. A porta 80 não é opcional, mesmo que nada de útil sirva nela depois; o desafio do certificado precisa dela.
  • Debian 13 da biblioteca de templates, em uma máquina que já passou pelos dez minutos de hardening. Faça isso primeiro — é bem mais difícil fazer com educação depois que uma stack já está rodando.
  • Uma carteira que você já controla, e sua chave pública estendida. Sparrow, Electrum ou uma carteira de hardware. Tenha-a em mãos antes de instalar, para nunca ficar tentado a deixar o servidor gerar uma para você.
  • Um endereço de e-mail para a autoridade certificadora. Ele só recebe avisos de expiração, e nada mais.
  • Uma decisão sobre poda, tomada agora. Mudar de ideia depois significa ressincronizar a chain do zero, um dia que você não vai gostar de gastar duas vezes.

Passo a passo

  1. Faça o deploy do servidor, aponte o domínio para ele, e proteja-o primeiro

    Peça o plano que a seção de dimensionamento indicou, escolha Debian 13, e escolha o local pela jurisdição, não pela latência. Crie o registro DNS imediatamente, porque ele precisa ter propagado até o momento em que o instalador pedir para uma autoridade certificadora provar que você é dono do nome:

    pay.example.com.   300   IN   A   198.51.100.10

    Depois o passo do guia de proteção do Debian: um usuário não-root com uma chave, autenticação por senha desligada, atualizações de segurança automáticas ligadas, e um firewall com negação por padrão. Tudo abaixo presume que isso já aconteceu, e que 22, 80 e 443 são as únicas portas abertas.

    apt update && apt full-upgrade -y
    apt install -y git curl

    Não instale o Docker manualmente. O script de configuração instala e configura a versão que ele espera, e uma instalação feita na mão é o motivo mais comum de uma primeira execução falhar.

  2. Clone o repositório do deploy e escolha seus fragmentos

    O deploy inteiro é um repositório só de shell scripts e fragmentos de compose. Clone-o como root, em algum lugar que você vá lembrar:

    git clone https://github.com/btcpayserver/btcpayserver-docker
    cd btcpayserver-docker

    Configuração são variáveis de ambiente, lidas uma vez pelo instalador e depois persistidas, então os exports abaixo são o único arquivo de configuração que você vai escrever:

    export BTCPAY_HOST="pay.example.com"
    export NBITCOIN_NETWORK="mainnet"
    export BTCPAYGEN_CRYPTO1="btc"
    export BTCPAYGEN_REVERSEPROXY="nginx"
    export BTCPAYGEN_LIGHTNING="clightning"
    export BTCPAYGEN_ADDITIONAL_FRAGMENTS="opt-save-storage-s"
    export LETSENCRYPT_EMAIL="you@example.com"

    BTCPAYGEN_LIGHTNING aceita clightning, lnd, phoenixd ou nada — deixe vazio se você não estiver pronto para guardar fundos quentes, já que adicionar depois é só mais uma execução do mesmo script. Os nomes dos fragmentos são a parte disso que muda entre versões, então leia a página de deploy atual do projeto antes de colar.

  3. Rode o instalador, e deixe a chain sincronizar

    Um único comando monta o arquivo de compose, baixa as imagens e sobe tudo:

    . ./btcpay-setup.sh -i

    Ele termina em poucos minutos e deixa uma interface web funcionando. Ele não deixa uma loja funcionando, porque o Bitcoin Core está agora baixando e validando a chain, e nada pode ser pago até que isso termine. Acompanhe em vez de chutar:

    bitcoin-cli.sh -getinfo
    btcpay-down.sh     # stop everything
    btcpay-up.sh       # start everything

    O número em que confiar é o verificationprogress, e ele engana no começo: os primeiros noventa por cento são rápidos e os últimos dez levam a maior parte do tempo, porque os blocos recentes são cheios. Em NVMe com duas a quatro vCPU, espere cerca de um dia. Deixe rodando sem mexer — reiniciar no meio da sincronização só custa o cache.

  4. Crie a conta de administrador e feche a porta atrás de você

    Abra https://pay.example.com e registre-se. A primeira conta criada vira a administradora, o que faz da janela entre o instalador terminar e você se registrar o único momento genuinamente perigoso de todo esse processo. Faça isso imediatamente, a partir de uma aba do navegador que você já tenha aberta.

    Depois, nas configurações do servidor, desligue o registro aberto para que o segundo visitante não consiga criar uma conta, e ative a autenticação de dois fatores na sua própria conta. Os dois são dois cliques, e juntos são a diferença entre um processador de pagamentos e o processador de pagamentos de outra pessoa. Convide qualquer administrador adicional explicitamente.

  5. Conecte uma carteira da qual o servidor não consegue gastar

    Crie uma loja, e depois anexe uma carteira Bitcoin. O BTCPay se oferece para gerar uma nova para você; siga pelo outro caminho — conectar uma carteira existente — e cole a chave estendida pública, em nível de conta, exportada da sua própria carteira:

    zpub6r...
        # account-level extended PUBLIC key (xpub / ypub / zpub), never a prv
        # Sparrow: wallet settings.  Electrum: Wallet -> Information -> Master Public Key

    Essa string é pública por design. Ela deixa o BTCPay derivar um suprimento ilimitado de endereços de recebimento e reconhecer pagamentos para eles; ela não deixa o BTCPay, nem quem quer que o comprometa, mover um satoshi sequer. A chave privada continua onde estava, idealmente em uma carteira de hardware que nunca teve contato com essa máquina.

    Duas consequências que vale a pena internalizar. Use uma conta nova ou um caminho de derivação dedicado para a loja, em vez da chave de uma carteira que você usa há anos — a seção de modos de falha explica por que histórico e poda não combinam. E lembre-se de que quem quer que segure essa chave estendida consegue ver todo pagamento que você já recebeu: não é uma chave, mas também não é nada. Trate-a como um livro-razão deixado aberto em uma mesa.

  6. Adicione o Lightning, e decida quanto do seu dinheiro mora lá

    Se você definir BTCPAYGEN_LIGHTNING no momento da instalação, o nó já fica rodando e conectado internamente, e as configurações da loja só precisam ligá-lo. Se você deixou vazio, exporte a variável e rode o script de configuração de novo; ele é idempotente e não vai ressincronizar a chain.

    export BTCPAYGEN_LIGHTNING="clightning"
    . ./btcpay-setup.sh -i

    Agora a parte que é uma decisão, não uma configuração. Os saldos de canal ficam guardados em uma carteira da qual o servidor pode gastar, porque é isso que um canal de pagamento é; não existe Lightning somente observação. Comprometer essa máquina custa exatamente o saldo do canal e mais nada, e é por isso que o valor certo para manter ali é o valor que incomodaria perder, não que arruinaria. Varra para armazenamento frio em uma programação que você realmente vá manter.

    Espere que o primeiro mês seja sobre liquidez, não sobre pagamentos. Um nó de comerciante precisa de capacidade de entrada, que é o oposto do que abrir um canal te dá — abrir um canal financia o seu próprio lado. Comprar liquidez de entrada de um serviço, rodar um submarine swap para empurrar seus fundos para o outro lado, ou esperar que peers abram canais na sua direção depois que você tiver volume são as três opções honestas. Core Lightning e LND funcionam, os dois; o Core Lightning é o mais fácil de entender ao lado de um nó podado, por motivos que o guia de nó completo cobre.

  7. Adicione o Monero com uma carteira somente visualização

    O Monero se conecta do mesmo jeito, como um segundo slot de cripto, o que sobe um daemon Monero e um RPC de carteira junto com todo o resto:

    export BTCPAYGEN_CRYPTO2="xmr"
    . ./btcpay-setup.sh -i

    Reserve espaço para uma segunda chain: cerca de 85 GB podada, e uma primeira sincronização medida em um dia ou dois em NVMe. O guia de nó Monero tem o detalhe dos dois.

    O tratamento das chaves aqui é a melhor parte de toda a configuração. O Monero separa a capacidade de ver pagamentos recebidos da capacidade de gastá-los, então você gera uma carteira somente visualização a partir do seu endereço primário e da chave privada de visualização, e isso é tudo que o servidor jamais guarda:

    monero-wallet-cli --generate-from-view-key store-view

    Ele pede o endereço padrão, a chave privada de visualização e uma senha. Copie os arquivos de carteira resultantes para o diretório de carteiras Monero que o deploy expõe, aponte a loja para lá, e o BTCPay gera um subendereço por fatura e fica de olho nos pagamentos para ele. A chave de gasto nunca sai da máquina em que você a gerou.

    Uma coisa para planejar em torno do checkout: os outputs recebidos ficam travados por dez blocos, cerca de vinte minutos, então o BTCPay vê o pagamento chegar bem antes de ele poder ser gasto. Para produtos digitais, isso é uma escolha de política. Para qualquer coisa entregue pessoalmente, é uma fila.

  8. Teste como um cliente, depois como um operador

    “A página carrega” não é um teste. Crie uma fatura de um valor trivial, pague-a a partir de uma carteira de verdade, e depois passe pelas configurações que decidem o que acontece quando um pagamento não é perfeito:

    • Política de confirmação. Quantos blocos antes de uma fatura contar como confirmada. Zero confirmações é razoável para um café e errado para um notebook; é uma configuração por loja, e o número mais consequente da interface.
    • Expiração da fatura. Quanto tempo um cliente tem antes de a cotação parar de valer. Quinze minutos é o padrão, e é pouco para quem está pagando a partir de um saque de exchange.
    • Tolerância de pagamento. A porcentagem de subpagamento que você vai aceitar em vez de deixar um cliente com uma fatura meio paga e um chamado de suporte. Pequena e diferente de zero é a configuração pragmática.
    • Subpagamento e sobrepagamento. Pague uma fatura a menos de propósito, uma vez, e veja o que a sua loja faz a respeito. É bem melhor aprender isso com o seu próprio dinheiro.

    Depois, a metade do operador: ative um webhook e confirme que a sua loja realmente o recebe, gere uma chave da Greenfield API se algo for criar faturas de forma programática, e faça um backup completo antes de entrar no ar — para que o primeiro restore que você já fizer seja um ensaio, e não uma emergência.

Onde as chaves vivem, e o único erro que importa

Quase todo resultado ruim com um processador auto-hospedado remonta a uma única decisão tomada cedo e sem cuidado: deixar o servidor guardar algo capaz de gastar. Vale a pena ser explícito sobre os três casos, porque eles são genuinamente diferentes.

  • Bitcoin on-chain: somente observação, sempre. O BTCPay guarda uma chave pública estendida e mais nada. Se a máquina for comprometida, o invasor descobre o que você recebeu e pode mudar para onde as futuras faturas apontam — um ataque real, e o motivo para reconferir a carteira da sua loja depois de qualquer incidente — mas não consegue tocar em uma moeda já recebida.
  • Lightning: quente por definição. Os canais são financiados com moedas que o servidor pode gastar, porque é isso que um canal é. Esta é a exceção deliberada, e a seção acima dimensiona ela.
  • Monero: somente visualização, estruturalmente. A chave privada de visualização revela todo pagamento que chega e não autoriza nenhum deles. Não existe equivalente do lado do Bitcoin.

A única funcionalidade que quebra esse modelo de propósito é o Payjoin. Ele deixa seu servidor contribuir com uma entrada na transação do cliente, o que degrada de forma significativa a heurística de entrada comum em que a análise de chain se apoia, e é um ganho real de privacidade para as duas partes — mas quem recebe precisa conseguir assinar, então isso exige uma carteira quente dentro do BTCPay. Essa é uma troca real, não uma funcionalidade de graça. Assuma isso conscientemente, e financie-a do mesmo jeito que você financia a carteira do Lightning: com um valor, não com tudo.

E se você deixar o assistente de configuração gerar a carteira da loja porque era o caminho mais rápido: anote a seed que ele mostrou, verifique-a em uma carteira offline, e depois planeje a migração para uma configuração somente observação. Uma seed que já esteve em um servidor exposto à internet é uma seed com uma contagem regressiva correndo.

Backups, e as partes que são genuinamente insubstituíveis

Organize o estado pelo que seria preciso para recriá-lo, porque as respostas são bem diferentes:

  • A chain. Não é um problema de backup. É um dado público e ela ressincroniza, devagar e de graça. Nunca faça backup dela.
  • O banco de dados. Faturas, lojas, configurações, usuários, chaves de API. Este é o backup de verdade, é pequeno, e perdê-lo custa o registro contábil de cada venda — não o dinheiro, mas o papelório.
  • Sua carteira on-chain. Já está segura, porque a chave nunca esteve aqui. Essa é a recompensa do passo cinco.
  • O estado dos canais Lightning. O que morde. Um backup estático de canal deixa você recuperar os fundos dos seus canais depois de uma perda total, forçando o fechamento deles; ele não restaura os canais, e não vale nada se estiver desatualizado. Ele muda toda vez que um canal abre ou fecha, então pertence a uma cópia automatizada fora do local, não a uma pasta que você lembra trimestralmente.
  • A carteira Monero somente visualização. Reconstruível a partir do endereço e da chave de visualização que você ainda guarda offline. Faça backup delas e trate os arquivos da carteira como um cache.

O deploy vem com ferramentas auxiliares que fazem isso corretamente:

btcpay-backup.sh    # stops the stack, dumps Postgres, tars the config, restarts
btcpay-restore.sh   # puts one of those archives back

Essa pausa é o ponto principal — uma cópia quente de um banco de dados rodando pode restaurar para algo problemático. Criptografe tudo o que sai da máquina, e lembre-se de que o snapshot semanal incluído em todo plano é uma conveniência, não um backup: um snapshot mora junto com a coisa que ele protege.

Modos de falha que os guias rápidos pulam

Em ordem aproximada de quantas vezes já custaram uma noite de alguém:

  • O certificado nunca é emitido. Nove em cada dez vezes o registro A foi criado depois que o instalador rodou, ou a porta 80 está filtrada. Corrija o DNS, confirme que o nome resolve a partir de algum lugar que não seja o seu próprio laptop, e então rode o script de configuração de novo. Tentar de novo às cegas contra a autoridade certificadora rende um rate limit e uma semana de espera, então mude alguma coisa entre as tentativas.
  • Uma chave estendida importada com histórico não mostra saldo. Esta é a armadilha da poda. O indexador encontra pagamentos novos observando blocos novos, mas reconstruir o passado de uma carteira já existente significa ler blocos que um nó podado já apagou. Use uma conta nova para a loja e o problema simplesmente não existe; se você precisar importar histórico, vai precisar de um nó não podado e de um rescan.
  • “O cliente pagou e a fatura continua aberta.” Geralmente é subpagamento pela taxa da carteira que enviou, uma fatura que expirou enquanto o pagamento ficava sem confirmação, ou uma política de confirmação mais rígida do que você lembra de ter escolhido. As três são configurações, e as três são o motivo de você testar primeiro com o seu próprio dinheiro.
  • O nó fica para trás silenciosamente. Um bitcoind travado distribui endereços e perde pagamentos sem reclamar. Compare a sua altura de bloco com qualquer fonte pública em um cronômetro e alerte sobre a diferença; isso não é algo para você aprender através de um cliente.
  • Uma atualização no momento errado. O btcpay-update.sh se comporta bem, mas reinicia tudo. Rode-o de forma deliberada, nunca automaticamente, e nunca durante uma venda.
  • O endereço ganha uma reputação. Uma página de checkout em um IPv4 na blocklist é uma página de checkout que algumas redes corporativas e filtros de e-mail recusam silenciosamente. Todo plano aqui vem com um endereço dedicado sem histórico, e vale a pena verificar isso antes de imprimir o domínio em qualquer lugar.

Jurisdição, o domínio, e o que hospedar por conta própria não esconde

O software remove uma contraparte. Ele não remove o resto da superfície, e ser honesto sobre isso é mais útil do que mais uma lista de funcionalidades.

O domínio é o ponto fraco. Ele é registrado em algum lugar, resolve publicamente, e é a primeira coisa que qualquer um olha. Um processador auto-hospedado em um hostname registrado no seu próprio nome, em um registrador no seu próprio país, tirou o dinheiro das mãos de terceiros e deixou a identidade exatamente onde estava. Se isso importa para o que você vende, o registrador merece pelo menos tanta atenção quanto o host.

A jurisdição é uma variável real. Onde a máquina fica decide de quem é a ordem judicial que a alcança e quanto processo fica no caminho. Isso é atrito e distância, não imunidade — um ponto que o verbete de hospedagem offshore explica em detalhes, e vale a pena ler antes de escolher uma bandeira em vez de uma rede.

A conta é o último elo. Alugar o servidor com um endereço de e-mail e pagar em Monero significa que nenhum extrato de cartão liga a página de checkout a um banco — uma coisa estranha de esquecer enquanto você constrói um sistema cujo ponto inteiro é não precisar de um. Todo plano aqui é no-KYC por padrão, e todo local vem com um IPv4 limpo e dedicado com DNS reverso personalizado.

E o limite é declarado, não implícito. Nós, processadores e lojas são infraestrutura comum e são bem-vindos aqui; a política de uso aceitável é curta, pública, e tem um piso embaixo dela. Se você precisa de uma licença para receber pagamentos é uma pergunta sobre o que você vende e onde você está, não sobre o software — e é uma pergunta para alguém qualificado, não para um guia de hospedagem.

Perguntas frequentes

De qual plano de VPS eu preciso para o BTCPay Server?

O Scout (2 vCPU / 4 GB / 70 GB NVMe, $9.00/mo) rodando um nó Bitcoin podado é o piso honesto para uma loja funcionando, e é o que a maioria dos leitores deveria comprar. Adicione Lightning e o Runner (3 vCPU / 6 GB / 100 GB, $14.00/mo) fica mais confortável; adicione Monero como uma segunda chain e o Alpha (6 vCPU / 12 GB / 200 GB, $28.00/mo) é o tamanho que faz você parar de pensar nisso. O projeto documenta 2 GB como o mínimo dele, o que é verdade e não é agradável.

Posso rodar o BTCPay Server sem um nó Bitcoin completo?

Sim, mas você está escolhendo em qual confiança ficar. O BTCPay pode ser apontado para um nó externo que você já roda — a versão sensata disso, e um bom motivo para ter seguido o guia de nó completo antes — ou para o nó de outra pessoa, o que reintroduz um terceiro que vê todo endereço que a sua loja gera. O nó embutido existe porque é a única configuração em que ninguém está observando. Um nó podado continua sendo um nó completo: pode-o e a maior parte da objeção sobre recursos desaparece.

O BTCPay Server suporta Monero?

Sim, como uma integração opcional que você ativa no momento do deploy. Ela sobe um daemon Monero e um RPC de carteira, e você a conecta com uma carteira somente visualização gerada a partir do seu endereço primário e da chave privada de visualização — então o servidor consegue ver os pagamentos e não consegue gastá-los, o que é um arranjo melhor do que qualquer coisa disponível do lado do Bitcoin. Os custos são uma segunda chain para sincronizar e guardar, e o travamento de dez blocos nos outputs recebidos, cerca de vinte minutos antes de os fundos poderem ser gastos.

É legal rodar meu próprio processador de pagamentos?

Rodar o software é operação comum de software. A atividade regulada na maioria dos lugares é guardar ou movimentar dinheiro em nome de outras pessoas, e um processador sem custódia recebendo pagamento pelos seus próprios produtos especificamente não faz isso, porque nada é jamais guardado em nome de ninguém. O que você vende e onde você mora ainda determinam suas obrigações, impostos incluídos, e hospedar por conta própria não muda nenhuma delas. Este é um guia de hospedagem, não aconselhamento jurídico: se você pretende processar pagamentos para terceiros, assuma que está em uma categoria diferente e procure alguém qualificado.

Se o servidor morrer, eu perco o dinheiro?

O dinheiro on-chain, não — desde que você tenha seguido o passo cinco — essas moedas ficam em uma carteira cuja chave nunca esteve no servidor, e uma instalação nova, alimentada com a mesma chave pública estendida, volta a vê-las. O que você perde é o registro: faturas, configurações da loja, chaves de API, a menos que você tenha guardado o backup do banco de dados. O Lightning é a exceção, porque os fundos dos canais ficam no servidor; recuperá-los depois de uma perda total exige um backup estático de canal atualizado, e isso força o fechamento dos seus canais em vez de restaurá-los.

Eu preciso de um domínio para o BTCPay Server?

Na prática, sim. O deploy emite um certificado para um hostname, navegadores e carteiras esperam HTTPS em uma página de checkout, e os clientes estão sendo pedidos para mandar dinheiro para o que quer que esteja na barra de endereço. Um subdomínio de algo que você já possui é mais do que suficiente. Se um domínio público é o próprio problema, o BTCPay pode ser acessado por um serviço onion em vez disso — uma configuração legítima que também muda quantos clientes conseguem alcançar a página.

Quanto custa, de verdade, hospedar por conta própria por mês?

O software é gratuito e licenciado sob AGPL, então a conta é o VPS, o domínio e o seu tempo. A $9.00 por mês pelo Scout e alguns dólares por ano por um nome, a matemática contra qualquer processador baseado em porcentagem deixa de ser parecida a partir de um volume bem pequeno — e, ao contrário de uma porcentagem, isso não cresce quando você tem sucesso. O custo honesto é o terceiro item: agora você é a pessoa que percebe quando o nó para de sincronizar.

Implante um VPS offshore em cerca de um minuto

Sem KYC, pago em cripto, tudo NVMe. Escolha um plano, pague em Monero ou qualquer moeda principal e receba root em cerca de 60 segundos.

Fenrir em guarda