# Introduction to Chainlink VRF [v1]
Source: https://docs.chain.link/vrf/v1/introduction

> For the complete documentation index, see [llms.txt](/llms.txt).

> **CAUTION: Chainlink VRF v1 is deprecated**
>
> Security fixes for VRF v1 are not guaranteed. VRF v2.5 replaced both VRF v1 and VRF v2 on November 29, 2024. [Migrate
> your application to Chainlink VRF v2.5](/vrf/v2-5/migration-from-v1).
>
> *Continued use of VRF v1 is at your own risk. Use of the Chainlink Network is subject to the [Chainlink Foundation Terms of Service](https://chain.link/terms), which provides important information and disclosures.*

## Generate Random Numbers in your Smart Contracts

Chainlink VRF (Verifiable Random Function) is a provably-fair and verifiable source of randomness designed for smart contracts. Smart contract developers can use Chainlink VRF as a tamper-proof random number generator (RNG) to build reliable smart contracts for any applications which rely on unpredictable outcomes:

- Blockchain games and NFTs
- Random assignment of duties and resources (e.g. randomly assigning judges to cases)
- Choosing a representative sample for consensus mechanisms

Learn how to write smart contracts that consume random numbers: [Get a Random Number](/vrf/v1/examples/get-a-random-number).

## onchain Verification of Randomness

Chainlink VRF enables smart contracts to access randomness without compromising on security or usability. With every new request for randomness, Chainlink VRF generates a random number and cryptographic proof of how that number was determined. The proof is published and verified onchain before it can be used by any consuming applications. This process ensures that the results cannot be tampered with nor manipulated by anyone, including oracle operators, miners, users and even smart contract developers.

Read more about Chainlink VRF in [our announcement post](https://blog.chain.link/verifiable-random-functions-vrf-random-number-generation-rng-feature/).