FIX 4.4 Renda Fixa Cloud-native

Protocolo FIX da plataforma TradeMate

Resumo técnico da conectividade FIX da B3 para a nova plataforma de negociação eletrônica de renda fixa. Sessões, autenticação, portas e o catálogo completo de mensagens — organizado a partir da documentação oficial.

3tipos de sessão
50msgs/seg (throttle)
TLS 1.2canal seguro
18:00tela / negociação

01 Visão geral

O TradeMate é a plataforma de negociação eletrônica de produtos de renda fixa da B3, nativa em nuvem. Toda a interface é integrada via protocolo FIX (Financial Information eXchange), versão 4.4 — um padrão aberto mantido pela FIX Trading Community. As sessões conectam as aplicações do participante à plataforma de negociação e ao market data da bolsa.

O que dá para negociar

  • Títulos públicos: NTNB, LFT, NTNC, LTN, NTNF
  • Operações casadas: Futuros de DI e DAP (auto)
  • CBIO (crédito de descarbonização)
  • Títulos privados: CRA, CRI, CFF, Debêntures

Horários de negociação

Tela09:0018:00
RFQ09:0017:50
Voice08:0019:15

Modalidades de negociação suportadas pela plataforma.

Fundamentos do protocolo

  • Base FIX.4.4, mensagens ASCII com tags chave=valor
  • Header + corpo + trailer (CheckSum)
  • Sequenciamento por sessão, resetado no início do dia
  • Conexão sobre TLS 1.2 (Stunnel ou SocketUseSSL=Y)

02 Tipos de sessão FIX

A B3 disponibiliza três tipos de sessão, cada uma com propósito e porta próprios.

Order Entry

Entrada de ordens

Submissão, gestão e execução de ordens. Envie compras/vendas, acompanhe status e receba execution reports.

Portas 32001–32010
Market Data

Cotações em tempo real

Disseminação de dados de mercado: preços, volumes, book, spreads e status dos instrumentos.

Portas 31001–31010
Drop Copy

Cópia de execuções

Relatórios de execução do participante ao longo do dia — para confirmação de trades e gestão de risco.

Portas 30001–30010

03 Conectividade & Portas

O participante escolhe a camada física/link entre as opções abaixo. O canal é sempre criptografado com TLS 1.2.

RTM

Interconexão via acordo B3–RTM: liga as infraestruturas tecnológicas mantidas por B3 e RTM, permitindo acesso mútuo de participantes.

RCB — Rede de Comunicação B3

Rede de alta performance que dá acesso direto aos sistemas de negociação, pós-negociação, market data e B3 Bank, com níveis otimizados de latência e suporte.

Portas por tipo de sessão

TipoRange de portasPorta em uso
Order Entry32001–3201032001
Market Data31001–3101031001
Drop Copy30001–3001030001

04 IPs e ambientes

Endereços FIX por rede e ambiente (todos usam os mesmos ranges de porta por tipo de sessão). Detalhes completos em Trademate - IPs e Portas.pdf.

Produção

RedeHost FIXIP
RCBb3fi-fix.netb3.com.brPROD 179.127.215.237 · DR 179.127.218.237
RTMb3fi-fix.rtm.netb3.com.br10.0.48.153/32

Certificação (homologação)

RedeHost FIXIP
RCBb3fi-fix.cert.netb3.com.br200.19.60.182
RTMb3fi-fix-cert.rtm.netb3.com.br10.0.48.149/32

A plataforma web (b3fi) e a API CAU usam a porta 443 e range 10001–10020. A conexão FIX sempre usa os ranges 30001/31001/32001.

05 Autenticação & Logon

Canal seguro (TLS)

Antes do FIX, é preciso estabelecer um túnel seguro. Duas formas:

  • Serviço de tunneling TLS/SSL (ex.: Stunnel) para o handshake
  • Ou SocketUseSSL=Y no arquivo de configuração (QuickFIX/J)

Sem TLS habilitado na rede, a conexão não é estabelecida (exige TLS 1.2).

Credenciais

A autenticação usa usuário/senha do CAU no Logon (35=A):

  • 553 Username — usuário CAU
  • 554 Password — senha CAU

A partir da v1.1 das guidelines, a senha vai na tag 544/554 Password (substituiu 96 RawData).

Mensagem Logon (35=A)

TagNomeReqDescrição
98EncryptMethodYDeve ser 0
108HeartBtIntYRecomendado 30 (segundos)
141ResetSeqNumFlagNReset de sequência em ambos os lados
553UsernameNUsuário CAU
554PasswordNSenha CAU
35002CancelOnDisconnectTypeN0 = não cancela na queda · 1 = cancela
35003CancelOnDisconnectTimeoutWindowNTimeout (s) para acionar o cancelamento
Throttle: o fluxo é limitado a 50 mensagens/segundo por sessão. Ao exceder, a mensagem é rejeitada com Business Message Reject (“Throttle limit has been reached”); se configurado non-reject, o excedente é retido até o fim do segundo (com maior latência).

06 Gestão de sessão

Início do dia

O número de sequência da sessão é resetado para 1 a cada dia. Fazer logon com sequência diferente de 1 no início do dia faz o pedido ser rejeitado.

Durante o dia, não reinicie a sequência — isso força a retransmissão de todas as mensagens desde o início do dia.

Logout (35=5)

Inicia ou confirma o término da sessão. Desconexão sem troca de logout é tratada como condição anormal (ex.: queda de rede).

Tag 58 Text traz a explicação do motivo, quando houver.

07 Mensagens administrativas

Comuns às três sessões, cuidam do nível de sessão (session level).

MsgTypeMensagemFunção
0HeartbeatMantém a sessão viva; corpo vazio (só header)
1TestRequestSolicita heartbeat de verificação (112 TestReqID)
2ResendRequestPede reenvio de faixa (7/17 BeginSeqNo, 16 EndSeqNo)
3RejectRejeição de nível de sessão (373 SessionRejectReason)
4SequenceResetReset/GapFill de sequência (36 NewSeqNo, 123 GapFillFlag)
ALogonAutenticação e abertura da sessão
5LogoutEncerramento da sessão

Códigos de SessionRejectReason (373)

0 · Invalid tag number 1 · Required tag missing 2 · Tag not defined for msg type 3 · Undefined tag 4 · Tag without value 5 · Value out of range 6 · Incorrect data format 9 · CompID problem 10 · Sending time accuracy 11 · Invalid MsgType 12 · XML validation error 13 · Tag appears more than once 16 · Incorrect NumInGroup 99 · Other

08 Order Entry Message Reference v2.7

Sessão dedicada à submissão, gestão e execução de ordens. MsgType válidos no header: 8, 9, D, F, G, j (e mensagens Voice s, t, u, BN).

MsgTypeMensagemDireçãoUso
DNewOrderSingle→ B3Envia nova ordem
8ExecutionReport← B3Estado/execução da ordem
GOrderCancelReplaceRequest→ B3Altera ordem existente
FOrderCancelRequest→ B3Cancela ordem
9OrderCancelReject← B3Rejeita cancel/replace
jBusinessMessageReject← B3Rejeição de nível de negócio
sNewOrderCross Voice→ B3Cross order (2 lados)
BNExecutionAcknowledgement Voice→ B3Aceite/recusa de execução
uCrossOrderCancelRequest Voice→ B3Cancela cross order
tCrossOrderCancelReplaceRequest Voice→ B3Atualiza taxa benchmark (Spread over B)

NewOrderSingle (35=D) — campos principais

TagNomeReqDescrição
11ClOrdIDYID único da ordem (do participante)
38OrderQtyYQuantidade
40OrdTypeY2 = Limit · K = Market with Leftover as Limit
44PriceCPreço (obrigatório se o tipo exige)
54SideY1 = Buy · 2 = Sell
55SymbolYSímbolo legível (ver Security List no MD)
59TimeInForceN0 = Day (default)
60TransactTimeYTimestamp UTC
111MaxFloorNQuantidade aparente (iceberg)
423PriceTypeN2 = Units · 6 = Spread · 9 = Yield
453NoPartyIDs ▸YGrupo de partes (448/447/452)
35487RoutingInstructionN9 = Liquidity Seeking

ExecutionReport (35=8) — enums-chave

150 ExecType

0 New4 Canceled 5 Replace8 Rejected A Pending NewD Restated F TradeG Trade Correct H Trade Cancel

39 OrdStatus

0 New1 Partially Filled 2 Filled4 Canceled 5 Replaced8 Rejected

Papéis em 452 PartyRole: 36 Entering Trader · 54 Sender Location · 58 Entering Desk · 59 Executing Desk · 76 Desk ID · 1005 Strategy ID (36/54/58 obrigatórios em Voice). OnBehalfOfCompID (115) habilita negociação on behalf.

Fluxo Voice / Spread over B: mensagens s/t/u/BN tratam cross orders (2 lados), aceite de execução e cancelamentos. A v2.7 adiciona tags de spread/benchmark (218 Spread, 699 BenchmarkSecurityID, 662 BenchmarkPrice, 663 BenchmarkPriceType, 761 BenchmarkSecurityIDSource) — aplicáveis a trades de voz.

09 Market Data Message Reference v2.3

Sessão de disseminação de dados de mercado para renda fixa (Government Bonds e, futuramente, Corporate). O fluxo típico: Security ListSnapshotIncremental.

MsgTypeMensagemDireçãoUso
xSecurityListRequest→ B3Pede a lista de instrumentos
ySecurityList← B3Lista de instrumentos e atributos
fSecurityStatus← B3Mudanças de fase/status do instrumento
VMarketDataRequest→ B3Assina/cancela cotações
WMarketDataSnapshotFullRefresh← B3Snapshot inicial por instrumento
XMarketDataIncrementalRefresh← B3Atualizações incrementais do book/trades

Entradas de mercado — 269 MDEntryType

0 Bid1 Offer2 Trade 4 Opening5 Closing 7 High8 Low9 VWAP g Price BandB Trade Volume c Trading state/fase

279 MDUpdateAction (incremental) & 326 SecurityTradingStatus

Update Action

0 New1 Change2 Delete

Trading Status

17 Ready to trade21 Pre-Open 2 Trading Halt18 Not available

Bandas de preço via 1148 LowLimitPrice / 1149 HighLimitPrice e 6939 PriceBandType (1 Hard · 2 Auction · 3 Rejection · 4 Static · 5 Spread over B). Preço qualificado por 423 PriceType (1 %, 2 Per-Unit, 6 Spread, 9 Yield).

10 Drop Copy Message Reference v2.1

Sessão de confirmação de trades e gestão de risco. Recebe cópias de ExecutionReport (35=8) de toda a atividade do participante — é um fluxo somente de recebimento.

MsgTypeMensagemDireçãoUso
8ExecutionReport← B3Cópia de execução (único app message)
+ mensagens administrativas/sessão comuns (A, 5, 0, 1, 2, 3, 4)

ExecutionReport no Drop Copy — destaques

6 AvgPx é sempre 0 (zero). Preço em Voice aceito apenas em PU; 236 Yield quando a precificação é por taxa.

11 Instrumentos & tags de referência

762 SecuritySubType

1 CBIO2 CFF3 CRA 4 CRI5 DEB6 LFT 7 LTN8 NTNB9 NTNC 10 NTNF

167 SecurityType: GOVBOND, CORP, CBIO · 460 Product: 3 Corporate · 6 Government

Precificação — 423 PriceType

1 Percentage2 Per-Unit (PU) 6 Spread9 Yield

Liquidação 63 SettlType: 0 Regular · 1 T+0 · 2 T+1 · 3 T+2 · 4 T+3 · B BrokenDate (exige 64 SettlDate, só debêntures).

Instrumentos "Casada"

Operações casadas usam 228 Factor (hedge factor) e o grupo 711 NoUnderlyings (311/309/305) para as pernas subjacentes, executadas nos Futuros de DI/DAP (plataforma PUMA).

Atributos — 871 InstrAttribType

Ex.: 8 Coupon Period · 15 In Default · 50 Restricted Effort · 51/53 Rating (Fitch/S&P) · 54 Trading Deadline · 57 Is Taker · 58 Trading Sector ID · 59 Spread over B Enabled. Valores em 872 InstrAttribValue.

12 Fluxos típicos

Abertura de sessão

1TLS handshake (Stunnel / SocketUseSSL)
2Logon (35=A) + user/senha CAU
3Logon aceito · Heartbeats (35=0)

Ciclo de vida da ordem (Order Entry)

DNewOrderSingle →
8ExecReport: New / Pending
8ExecReport: Trade (F) / Partial
8Filled / Canceled

Assinatura de Market Data

xSecurityListRequest →
ySecurityList
VMarketDataRequest →
WSnapshot
XIncrementais

13 Certificação

A B3 mantém um ambiente de certificação usado por participantes e ISVs para testar e homologar suas soluções antes de acessar produção. Os testes podem ser feitos em dias úteis, das 08:30 às 18:30 (horário local), sem necessidade de acompanhamento da equipe de certificação. O acesso é via RTM ou RCB.

Roteiro — Order Entry

Casos de teste para homologar a sessão de entrada de ordens.

Roteiro_Certificacao - Trademate Order Entry.pdf

Roteiro — Market Data

Casos de teste para a sessão de cotações.

Roteiro de Certificacao_Trademate_MarketData.pdf

Roteiro — Drop Copy

Casos de teste para a sessão de cópias de execução.

Roteiro de Certificacao_Trademate_DropCopy.pdf
Contatos: Contratação — [email protected] · +55 11 2565-5084 · Suporte técnico (Trading Support) — [email protected] · +55 11 2565-5000 (opção 2) · Produtos Renda Fixa — [email protected] · +55 11 2565-7464

14 Documentos-fonte

Todos os arquivos foram baixados para a pasta tdmt. Este site resume o conteúdo deles.

GeralTradeMate MessageSpecificationGuidelines v1.1Guidelines de mensageria FIX
GeralManual de Operações — Tradematevs 2026.4.7.0
GeralTrademate — IPs e PortasEndereços e portas por ambiente
GeralNovo Ambiente de Negociação de Renda FixaVisão do produto
Order EntryOrder Entry — Message Reference v2.7+ FIX 4.4 XML · EntryPoint XML
Market DataMarket Data — Message Reference v2.3+ FIX 4.4 XML · Fixed Income MD v1.4
Drop CopyDrop Copy — Message Reference v2.1+ FIX 4.4 XML
CertificaçãoRoteiros de CertificaçãoOrder Entry · Market Data · Drop Copy

Fonte: b3.com.br — Trademate · Conectividade FIX. Documentos marcados como “Informação Interna” pela B3; use apenas para fins de integração autorizada.