LAN Transfer
LAN (Local Area Network) transfer is the primary mode of SwiftDrop. When both devices are on the same network, transfers are direct, fast, and fully private.
How discovery works
SwiftDrop uses UDP broadcast on port 47823 to announce device presence. Every device broadcasts a discovery packet every 2 seconds containing:
- Device name and UUID
- Public key (for session key derivation)
- Protocol version (currently v3)
When another SwiftDrop device receives a broadcast, it adds the sender to the Nearby list.
How transfers work
Once you select a file and a recipient:
- Sender opens a TCP connection to the recipient on port
47824. - An X25519 ECDH key exchange is performed — both sides derive a shared session key.
- File metadata (name, size, MIME type) is sent in a signed header frame.
- The recipient shows an accept prompt (configurable per plan).
- File data is sent in encrypted frames using AES-256-GCM.
- After the last frame, both sides verify the transfer with a SHA-256 hash check.
Binary frame format
| Magic (4 bytes) | Version (1 byte) | Frame type (1 byte) | Length (4 bytes) | Payload | HMAC (32 bytes) |
Frame types: HELLO, KEY_EXCHANGE, FILE_META, FILE_DATA, ACK, DONE, ERROR.
Transfer speeds
LAN transfers are limited only by your network hardware — SwiftDrop imposes no artificial caps:
| Network | Typical speed |
|---|---|
| 2.4 GHz Wi-Fi (802.11n) | 5–20 MB/s |
| 5 GHz Wi-Fi (802.11ac) | 30–100 MB/s |
| Wi-Fi 6 (802.11ax) | 100–400 MB/s |
| Gigabit Ethernet | 100–900 MB/s |