ChainLink is a decentralized oracle network. They describe the on-chain components that ChainLink provides for contracts to gain external connectivity, and the software powering the nodes of the network. They present both a simple on-chain contract data aggregation system, and a more efficient off-chain consensus mechanism. They also describe supporting reputation and security monitoring services for ChainLink that help users make informed provider selections and achieve robust service even under aggressively adversarial conditions. Finally, They characterize the properties of an ideal oracle as guidance for they security strategy, and lay out possible future improvements, including richly featured oracle programming, data-source infrastructure modifications, and confidential smart-contract execution.