diff --git a/public/cre/llms.txt b/public/cre/llms.txt
index ed645e90707..ec986073384 100644
--- a/public/cre/llms.txt
+++ b/public/cre/llms.txt
@@ -31,6 +31,7 @@ Use `go/llms-full.txt` or `ts/llms-full.txt` only when broad CRE context is requ
- [Triggers](https://docs.chain.link/cre/capabilities/triggers.md)
- [HTTP](https://docs.chain.link/cre/capabilities/http.md)
- [EVM Read and Write](https://docs.chain.link/cre/capabilities/evm-read-write.md)
+- [Solana Read and Write](https://docs.chain.link/cre/capabilities/solana-read-write.md)
- [Confidential HTTP (Go)](https://docs.chain.link/cre/capabilities/confidential-http-go.md)
- [Confidential HTTP (TypeScript)](https://docs.chain.link/cre/capabilities/confidential-http-ts.md)
@@ -41,6 +42,8 @@ Use `go/llms-full.txt` or `ts/llms-full.txt` only when broad CRE context is requ
- [Using Confidential HTTP Client](https://docs.chain.link/cre/guides/workflow/using-confidential-http-client.md)
- [Using EVM Client (Go)](https://docs.chain.link/cre/guides/workflow/using-evm-client/overview-go.md)
- [Using EVM Client (TypeScript)](https://docs.chain.link/cre/guides/workflow/using-evm-client/overview-ts.md)
+- [Using Solana Client (Go)](https://docs.chain.link/cre/guides/workflow/using-solana-client/overview-go.md)
+- [Using Solana Client (TypeScript)](https://docs.chain.link/cre/guides/workflow/using-solana-client/overview-ts.md)
- [Secrets](https://docs.chain.link/cre/guides/workflow/secrets.md)
- [Using Randomness](https://docs.chain.link/cre/guides/workflow/using-randomness.md)
diff --git a/src/content/vrf/index.mdx b/src/content/vrf/index.mdx
index 5571cf79ff5..28a3a778953 100644
--- a/src/content/vrf/index.mdx
+++ b/src/content/vrf/index.mdx
@@ -11,7 +11,9 @@ metadata:
---
import Vrf2_5Common from "@features/vrf/v2-5/Vrf2_5Common.astro"
-import { Aside } from "@components"
+import VrfDeprecation from "@features/vrf/VrfDeprecation.astro"
+
+
@@ -19,11 +21,6 @@ import { Aside } from "@components"
\*In the unlikely event that an adversary compromises VRF's randomness-generating secret key and obtains the ability to construct blocks on the target chain, they could strongly bias the result.
-
-
Use Chainlink VRF to build reliable smart contracts for any applications that rely on unpredictable outcomes:
- Building blockchain games and NFTs.
diff --git a/src/content/vrf/llms-full.txt b/src/content/vrf/llms-full.txt
index 03a6028cfe2..b1f3dbfd5ae 100644
--- a/src/content/vrf/llms-full.txt
+++ b/src/content/vrf/llms-full.txt
@@ -1,6 +1,17 @@
# Chainlink VRF
Source: https://docs.chain.link/vrf
+> **DANGER: VRF v1 and v2 shut down in November 2026**
+>
+> VRF v1 and v2 were deprecated on November 29, 2024 and will be permanently shut down in November 2026. VRF v2 has a
+> 48-hour brownout scheduled for October 28-30, 2026. VRF v1 shuts down on November 18, 2026 and VRF v2 shuts down on
+> November 30, 2026. After these dates, VRF v1 and v2 will no longer fulfill randomness requests.
+>
+> [Migrate your application to Chainlink VRF v2.5](/vrf/v2-5/migration-from-v2) to avoid service disruption.
+>
+> If you have questions about this shutdown or need help with your migration, reach out to your Chainlink
+> representative.
+
> **TIP: Security Considerations**
>
> Be sure to review your contracts with the [security considerations](/vrf/v2-5/security) in mind.
@@ -9,11 +20,6 @@ Source: https://docs.chain.link/vrf
\*In the unlikely event that an adversary compromises VRF's randomness-generating secret key and obtains the ability to construct blocks on the target chain, they could strongly bias the result.
-> **NOTE: Migrate to V2.5**
->
-> Follow the [migration guide](/vrf/v2-5/migration-from-v2) to learn how VRF has changed in V2.5 and to get example
-> code.
-
Use Chainlink VRF to build reliable smart contracts for any applications that rely on unpredictable outcomes:
- Building blockchain games and NFTs.
@@ -63,6 +69,17 @@ To learn when VRF v2.5 becomes available on more networks, follow us on [Twitter
# Getting Started with Chainlink VRF V2.5
Source: https://docs.chain.link/vrf/v2-5/getting-started
+> **DANGER: VRF v1 and v2 shut down in November 2026**
+>
+> VRF v1 and v2 were deprecated on November 29, 2024 and will be permanently shut down in November 2026. VRF v2 has a
+> 48-hour brownout scheduled for October 28-30, 2026. VRF v1 shuts down on November 18, 2026 and VRF v2 shuts down on
+> November 30, 2026. After these dates, VRF v1 and v2 will no longer fulfill randomness requests.
+>
+> [Migrate your application to Chainlink VRF v2.5](/vrf/v2-5/migration-from-v2) to avoid service disruption.
+>
+> If you have questions about this shutdown or need help with your migration, reach out to your Chainlink
+> representative.
+
> **NOTE: Requirements**
>
> This guide assumes that you have basic knowledge about writing and deploying smart contracts. If you are new to smart
@@ -430,9 +447,14 @@ To read more about generating random numbers in Solidity, read our blog posts:
# Migrating from VRF v2
Source: https://docs.chain.link/vrf/v2-5/migration-from-v2
-> **CAUTION: Chainlink VRF v2 is deprecated**
+> **DANGER: Chainlink VRF v2 shuts down on November 30, 2026**
+>
+> VRF v2 was deprecated on November 29, 2024 and will be permanently shut down on November 30, 2026. A 48-hour
+> brownout is scheduled for October 28-30, 2026, during which VRF v2 will not fulfill randomness requests. Complete
+> this guide to migrate your application to Chainlink VRF v2.5 before November 30, 2026 to avoid service disruption.
>
-> Security fixes for VRF v2 are not guaranteed. Complete this guide to migrate your application to Chainlink VRF v2.5.
+> If you have questions about this shutdown or need help with your migration, reach out to your Chainlink
+> representative.
>
> *Continued use of VRF v2 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.*
@@ -904,9 +926,14 @@ ConfirmedOwner
# Migrating from VRF v1
Source: https://docs.chain.link/vrf/v2-5/migration-from-v1
-> **CAUTION: Chainlink VRF v1 is deprecated**
+> **DANGER: Chainlink VRF v1 shuts down on November 18, 2026**
+>
+> VRF v1 was deprecated on November 29, 2024 and will be permanently shut down on November 18, 2026. After this date,
+> VRF v1 will no longer fulfill randomness requests. Complete this guide to migrate your application to Chainlink VRF
+> v2.5 before November 18, 2026 to avoid service disruption.
>
-> Security fixes for VRF v1 are not guaranteed. Complete this guide to migrate your application to Chainlink VRF v2.5.
+> If you have questions about this shutdown or need help with your migration, reach out to your Chainlink
+> representative.
>
> *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.*
@@ -1165,6 +1192,17 @@ Open the full example `DirectFundingConsumer` contract:
# Supported Networks
Source: https://docs.chain.link/vrf/v2-5/supported-networks
+> **DANGER: VRF v1 and v2 shut down in November 2026**
+>
+> VRF v1 and v2 were deprecated on November 29, 2024 and will be permanently shut down in November 2026. VRF v2 has a
+> 48-hour brownout scheduled for October 28-30, 2026. VRF v1 shuts down on November 18, 2026 and VRF v2 shuts down on
+> November 30, 2026. After these dates, VRF v1 and v2 will no longer fulfill randomness requests.
+>
+> [Migrate your application to Chainlink VRF v2.5](/vrf/v2-5/migration-from-v2) to avoid service disruption.
+>
+> If you have questions about this shutdown or need help with your migration, reach out to your Chainlink
+> representative.
+
Chainlink VRF allows you to integrate provably fair and verifiably random data in your smart contract. For implementation details, read [Introduction to Chainlink VRF](/vrf).
VRF v2.5 coordinators for subscription funding are available on several networks. To use Chainlink VRF on certain networks, you may need to conduct token transfers. You can transfer tokens by using [Chainlink CCIP](/ccip/evm/tutorials/application-developers/transfer-tokens-from-contract), [Transporter](https://www.transporter.io/) or third-party applications such as [XSwap](https://xswap.link/).
@@ -1875,6 +1913,17 @@ Chainlink's PegSwap service**](https://pegswap.chain.link/)
# VRF Security Considerations
Source: https://docs.chain.link/vrf/v2-5/security
+> **DANGER: VRF v1 and v2 shut down in November 2026**
+>
+> VRF v1 and v2 were deprecated on November 29, 2024 and will be permanently shut down in November 2026. VRF v2 has a
+> 48-hour brownout scheduled for October 28-30, 2026. VRF v1 shuts down on November 18, 2026 and VRF v2 shuts down on
+> November 30, 2026. After these dates, VRF v1 and v2 will no longer fulfill randomness requests.
+>
+> [Migrate your application to Chainlink VRF v2.5](/vrf/v2-5/migration-from-v2) to avoid service disruption.
+>
+> If you have questions about this shutdown or need help with your migration, reach out to your Chainlink
+> representative.
+
Gaining access to high quality randomness onchain requires a solution like Chainlink's VRF, but it also requires you to understand some of the ways that miners or validators can potentially manipulate randomness generation. Here are some of the top security considerations you should review in your project.
## Use `requestId` to match randomness requests with their fulfillment in order
@@ -1932,6 +1981,17 @@ Fulfillments require sufficient subscription balance at processing time. If the
# VRF Best Practices
Source: https://docs.chain.link/vrf/v2-5/best-practices
+> **DANGER: VRF v1 and v2 shut down in November 2026**
+>
+> VRF v1 and v2 were deprecated on November 29, 2024 and will be permanently shut down in November 2026. VRF v2 has a
+> 48-hour brownout scheduled for October 28-30, 2026. VRF v1 shuts down on November 18, 2026 and VRF v2 shuts down on
+> November 30, 2026. After these dates, VRF v1 and v2 will no longer fulfill randomness requests.
+>
+> [Migrate your application to Chainlink VRF v2.5](/vrf/v2-5/migration-from-v2) to avoid service disruption.
+>
+> If you have questions about this shutdown or need help with your migration, reach out to your Chainlink
+> representative.
+
> **TIP: Security Considerations**
>
> Be sure to review your contracts with the [security considerations](/vrf/v2-5/security) in mind.
@@ -2154,6 +2214,17 @@ contract VRFv2MultiplePaths is VRFConsumerBaseV2Plus {
# VRF Billing
Source: https://docs.chain.link/vrf/v2-5/billing
+> **DANGER: VRF v1 and v2 shut down in November 2026**
+>
+> VRF v1 and v2 were deprecated on November 29, 2024 and will be permanently shut down in November 2026. VRF v2 has a
+> 48-hour brownout scheduled for October 28-30, 2026. VRF v1 shuts down on November 18, 2026 and VRF v2 shuts down on
+> November 30, 2026. After these dates, VRF v1 and v2 will no longer fulfill randomness requests.
+>
+> [Migrate your application to Chainlink VRF v2.5](/vrf/v2-5/migration-from-v2) to avoid service disruption.
+>
+> If you have questions about this shutdown or need help with your migration, reach out to your Chainlink
+> representative.
+
This guide explains how to estimate VRF 2.5 costs for both the subscription and direct funding methods.
## Understanding transaction costs
@@ -2466,6 +2537,17 @@ This example request would cost 0.01266474 ETH.
# Subscription Method
Source: https://docs.chain.link/vrf/v2-5/overview/subscription
+> **DANGER: VRF v1 and v2 shut down in November 2026**
+>
+> VRF v1 and v2 were deprecated on November 29, 2024 and will be permanently shut down in November 2026. VRF v2 has a
+> 48-hour brownout scheduled for October 28-30, 2026. VRF v1 shuts down on November 18, 2026 and VRF v2 shuts down on
+> November 30, 2026. After these dates, VRF v1 and v2 will no longer fulfill randomness requests.
+>
+> [Migrate your application to Chainlink VRF v2.5](/vrf/v2-5/migration-from-v2) to avoid service disruption.
+>
+> If you have questions about this shutdown or need help with your migration, reach out to your Chainlink
+> representative.
+
> **TIP: Security Considerations**
>
> Be sure to review your contracts with the [security considerations](/vrf/v2-5/security) in mind.
@@ -2630,6 +2712,17 @@ You can see the configuration for each network on the [Supported networks](/vrf/
# Direct Funding Method
Source: https://docs.chain.link/vrf/v2-5/overview/direct-funding
+> **DANGER: VRF v1 and v2 shut down in November 2026**
+>
+> VRF v1 and v2 were deprecated on November 29, 2024 and will be permanently shut down in November 2026. VRF v2 has a
+> 48-hour brownout scheduled for October 28-30, 2026. VRF v1 shuts down on November 18, 2026 and VRF v2 shuts down on
+> November 30, 2026. After these dates, VRF v1 and v2 will no longer fulfill randomness requests.
+>
+> [Migrate your application to Chainlink VRF v2.5](/vrf/v2-5/migration-from-v2) to avoid service disruption.
+>
+> If you have questions about this shutdown or need help with your migration, reach out to your Chainlink
+> representative.
+
This guide explains how to generate random numbers using the *direct funding* method. This method doesn't require a subscription and is optimal for one-off requests for randomness. This method also works best for applications where your end-users must pay the fees for VRF because the cost of the request is determined at request time.
> **NOTE: Migrate to V2.5**
@@ -2704,6 +2797,17 @@ You can see the configuration for each network on the [Supported networks](/vrf/
# VRF Cost Estimation on Arbitrum
Source: https://docs.chain.link/vrf/v2-5/arbitrum-cost-estimation
+> **DANGER: VRF v1 and v2 shut down in November 2026**
+>
+> VRF v1 and v2 were deprecated on November 29, 2024 and will be permanently shut down in November 2026. VRF v2 has a
+> 48-hour brownout scheduled for October 28-30, 2026. VRF v1 shuts down on November 18, 2026 and VRF v2 shuts down on
+> November 30, 2026. After these dates, VRF v1 and v2 will no longer fulfill randomness requests.
+>
+> [Migrate your application to Chainlink VRF v2.5](/vrf/v2-5/migration-from-v2) to avoid service disruption.
+>
+> If you have questions about this shutdown or need help with your migration, reach out to your Chainlink
+> representative.
+
The total transaction costs for using Arbitrum involve both L2 gas costs and L1 costs. Arbitrum transactions are [posted in batches to L1 Ethereum](https://developer.arbitrum.io/inside-arbitrum-nitro/#how-the-sequencer-publishes-the-sequence), which incurs an L1 cost. For an individual transaction, the total cost includes part of the L1 cost incurred to post the batch that included the transaction.
To learn how to estimate gas costs for Arbitrum, refer to the [Arbitrum gas estimation tutorial](https://developer.arbitrum.io/devs-how-tos/how-to-estimate-gas) and the full [Arbitrum gas estimation script](https://github.com/OffchainLabs/arbitrum-tutorials/tree/master/packages/gas-estimation) using their SDK. There is also a [**version of Arbitrum's gas estimation script extended to include VRF calculations**](#arbitrum-and-vrf-gas-estimation-code).
@@ -2853,6 +2957,17 @@ const VRFDirectFundingGasEstimate = P.mul(VRFDirectFundingGasTotal)
# Create and manage VRF V2.5 subscriptions
Source: https://docs.chain.link/vrf/v2-5/subscription/create-manage
+> **DANGER: VRF v1 and v2 shut down in November 2026**
+>
+> VRF v1 and v2 were deprecated on November 29, 2024 and will be permanently shut down in November 2026. VRF v2 has a
+> 48-hour brownout scheduled for October 28-30, 2026. VRF v1 shuts down on November 18, 2026 and VRF v2 shuts down on
+> November 30, 2026. After these dates, VRF v1 and v2 will no longer fulfill randomness requests.
+>
+> [Migrate your application to Chainlink VRF v2.5](/vrf/v2-5/migration-from-v2) to avoid service disruption.
+>
+> If you have questions about this shutdown or need help with your migration, reach out to your Chainlink
+> representative.
+
> **TIP: Security Considerations**
>
> Be sure to review your contracts with the [security considerations](/vrf/v2-5/security) in mind.
@@ -2941,6 +3056,17 @@ If you prefer to create, fund and manage your subscriptions programmatically, yo
# Get a Random Number
Source: https://docs.chain.link/vrf/v2-5/subscription/get-a-random-number
+> **DANGER: VRF v1 and v2 shut down in November 2026**
+>
+> VRF v1 and v2 were deprecated on November 29, 2024 and will be permanently shut down in November 2026. VRF v2 has a
+> 48-hour brownout scheduled for October 28-30, 2026. VRF v1 shuts down on November 18, 2026 and VRF v2 shuts down on
+> November 30, 2026. After these dates, VRF v1 and v2 will no longer fulfill randomness requests.
+>
+> [Migrate your application to Chainlink VRF v2.5](/vrf/v2-5/migration-from-v2) to avoid service disruption.
+>
+> If you have questions about this shutdown or need help with your migration, reach out to your Chainlink
+> representative.
+
This guide explains how to get random values using a simple contract to request and receive random values from Chainlink VRF v2.5. The guide uses the Subscription Manager to create and manage your subscription. Alternatively, you can also [create and manage subscriptions programmatically](/vrf/v2-5/subscription/create-manage#create-a-subscription-programmatically). To explore more applications of VRF, refer to our [blog](https://blog.chain.link/).
> **NOTE: VRF Subscription Manager limitations**
@@ -3212,6 +3338,17 @@ After you are done with this contract and the subscription, you can retrieve the
# Local testing using a mock subscription contract
Source: https://docs.chain.link/vrf/v2-5/subscription/test-locally
+> **DANGER: VRF v1 and v2 shut down in November 2026**
+>
+> VRF v1 and v2 were deprecated on November 29, 2024 and will be permanently shut down in November 2026. VRF v2 has a
+> 48-hour brownout scheduled for October 28-30, 2026. VRF v1 shuts down on November 18, 2026 and VRF v2 shuts down on
+> November 30, 2026. After these dates, VRF v1 and v2 will no longer fulfill randomness requests.
+>
+> [Migrate your application to Chainlink VRF v2.5](/vrf/v2-5/migration-from-v2) to avoid service disruption.
+>
+> If you have questions about this shutdown or need help with your migration, reach out to your Chainlink
+> representative.
+
This guide explains how to test Chainlink VRF v2.5 on a [Remix IDE](https://remix-ide.readthedocs.io/en/latest/run.html#environment) sandbox blockchain environment. **Note**: You can reuse the same logic on another development environment, such as Hardhat or Foundry. For example, read the Hardhat Starter Kit [RandomNumberConsumer unit tests](https://github.com/smartcontractkit/hardhat-starter-kit/blob/main/test/unit/RandomNumberConsumer.spec.js).
> **CAUTION: Test on public testnets thoroughly**
@@ -3474,6 +3611,17 @@ This guide demonstrated how to test a VRF v2.5 consumer contract on your local b
# Get a Random Number
Source: https://docs.chain.link/vrf/v2-5/direct-funding/get-a-random-number
+> **DANGER: VRF v1 and v2 shut down in November 2026**
+>
+> VRF v1 and v2 were deprecated on November 29, 2024 and will be permanently shut down in November 2026. VRF v2 has a
+> 48-hour brownout scheduled for October 28-30, 2026. VRF v1 shuts down on November 18, 2026 and VRF v2 shuts down on
+> November 30, 2026. After these dates, VRF v1 and v2 will no longer fulfill randomness requests.
+>
+> [Migrate your application to Chainlink VRF v2.5](/vrf/v2-5/migration-from-v2) to avoid service disruption.
+>
+> If you have questions about this shutdown or need help with your migration, reach out to your Chainlink
+> representative.
+
This guide explains how to get random values using a simple contract to request and receive random values from Chainlink VRF v2.5 without managing a subscription. To explore more applications of VRF, refer to our [blog](https://blog.chain.link/).
## Requirements
diff --git a/src/content/vrf/v2-5/arbitrum-cost-estimation.mdx b/src/content/vrf/v2-5/arbitrum-cost-estimation.mdx
index d4bf8a04327..ec19dec9620 100644
--- a/src/content/vrf/v2-5/arbitrum-cost-estimation.mdx
+++ b/src/content/vrf/v2-5/arbitrum-cost-estimation.mdx
@@ -8,8 +8,11 @@ metadata:
isMdx: true
---
+import VrfDeprecation from "@features/vrf/VrfDeprecation.astro"
import { Tabs, TabsContent } from "@components/Tabs"
+
+
The total transaction costs for using Arbitrum involve both L2 gas costs and L1 costs. Arbitrum transactions are [posted in batches to L1 Ethereum](https://developer.arbitrum.io/inside-arbitrum-nitro/#how-the-sequencer-publishes-the-sequence), which incurs an L1 cost. For an individual transaction, the total cost includes part of the L1 cost incurred to post the batch that included the transaction.
To learn how to estimate gas costs for Arbitrum, refer to the [Arbitrum gas estimation tutorial](https://developer.arbitrum.io/devs-how-tos/how-to-estimate-gas) and the full [Arbitrum gas estimation script](https://github.com/OffchainLabs/arbitrum-tutorials/tree/master/packages/gas-estimation) using their SDK. There is also a [**version of Arbitrum's gas estimation script extended to include VRF calculations**](#arbitrum-and-vrf-gas-estimation-code).
diff --git a/src/content/vrf/v2-5/best-practices.mdx b/src/content/vrf/v2-5/best-practices.mdx
index 68a6f277b25..4a564768135 100644
--- a/src/content/vrf/v2-5/best-practices.mdx
+++ b/src/content/vrf/v2-5/best-practices.mdx
@@ -8,8 +8,11 @@ metadata:
---
import Vrf2_5Common from "@features/vrf/v2-5/Vrf2_5Common.astro"
+import VrfDeprecation from "@features/vrf/VrfDeprecation.astro"
import { CodeSample } from "@components"
+
+
These are example best practices for using Chainlink VRF. To explore more applications of VRF, refer to our [blog](https://blog.chain.link/).
diff --git a/src/content/vrf/v2-5/billing.mdx b/src/content/vrf/v2-5/billing.mdx
index f5af8dccbdf..cebb09c3ea2 100644
--- a/src/content/vrf/v2-5/billing.mdx
+++ b/src/content/vrf/v2-5/billing.mdx
@@ -8,9 +8,12 @@ metadata:
isMdx: true
---
+import VrfDeprecation from "@features/vrf/VrfDeprecation.astro"
import { CodeSample } from "@components"
import { TabsContent } from "@components/Tabs"
+
+
This guide explains how to estimate VRF 2.5 costs for both the subscription and direct funding methods.
## Understanding transaction costs
diff --git a/src/content/vrf/v2-5/direct-funding/get-a-random-number.mdx b/src/content/vrf/v2-5/direct-funding/get-a-random-number.mdx
index e2d104ed172..715fce77c4c 100644
--- a/src/content/vrf/v2-5/direct-funding/get-a-random-number.mdx
+++ b/src/content/vrf/v2-5/direct-funding/get-a-random-number.mdx
@@ -14,9 +14,12 @@ metadata:
---
import Vrf2_5Common from "@features/vrf/v2-5/Vrf2_5Common.astro"
+import VrfDeprecation from "@features/vrf/VrfDeprecation.astro"
import { Aside, CodeSample } from "@components"
import { TabsContent } from "@components/Tabs"
+
+
This guide explains how to get random values using a simple contract to request and receive random values from Chainlink VRF v2.5 without managing a subscription. To explore more applications of VRF, refer to our [blog](https://blog.chain.link/).
## Requirements
diff --git a/src/content/vrf/v2-5/getting-started.mdx b/src/content/vrf/v2-5/getting-started.mdx
index 4bd87aca8f2..d2d8842e280 100644
--- a/src/content/vrf/v2-5/getting-started.mdx
+++ b/src/content/vrf/v2-5/getting-started.mdx
@@ -15,8 +15,11 @@ metadata:
image: "/files/2a242f1-link.png"
---
+import VrfDeprecation from "@features/vrf/VrfDeprecation.astro"
import { Aside, CodeSample, ClickToZoom } from "@components"
+
+