ChainLink is blockchain middleware that allows smart contracts to access key off-chain resources like data feeds, various web APIs, and traditional bank account payments. By providing smart contracts secure access to these key resources, ChainLink allows them to mimic real world agreements that require external proof of performance and need to make payment in widely available payment methods e.g. bank payments.