api bybit python

Como usar a API Bybit com Python no Brasil: tutorial para configurar e testar seu bot

Se você está montando um bot em Python e precisa conectá-lo à Bybit, o processo envolve três etapas na ordem certa: criar as chaves da API com permissões corretas, instalar a biblioteca pybit e guardar as credenciais fora do código.

Neste guia mostramos cada passo, com o código que usamos no servidor Hetzner com nosso robô trader da Bybit rodando.

A Bybit API Python usa a biblioteca oficial pybit - diferente da ccxt que você pode conhecer da API Binance Python. O conceito é o mesmo, mas a biblioteca e os endpoints mudam.

⚠️ Aviso de risco: Trading de criptomoedas envolve risco real de perda de capital. Resultados passados não garantem resultados futuros. Este conteúdo é educacional e não constitui conselho financeiro ou de investimento.

O que é a API Bybit e para que serve

A API da Bybit é a interface que permite que programas externos consultem saldo, enviem ordens, monitorem posições e baixem histórico de trades via código.

O bot se comunica diretamente com os servidores da Bybit usando requisições HTTP autenticadas com suas chaves da API - sem precisar abrir nenhuma interface web.

Para quem está no caminho do trading algorítmico, entender a Bybit API Python é o passo que transforma uma estratégia testada em código numa estratégia executada automaticamente na exchange. O que a chave que vamos criar não vai ter: permissão de saque - isso é intencional.

Como criar suas chaves da API na Bybit

Antes de instalar qualquer biblioteca, você precisa das credenciais. As chaves da API da Bybit são geradas direto no painel - e é nessa tela que você define exatamente o que o bot pode e não pode fazer na sua conta.

Passo a passo - criar chave da API na Bybit

Acesse o painel da Bybit e vá em Perfil → API → Criar Nova Chave.

Bybit API Python criar api key passo a passo
Acesse Perfil → API → Criar Nova Chave para gerar suas credenciais.

Na tela de criação, defina um nome para a chave (ex: CriptoMatiko), marque as permissões necessárias e adicione o IP do servidor. A Bybit pede o IP nesta mesma tela.

Habilite Trading Unificado e adicione o IP do seu servidor nesta mesma tela.
bybit api permissoes saque desabilitado bot trading
Verifique que o saque esteja desabilitado para o seu bot.

Confirme a criação. Na tela seguinte aparecem a chave da API e o segredo da API ao mesmo tempo - copie os dois agora. Eles não serão exibidos de novo.

Copie a chave da API e o segredo da API imediatamente - não serão exibidos novamente.

Quais permissões habilitar na API Bybit para um bot de trading?

Para Trading Unificado, as permissões aparecem organizadas por tipo de produto - exatamente como mostrado nas imagens acima.

Escolha conforme a estratégia do seu bot: Trade em SPOT para bots simples de compra e venda, ou adicione Contrato e USDC se o bot operar derivativos. Traders com conta registrada no Brasil devem verificar as restrições da CVM antes de habilitar derivativos.

Saque: deixe sempre desabilitado. Nenhum bot de trading precisa dessa permissão - confira nas imagens acima que o campo fica sem marcação.

🎁 Bônus exclusivo: Até $40 USDT em bônus ao criar sua conta na Bybit pelo nosso link. Cadastre-se pelo nosso link para garantir.

Como instalar o pybit e configurar o ambiente

Com as credenciais em mãos, o próximo passo é preparar o servidor: criar o ambiente virtual, instalar as bibliotecas e guardar as chaves no arquivo correto. Cada uma dessas etapas tem uma razão específica.

Instalação do pybit no servidor

Execute esses comandos no servidor para criar o ambiente e instalar as dependências necessárias para a Bybit API Python:

python3 -m venv venv          # criar o ambiente virtual (só na primeira vez)
source venv/bin/activate      # ativar o ambiente
pip install pybit python-dotenv

⚠️ pip install pybit - não confundir com ccxt. A ccxt é a biblioteca para a Binance. A pybit é a biblioteca oficial da Bybit. São bibliotecas diferentes para exchanges diferentes.

Criação do ambiente virtual e instalação das bibliotecas no servidor Hetzner.

O que é pybit?

pybit é a biblioteca oficial Python para a Bybit API Python V5, mantida pelo time da Bybit no GitHub.

Ela cobre Spot, Linear Perpetual, Inverse e WebSockets numa interface orientada a objetos. Para instalar: pip install pybit. Requer Python 3.9.1 ou superior.

O que é o arquivo .env e por que usá-lo?

O .env é um arquivo de texto simples, sem extensão visível, que fica na pasta do projeto. Ele guarda variáveis sensíveis - como suas chaves da API da Bybit - separadas do código.

O motivo é simples: se o código for para o GitHub ou for compartilhado, as chaves ficam fora. O .env não vai junto. É uma separação intencional entre "o que o código faz" e "com quais credenciais ele opera".

Como criar o arquivo .env - passo a passo

Via VS Code: abra a pasta do bot, pressione Ctrl+N para novo arquivo e Ctrl+S para salvar. Nome exato: .env (com o ponto na frente). Cole o conteúdo abaixo e salve:

BYBIT_API_KEY=cole_sua_api_key_aqui
BYBIT_API_SECRET=cole_sua_api_secret_aqui

⚠️ Sem aspas, sem espaços ao redor do =. Substitua os valores pelos que foram copiados na tela de confirmação da Bybit.

Via terminal:

touch .env
nano .env

Cole as duas linhas, Ctrl+XY → Enter para salvar.

O que é o .gitignore (e por que você precisa dele)

Git é uma ferramenta para salvar o histórico do seu código. O GitHub é onde esse código pode ficar hospedado online. O .gitignore diz ao Git quais arquivos ignorar - não salvar, não enviar.

Por que o .env precisa estar nele: se você enviar o projeto para o GitHub, mesmo em repositório privado, o .env poderia aparecer por acidente. Com o .gitignore configurado, isso nunca acontece.

Para quem já tem .gitignore na pasta: adicione .env no final. Para quem não tem ainda: crie um arquivo chamado .gitignore na pasta do bot com só isso:

.env
Vernon

💡 Dica do Vernon: No meu repositório, a primeira coisa que faço ao criar um projeto novo é adicionar .env ao .gitignore. Fiz isso antes de escrever a primeira linha de código do bot da Bybit.

Se preferir não criar os arquivos manualmente, use este prompt no Claude Code:

Crie um arquivo .env na pasta ~/CriptoMatiko_Bybit_Bot/ com as variáveis BYBIT_API_KEY e BYBIT_API_SECRET em branco, e adicione .env ao .gitignore do projeto.

Transferindo o .env e o .gitignore para o servidor via FileZilla

Com o arquivo .env e .gitignore criado localmente, transfira via FileZilla (SFTP) para a pasta do bot no servidor. No nosso caso, o path é ~/CriptoMatiko_Bybit_Bot/

arquivo env filezilla bybit bot python
Transfira o .env para o servidor via FileZilla. Nunca inclua esse arquivo no Git.

Como guardar as chaves da Bybit API Python com segurança?

Armazene a chave da API e o segredo da API num arquivo .env na pasta do bot, nunca diretamente no código. Adicione .env ao .gitignore para bloquear commits acidentais.

Transfira o arquivo para o servidor via SFTP (FileZilla). Com isso, o código pode ir para qualquer repositório sem expor suas credenciais da Bybit API.

Como testar a Bybit API Python no servidor

Com o ambiente configurado, confirme que a Bybit API Python está respondendo antes de ligar o bot ao mercado real.

O script abaixo faz dois testes - autenticação via saldo e conectividade pública via preço - sem executar nenhuma ordem.

Script de teste - Bybit API Python

Copie o código abaixo, salve como teste_api_bybit.py na pasta ~/CriptoMatiko_Bybit_Bot/ e execute com o venv ativado.

O load_dotenv() carrega as variáveis do .env automaticamente - o os.getenv() acessa os valores sem imprimir as chaves no terminal.

import os
import sys
from dotenv import load_dotenv

load_dotenv()

api_key = os.getenv("BYBIT_API_KEY")
api_secret = os.getenv("BYBIT_API_SECRET")

if not api_key or not api_secret:
    print("ERRO: BYBIT_API_KEY ou BYBIT_API_SECRET nao encontrados no .env")
    sys.exit(1)

try:
    from pybit.unified_trading import HTTP
except ImportError:
    print("ERRO: pybit nao instalado. Execute: pip install pybit")
    sys.exit(1)

session = HTTP(api_key=api_key, api_secret=api_secret)

print("Testando conexao com a API Bybit...\n")

# Saldo da carteira (Unified Trading Account)
# Contas Bybit novas usam UTA - accountType="UNIFIED"
# Se receber ErrCode 10001, troque por accountType="SPOT" (conta Standard/Classic)
resp = session.get_wallet_balance(accountType="UNIFIED")
if resp["retCode"] == 0:
    coins = resp["result"]["list"][0]["coin"]
    ativos = [c for c in coins if float(c.get("walletBalance", 0)) > 0]
    print(f"[OK] Saldo UTA - {len(ativos)} ativo(s) com saldo:")
    for c in ativos:
        print(f"     {c['coin']}: {c['walletBalance']}")
else:
    print(f"[ERRO] retCode={resp['retCode']} - {resp['retMsg']}")

# Preco atual BTC/USDT
resp = session.get_tickers(category="spot", symbol="BTCUSDT")
if resp["retCode"] == 0:
    price = resp["result"]["list"][0]["lastPrice"]
    print(f"[OK] Preco BTC/USDT: ${float(price):,.2f}")
else:
    print(f"[ERRO] Ticker: retCode={resp['retCode']}")

print("\nTeste concluido.")

Execute com:

python teste_api_bybit.py
Vernon

Testamos em maio/2026: rodamos o script no servidor Hetzner (WyVerX) com o bot live. Ambos os testes passaram - saldo UTA acessado e preço BTC/USDT retornado corretamente. Confira o output abaixo ↓

teste conexao api bybit python hetzner
Output confirmando conexão com a Bybit API Python a partir do servidor Hetzner.

Como testar se a Bybit API Python está funcionando?

Instancie HTTP() do pybit.unified_trading com sua chave da API e segredo da API. Chame get_wallet_balance(accountType="UNIFIED") para testar a autenticação e get_tickers(category="spot", symbol="BTCUSDT") para confirmar a conectividade.

Se ambas retornarem retCode=0, a Bybit API Python está operacional.

🎁 Vantagem exclusiva: Crie sua conta pelo nosso link e garanta até $40 USDT em bônus na Bybit. Acessar agora →

4 erros comuns ao usar Bybit API Python

Cada erro listado aqui foi documentado no teste real no servidor. Se travar em algum, a causa mais provável já está aqui com a solução.

1. accountType only support UNIFIED (ErrCode: 10001)

Ocorre quando você usa accountType="SPOT" mas sua conta é Unified Trading Account (UTA). Contas Bybit criadas depois de 2023 são UTA por padrão.

Solução: troque por accountType="UNIFIED". Se mesmo assim der erro, use accountType="SPOT" - sua conta é Standard (anterior à migração para UTA).

2. invalid signature

A chave da API ou o segredo foi copiado com espaço ou caractere extra. Abra o .env e verifique: sem espaço antes ou depois do =, sem quebra de linha no meio da chave. O Secret da Bybit é uma string longa sem espaços.

3. IP not in whitelist

O IP do servidor não foi adicionado ou está incorreto. Para corrigir: acesse a chave na Bybit, edite a lista de IPs - você pode adicionar, modificar ou remover IPs sem precisar recriar a chave.

Ao salvar, a Bybit solicita confirmação via 2FA. Para verificar o IP atual do servidor, execute curl ifconfig.me no terminal.

4. module not found: pybit

O venv não está ativado. Execute source venv/bin/activate antes de rodar o script. Se o erro persistir com o venv ativado, rode pip install pybit dentro do ambiente ativado e tente de novo.

Perguntas frequentes sobre Bybit API Python

Reunimos abaixo as dúvidas mais comuns de quem está configurando a Bybit API Python pela primeira vez - desde compatibilidade no Brasil até limites de chaves por conta.

A Bybit API Python funciona para traders brasileiros?

Sim. A Bybit API Python funciona normalmente para operações Spot no Brasil, sem qualquer restrição. Para derivativos (Futures, contratos perpétuos), a CVM emitiu diretrizes que afetam traders com conta registrada no Brasil - o mercado Spot não é impactado.

Posso usar a Bybit API Python para Futuros no Brasil?

A CVM emitiu diretrizes que afetam traders com conta registrada no Brasil em relação a derivativos Bybit (Futures, contratos perpétuos).

Traders com conta criada fora do Brasil podem ter uma situação diferente - verifique as regras aplicáveis ao seu caso antes de habilitar a permissão Derivatives Trade.

Quantas chaves da API posso criar na Bybit?

A Bybit permite criar até 20 chaves da API por conta. Para cada servidor ou bot diferente, crie uma chave separada com um IP específico. Se um servidor for comprometido, você revoga só aquela chave - os outros bots continuam funcionando.

Se você prefere operar sem escrever código, veja como criar seu robô trader com bots visuais que se integram nativamente com a Bybit.

⚠️ Aviso de risco: Trading de criptomoedas envolve risco real de perda de capital. Resultados passados não garantem resultados futuros. Este conteúdo é educacional e não constitui conselho financeiro ou de investimento.

Alguns links neste artigo são de afiliados, com bônus exclusivos para você. Como isso funciona?

Posts Similares