Port 7687 is the Neo4j Bolt protocol port – a binary protocol optimized for Cypher query execution. Bolt on port 7687 supports TLS encryption and is the recommended connection method for application drivers. Unlike the HTTP API on port 7474, Bolt provides connection pooling, transaction management, and streaming results.
Port Number
7687
Protocol
TCP
Service
Neo4j Bolt Protocol
Range
IANA Registered (1024–49151)
Test Bolt connectivity and authentication
cypher-shell -a bolt://localhost:7687 -u neo4j -p pass 'RETURN 1'Check if TLS is active on Bolt port
openssl s_client -connect host:7687 </dev/null 2>&1 | grep 'Verify'Verify Bolt bind address and owning process
ss -tlnp | grep 7687List active Bolt connections (detect unauthorized clients)
cypher-shell -a bolt://localhost:7687 -u neo4j -p pass 'CALL dbms.listConnections()'cypher-shell -a neo4j+s://host:7687 -u neo4j -p pass
neo4j.driver('neo4j+s://host:7687', auth=('neo4j','pass'))
CALL dbms.listConnections()Bolt was introduced in Neo4j 3.0 (2016) as a purpose-built binary protocol replacing the REST HTTP API for application access. Named after the lightning bolt in Neo4j's logo. Port 7687 was registered with IANA for Bolt. The protocol supports chunked message transfer, compact serialization (PackStream), and pipelining multiple requests. Neo4j 4.x added routing capability to Bolt for cluster-aware drivers.
What is the difference between bolt://, bolt+s://, and neo4j://?
bolt:// – unencrypted direct connection. bolt+s:// – TLS with certificate verification (production). bolt+ssc:// – TLS with self-signed cert (dev). neo4j:// – routing-aware driver discovers cluster topology and distributes queries across replicas. neo4j+s:// – routing with TLS. Always use neo4j+s:// for production clusters.