FIX Protocol · Acceptor Simulator

A FIX counterparty that does exactly what you tell it to.

Point your FIX engine at a simulated acceptor. Watch every message in real time, and decide precisely how orders fill, reject, or get replaced - without a real venue!

Sign-up is invite-only - got an invite link? Open it to create your account.
No invite? Try the demo - real FIX 5.0 SP2 round-trip against a sandboxed internal FixPortal engine built atop QuickFIX/n, no account needed.

From zero to a live session

Five steps to a FIX venue that answers to you.

No exchange relationship, no UAT slot, no waiting on a counterparty. Stand up a simulated acceptor, point your engine at it, and drive every fill, reject and replace yourself.

  1. Invite

    Get your invite

    FixPortal is invite-only. Open your invite link, create your account with Microsoft Entra External ID, and FixPortal provisions an isolated tenant workspace that only you can see.

    You've been invited

    Create your account to start simulating FIX sessions. You'll sign up with Microsoft - FixPortal never sees your password.

    invite ✓8a4f9c2e…
    Create your account
  2. New session

    Create a session

    Spin up a simulated FIX acceptor session: set the version - e.g. FIX.4.4, or FIX.5.0 SP2 over FIXT.1.1 - and its SenderCompID and TargetCompID. FixPortal mints a per-session HMAC shared secret.

    Begin String
    FIX.4.4
    Sender CompID
    ACMEBANK
    Target CompID
    SIMULATOR
    Default ApplVerID (optional)
     
    CancelAdd session
  3. Connection details

    Connect your engine

    Point your own FIX engine at the shared host and TCP port. TLS is mandatory - pin the self-signed cert by its SHA-256 fingerprint. Sign every Logon with HMAC-SHA256; paste-ready samples for QuickFIX/n, C#, Python and Java ship in-app.

    Connection Details
    Endpoint
    simulator.fixportal.org:5011TLS required
    Server certificate - pin this
    SHA-256 9F:3C:1B:4E:…:A1Copy
    FIX identity
    BeginString
    FIX.4.4
    SenderCompID
    ACMEBANK
    TargetCompID
    SIMULATOR
    Authentication - HMAC-SHA256
    ••••••••••
    RevealCopyRegenerate
    Client config & code samples
    configC#PythonJava
    [DEFAULT]
    ConnectionType=initiator
    SSLEnable=Y
    # …full defaults ship in-app
    
    [SESSION]
    BeginString=FIX.4.4
    SocketConnectHost=simulator.fixportal.org
    SocketConnectPort=5011
  4. Sim config

    Shape the responses

    Write deterministic when/then rules - evaluated in priority order before any probability draw - then let the random layer handle the rest: accept / error percent, fill count, response and fill timing, a weighted reject pool. Auto-acknowledge, auto-accept cancels and 35=G replaces, per-instrument overrides, custom tags on outbound reports, and a reject-all kill switch. Split an order across brokers and choose whether the fills reach the wire aggregated or separate.

    Behaviour
    Auto-acknowledge new ordersAuto-accept cancel requestsAuto-accept cancel/replaceReject all inbound orders (kill switch)
    Probability
    Accept percent (of received orders)
    85
    %
    Error percent (BusinessMessageReject)
    5
    %
  5. Live blotters

    Watch it live

    Every inbound and outbound message streams into live blotters in real time over SignalR. Connection details shows each Logon attempt as verified or rejected - with the exact reason.

    Incoming messages
    DetailMsgTypeNameTime (UTC)Sender
    ALogon12:00:01ACMEBANK
    DNewOrderSingle12:00:03ACMEBANK
    FOrderCancelRequest12:00:05ACMEBANK
    Showing 3 of 3 messages
    Connection diagnostics · 1 of 1 verified
    12:00:01 - ✓ verified

deterministic · repeatable · yours

Tweak the config, replay the order, watch the blotter - the venue does exactly what you tell it to, every time.

what an account adds

Your engine connects to a venue you control.

The tools below the fold are free and work on text you paste. This is the part that answers your engine in real time.

Connection details

The acceptor

A private FIX endpoint your own engine logs on to, over TLS. Not a paste box - a socket.

Host
fix.fixportal.org
Port
9878
BeginString
FIXT.1.1
TLSSHA-256 9f:2c:41:be:07:d3:...
HMACper-session shared secret
configC#PythonJava
Sim config

Rules & behaviour

Deterministic when/then rules, evaluated in priority order before any random draw - then probability and timing underneath.

1whenSymbol = VOD.L
thenReject · OrdRejReason 6
Accept %
82
Fill count
3
Auto-AckReject poolReject all
Routes · Pending (2)

Routing

Park an inbound order, split it across brokers, and choose whether the fills hit the wire aggregated or separate.

Pending (2)Recent actions
ORD-2761VOD.LBUYqty 10,0000:42
Wire mode Aggregated
CITIB
60 %
GS
40 %
ApplyApply AutoCancel
Blotter in / out

Live blotters

Every message in and out, streaming as it happens - not a log you audit afterwards.

In
35=D
NewOrderSingle
35=F
OrderCancelRequest
35=G
OrderCancelReplace
Out
35=8
ExecutionReport · New
35=8
ExecutionReport · Fill
35=9
OrderCancelReject
Logon verifiedHMAC ok
Library

Your library

Custom FIX dictionaries, broker identities and FIXatdl strategies - saved, and assigned per session. The free inspector parses; an account keeps it.

DictionariesBrokersFIXatdl
FIX.4.4Built-in
FIX44_XUser
CITIBBuilt-in
DARK-LPUser
+ Upload
Traffic · Load test

Load testing

Drive the venue at a fixed rate for a fixed duration and watch your engine under load. Rate cap and daily budget apply per account. Enabled on request.

Rate
5,000 /sec
Duration
60s
Throughput4,812 /sec
Today126 MB / 500 MB
Enabled on request

where the line sits

Free tools, or a live counterparty.

Free, no sign-in

  • Decode a message, or a whole engine log
  • Look up any tag or message
  • Validate a QuickFIX/N config
  • Audit a session log afterwards
  • Inspect a FIXatdl file
  • Build a message by hand

With an account

  • Your engine logs on for real, over TLS
  • A counterparty that answers live
  • Rules that fire before any random draw
  • Watch the blotter as it happens
  • Keep and assign your own strategies
  • Split an order across brokers

free, no account needed

FIX tools you can use right now.

Stateless utilities that run on text you paste. No sign-in, no invite, nothing saved.

...and your data stays yours - every tenant is fully isolated.