The top smart contract vulnerabilities are reentracy, access control, arithmetic issues, unchecked return values for low-level calls, denial of service (DoS), bad randomness, transaction ordering dependence, timestamp dependence, and short address attack.