The functionality of permissionlessly trading NFTs on-chain is provided by the interaction between 5 different programs:

Buy, sell, list and make bids for NFTs with different token standards.
Program ID: TCMPhJdwDryooaGtiocG1u3xcYbRpiJzb283XfCZsDp

Create and manage NFT liquidity pools that are tied to a bonding curve.
Program ID: TAMM6ub33ij1mbetoMyVBLeKY5iP41i4UPUJQGkhfsg

Create, manage and verify collections as groupings of NFTs.
Program ID: TL1ST2iRBzuGTqLn1KXnGdSnEow62BzPnGiqyRXhWtW

Use and manage the same underlying collateral between orders of the other programs.
Program ID: TSWAPaqyCSx2KABk68Shruf4rp7CxcNi8hAsbdwmHbN

Fees PDA and collection program.
Program ID: TFEEgwDP6nn1s8mMX2tTNPPz8j2VomkphLUmyxKm17A