The Internet of Things (IoT) has led towards a digital world in which everything becomes connected. Unfortunately, most of the currently marketed connected devices feed vertically-oriented closed systems (commonly referred to as vertical silos) which prevent the development of a unified global IoT. This issue is all the more valid in complex environments, such as smart cities, in which exceedingly large amounts of heterogeneous sensor data are collected, and in which platforms and stakeholders should also be able to interact and cooperate. Therefore, it is of utmost importance to move towards the creation of open IoT ecosystems to support efficient smart city service integration, discovery and composition. This paper contributes to the specifications of such an ecosystem, which has been developed as part of the EU's H2020 bIoTope project. The novelty of this ecosystem compared with the current literature is threefold: (i) it is based on the extensive use of open communication and data standards, notably O-MI and O-DF standards, that foster technical, syntactic and semantic interoperability over domains; (ii) it proposes an innovative service marketplace for data/service publication, discovery and incentivization; (iii) it integrates security functionalities at the IoT gateway level. The practicability of our ecosystem has been validated through several smart city proofs-of-concept set up in three distinct cities: Helsinki, Lyon and Brussels. Given the five major themes defined in the CITYKeys (a smart city performance indicator framework), namely People, Planet, Prosperity, Governance and Propagation, bIoTope mainly contributes to Prosperity-related metrics, as discussed in this paper.