> For the complete documentation index, see [llms.txt](/llms.txt)

# The Compact language

Midnight comes with its own programming language, Compact, which enables you to write smart contracts for the Midnight ecosystem. The Compact compiler outputs zero-knowledge circuits that are used to prove the correctness of interactions with the ledger.

This section will provide a more in-depth breakdown of writing Compact and working with its supporting tools. Subsequent sections cover security best practices, Compact language reference and the Compact standard library API reference.
