Core pieces: types (uint, address, bool, mapping, struct); function visibility (public, external, internal, private); modifiers (reusable pre-checks like onlyOwner); and events (logs the outside world can subscribe to). payable functions can receive ETH. Getting visibility and access checks right is the heart of contract security.