> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kraken.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Drop Copy

> FIX 4.4 drop copy for Kraken US Perps — session layer and Execution Report reference

The **Kraken US Perps drop copy** is a FIX 4.4 session that delivers a copy of every Execution Report on your account: acknowledgements, fills, amendments, cancellations, expiries, restatements and status answers. Business messages flow one way, from Kraken to the client.

On the drop copy, the Execution Report is identical to the one sent on the [Unified FIX v2](/exchange/api-reference/unified-fix-v2) order-entry session. `InstrumentID (48)` carries the venue instrument identifier.

For an overview of the US Perps APIs and how to connect, see the [US Perps guides](/exchange/guides/us-perps/overview).

## Protocol

| | |
| :- | :- |
| **Protocol** | FIX 4.4 (`BeginString` = `FIX.4.4`) |
| **Scope** | Session layer, standard header and trailer, and the Execution Report |

## Messages

### Session layer (either direction)

| Message | MsgType | Description |
| :- | :- | :- |
| [Logon](/exchange/api-reference/drop-copy/logon) | `35=A` | Opens the session and agrees the heartbeat interval, sequence-number reset and credentials. Must be the first message after the connection is established. |
| [Logout](/exchange/api-reference/drop-copy/logout) | `35=5` | Initiates or confirms the end of the session, and carries the reason for a failed logon. |
| [Heartbeat](/exchange/api-reference/drop-copy/heartbeat) | `35=0` | Keeps the session alive during inactivity, and answers a Test Request. |
| [TestRequest](/exchange/api-reference/drop-copy/test-request) | `35=1` | Probes whether the counterparty is still alive; must be answered with a Heartbeat. |
| [ResendRequest](/exchange/api-reference/drop-copy/resend-request) | `35=2` | Asks the counterparty to retransmit a range of messages after a sequence gap. |
| [SequenceReset](/exchange/api-reference/drop-copy/sequence-reset) | `35=4` | Resets the counterparty's expected sequence number, or stands in for messages that will not be resent. |
| [Reject](/exchange/api-reference/drop-copy/reject) | `35=3` | Session-level rejection of a message that is malformed or fails field validation. |

### Execution (Kraken → client)

| Message | MsgType | Description |
| :- | :- | :- |
| [ExecutionReport](/exchange/api-reference/drop-copy/er) | `35=8` | The drop copy payload. Reports every change to an order: acknowledgement, fill, amendment, cancellation, expiry, restatement, trade correction, or an answer to a status request. |

Every message starts with the [standard header and ends with the standard trailer](/exchange/api-reference/drop-copy/header-trailer).

## Recovery

On reconnect, the feed resumes from where the client stopped, including after a Logon with `ResetSeqNumFlag (141)=Y`. Execution Reports that are delivered again after a reconnect carry `PossResend (97)=Y`.

**What the client should do:**

* De-duplicate Execution Reports by `ExecID (17)`. A report with `PossResend (97)=Y` may be one you have already processed.
* Do not rely on a sequence-number reset to skip missed reports. The feed resumes from where you stopped even when `ResetSeqNumFlag (141)=Y`.

## Related

<CardGroup cols={2}>
  <Card title="US Perps API overview" icon="layer-group" href="/exchange/guides/us-perps/api">
    How order entry, market data and drop copy fit together.
  </Card>

  <Card title="Unified FIX v2" icon="terminal" href="/exchange/api-reference/unified-fix-v2">
    FIX 4.4 order entry for US Perps.
  </Card>

  <Card title="SBE market data" icon="chart-line" href="/exchange/api-reference/sbe">
    Binary market data: instruments, L3 book, trades and status.
  </Card>

  <Card title="US Perps connectivity" icon="server" href="/exchange/guides/us-perps/connectivity">
    Connectivity and colocation documents.
  </Card>
</CardGroup>
