TorChat was a peer-to-peer anonymous instant messenger that used Tor onion services as its underlying network.
This ID will be randomly created by Tor when the client is started the first time, it is basically the .onion address of an onion service.
TorChat clients communicate with each other by using Tor to contact the other's onion service (derived from their ID) and exchanging status information, chat messages and other data over this connection.
Since onion services can receive incoming connections even if they are behind a router doing network address translation (NAT), TorChat does not need any port forwarding to work.
[4][1][5] It is written in Python and used the cross-platform widget toolkit wxPython which made it possible to support a wide range of platforms and operating systems.