diff --git a/docs/base-account/reference/core/provider-rpc-methods/wallet_connect.mdx b/docs/base-account/reference/core/provider-rpc-methods/wallet_connect.mdx
index cbdcd9b94..c8af2606e 100644
--- a/docs/base-account/reference/core/provider-rpc-methods/wallet_connect.mdx
+++ b/docs/base-account/reference/core/provider-rpc-methods/wallet_connect.mdx
@@ -6,7 +6,7 @@ description: "Connect wallet and request account access"
Custom Coinbase Wallet method for establishing connection
FLock.io team will contact you once we receive your application. |
| [Flow](http://flowonbase.com) | FX, Ramping, Payments | Flow empowers projects with seamless FX, global payments, and local‐currency on/off-ramping — and offers its best pricing to those building or migrating onto Base. | For Base Builders, we offer 15% minimum discount on global ramping requirements & zero license fee for white label products. Further discounts available volume dependent. | Get market-leading FX, on/off-ramp, and global payment rates. We offer unmatched pricing that beats any verified competitor quote — book a consultation at flowonbase.com |
-| [GetBlock](getblock.io) | Infrastructure provider | GetBlock is a Web3 infrastructure provider that offers a suite of APIs and tools to help developers build and scale decentralized applications (dApps) on top of 75+ blockchain protocols. | 50% off the first month on all shared node plans | To redeem this offer, reach out via https://getblock.io/contact with your UID and the promo code Welcome Treat, mentioning that you are building on Base. |
+| [GetBlock](getblock.io) | Infrastructure provider | GetBlock is a Web3 infrastructure provider that offers a suite of APIs and tools to help developers build and scale decentralized applications (dapps) on top of 75+ blockchain protocols. | 50% off the first month on all shared node plans | To redeem this offer, reach out via https://getblock.io/contact with your UID and the promo code Welcome Treat, mentioning that you are building on Base. |
| [GrailPay](https://www.grailpay.com) | Authentication, Fraud, Account Validation | GrailPay authenticates bank accounts and stablecoin transactions for Base builders, enabling verified payment identities and safer fiat-to-onchain flows. | $1,500 in credits toward GrailPay’s authentication and verification APIs. | Submit your project details to support@grailpay.com. After verifying Base builder eligibility, we will provision $1,500 in authentication credits to your GrailPay account. |
| [Hexens](Hexens.io) | Security | At Hexens, we provide security audits to protect the future of Web3. We directly secure $120B+ in assets, working with industry leaders like Lido, EigenLayer, LayerZero, 1inch, Ava Labs, and Polygon. | Hexens will provide a discount of 15% for smart contract audits and 10% for services like pentest’s, and social engineering. Full triage will be provided for our bug bounty [r.xyz] for 3 months. | Please send your audit request to alice.rigby@hexens.io or @alicerigby on Telegram. |
| [Hypernative](https://www.hypernative.io/) | Security | Hypernative is the leading real-time security and threat prevention platform trusted by over 200 projects—including Ethena, Uniswap, Ethereum Foundation, Morpho, Chainlink, Solana, and Kraken. | Receive a discounted rate for the first year for Hypernative's real-time threat prevention platform. | Email marshall@hypernative.io to begin your trial and claim your offer. |
@@ -70,11 +70,11 @@ Thank you to all the teams supporting the Base ecosystem and its builders! If yo
| [Braille Studio](https://braille.wtf) | Product Design, Branding, Motion/Video, Web Design, Engineering | We design and build products for Based teams, covering brand, web, product, and launch assets, all focused on shipping something people can actually use. | 15% off our services and a free 1-hour mentoring session. (Starts at $3,000) | croissant@braille.wtf or Telegram: [braille_studio](https://t.me/braille_studio) |
| [Builders Garden](https://www.builders.garden/) | Product Studio | Fullstack product studio, specialized in consumer crypto use cases. | 15 mins free review / feedback sessions. | Telegram: @limone_eth |
| [Dacoit Design](https://www.dacoit.design/) | Design Studio | Full-stack crypto-native design studio specializing in brand identity, website design, and product design for Web3 projects. | Complimentary design audit. 20% discount on retainer engagements. (Starting at $7,500 for a 2-week branding sprint) | Telegram: @karanruparel or Email: karan@dacoit.design |
-| [Ethereal Labs](https://www.ethereallabs.io/) | Full Stack Crypto Development Agency | End-to-end Web3 engineering with a focus on bespoke smart-contract architecture, high-performance dApp development, and secure on-chain infrastructure, taking projects from concept to production-ready launch. | 10% discount on services and free initial consultation. | dev@ethereallabs.io, Telegram: [ethereallabs](https://t.me/ethereallabs), or X: [@ethereallabs_](https://x.com/ethereallabs_) |
+| [Ethereal Labs](https://www.ethereallabs.io/) | Full Stack Crypto Development Agency | End-to-end Web3 engineering with a focus on bespoke smart-contract architecture, high-performance dapp development, and secure on-chain infrastructure, taking projects from concept to production-ready launch. | 10% discount on services and free initial consultation. | dev@ethereallabs.io, Telegram: [ethereallabs](https://t.me/ethereallabs), or X: [@ethereallabs_](https://x.com/ethereallabs_) |
| [ForceField Digital](https://www.forcefield.digital/) | Marketing Agency | ForceField is the operating group and growth partner for Kenetic Capital and a leading venture capital in Web3 with over 300 investments. ForceField is a Web3-native growth partner that delivers real traction. | Base ecosystem members will receive a 20% discount. | info@forcefield.digital |
| [Gloww](https://gloww.design) | Product Design, UX/UI, Branding, and Motion Design | Gloww gives Base builders hands-on product design support, working like an embedded founding designer. Focus is on shaping the product, polishing the UX, refining the visuals, and shipping high quality interfaces. | Happy to give anyone coming from Base services Hub a 20% off. ($3,000 min fee) | DM @akshitvrma on Telegram |
| [GMGM Media](http://gmgm.media/) | Video Editing | Podcast repurposing, TikToks, interviews, launch / hype videos. | No payment required upfront. | Message @GMGMMedia on TG |
-| [HeimLabs](https://www.heimlabs.com/) | Fullstack Blockchain Development + Design + DevRel Agency | Delivers end-to-end blockchain engineering — full-stack dApp and miniapp development paired with high-quality DevRel content creation. | Free consultation. 20% off on the first order. Unlimited revisions on design (within reason). Bonus content in the DevRel package. ($250 min fee) | email: info@heimlabs.com or Telegram: [xhohenheim](https://t.me/xhohenheim) |
+| [HeimLabs](https://www.heimlabs.com/) | Fullstack Blockchain Development + Design + DevRel Agency | Delivers end-to-end blockchain engineering — full-stack dapp and miniapp development paired with high-quality DevRel content creation. | Free consultation. 20% off on the first order. Unlimited revisions on design (within reason). Bonus content in the DevRel package. ($250 min fee) | email: info@heimlabs.com or Telegram: [xhohenheim](https://t.me/xhohenheim) |
| [High Agency](https://highagencydevrel.com/) | Developer relations, developer experience, developer onboarding | We make your Web3 product easier to understand, integrate, and build with. From improving documentation and onboarding to growing engaged communities and creating technical content, we ensure developers can adopt your technology seamlessly. | Free initial consultation where we will identify gaps in developer onboarding experience and points of improvement. | Telegram: @enjojoy |
| [Ice Breaker TV](https://x.com/ice_breaker_tv) | Twitter Space Show Host | Twitter space / show / podcast / livestream hosting. | Open to discuss larger package deals for discounts / perks for multiple bookings. ($300 / hourly show min fee) | Telegram or Discord @ice_breaker_tv |
| [Jonathan Kramer](https://www.jonathankramer.net/) | Video | Concept development, writing, directing, producing, editing, and much more to help produce the videos of your dreams. | Free consultation. | KramersEmail@gmail.com |
diff --git a/docs/iframe-theme.js b/docs/iframe-theme.js
index 35287274c..4501a8db7 100644
--- a/docs/iframe-theme.js
+++ b/docs/iframe-theme.js
@@ -53,7 +53,7 @@
document.addEventListener("DOMContentLoaded", updateIframesForDarkMode);
} else {
setTimeout(updateIframesForDarkMode, 100);
- // TODO: add Storybook with Darkmode enabled
+ // Storybook darkmode implementation pending
let themeChangeCount = 0;
const themeChangeInterval = setInterval(() => {
if (themeChangeCount < 2) {
diff --git a/docs/learn/arrays/filtering-an-array-sbs.mdx b/docs/learn/arrays/filtering-an-array-sbs.mdx
index 608f24782..813f286d5 100644
--- a/docs/learn/arrays/filtering-an-array-sbs.mdx
+++ b/docs/learn/arrays/filtering-an-array-sbs.mdx
@@ -28,7 +28,8 @@ contract ArrayDemo {
uint[] public numbers = [1,2,3,4,5,6,7,8,9,10];
function getEvenNumbers() external view returns(uint[] memory) {
- // TODO
+ // TODO: Filter and return only the even numbers from the numbers array
+ // Hint: You'll need to count them first to allocate memory
}
}
```
diff --git a/docs/learn/deployment-to-testnet/test-networks.mdx b/docs/learn/deployment-to-testnet/test-networks.mdx
index 6b21c62af..a16deb240 100644
--- a/docs/learn/deployment-to-testnet/test-networks.mdx
+++ b/docs/learn/deployment-to-testnet/test-networks.mdx
@@ -67,21 +67,31 @@ Several well-known testnets have emerged over the years, each with its own set o

-### L1 Testnets
+### Active Testnets (Recommended)
-- **Ropsten:** Ropsten played a significant role in Ethereum's history but was effectively deprecated by late 2022 when the Merge took place. The Merge marked the transition from proof-of-work to proof-of-stake consensus for the Ethereum mainnet. Ropsten's vulnerability to spam attacks and network instability made it unreliable for testing purposes.
+#### Base Sepolia (L2)
+Base Sepolia is the recommended testnet for all Base development. It settles on the Ethereum Sepolia L1 testnet and provides an environment for testing L2-specific features and smart contracts.
-- **Rinkeby:** Rinkeby offered better security than Ropsten and used a proof-of-authority consensus mechanism. However, it lacked decentralization and client diversity, which ultimately led to its decline in popularity. After the Merge, Rinkeby is no longer a recommended test network.
+#### Sepolia (L1)
+Sepolia is the primary stable testnet for Ethereum development. It is designed for developers seeking a lighter weight chain for faster synchronization and interaction. It is the preferred testnet for L1 development.
-- **Goerli:** Launched in early 2019, Goerli initially utilized a multi-client proof-of-authority consensus model to improve stability and security. Following the Merge, it transitioned to a proof-of-stake consensus mechanism, maintaining its cross-client compatibility and making it an ideal choice for developers. As of January 2024, Goerli is being sunset in favor of Sepolia.
+#### Optimism Sepolia (L2)
+Optimism Sepolia is built on the Ethereum Sepolia L1 testnet and offers a testing environment for Optimism's Layer-2 features.
-- **Sepolia:** As one of the two original primary testnets alongside Goerli, Sepolia is designed for developers seeking a lighter weight chain for faster synchronization and interaction. As of January 2024, it is now the preferred testnet and developers should migrate to using it.
+---
+
+### Deprecated Testnets
+
+The following networks are deprecated and should not be used for new development:
-### L2 Testnets
+#### Goerli (L1)
+Launched in early 2019, Goerli was a popular multi-client testnet. As of January 2024, Goerli has been sunset in favor of Sepolia.
-- **Base Sepolia:** As new Layer-2 networks emerged that settled on Ethereum's Layer-1, the need for testnets dedicated to these L2 networks also arose. For instance, the L2 network Base has its own testnet, known as Base Sepolia. This testnet settles on the Ethereum Sepolia L1 testnet, providing an environment for testing L2-specific features and smart contracts.
+#### Ropsten (L1)
+Ropsten was deprecated in late 2022 after the Merge. It is no longer supported.
-- **Optimism Sepolia:** Optimism, an Ethereum Layer-2 scaling solution utilizing Optimistic Rollups, has its own testnet called Optimism Sepolia. This testnet is also built on the Ethereum Sepolia L1 testnet and offers a testing environment for developers to experiment with Optimism's Layer-2 features, smart contracts, and apps.
+#### Rinkeby (L1)
+Rinkeby was deprecated after the Merge and is no longer supported.
---
diff --git a/docs/learn/onchain-app-development/account-abstraction/account-abstraction-on-base-using-privy-and-the-base-paymaster.mdx b/docs/learn/onchain-app-development/account-abstraction/account-abstraction-on-base-using-privy-and-the-base-paymaster.mdx
index 5f86a1aa9..2bc0844a8 100644
--- a/docs/learn/onchain-app-development/account-abstraction/account-abstraction-on-base-using-privy-and-the-base-paymaster.mdx
+++ b/docs/learn/onchain-app-development/account-abstraction/account-abstraction-on-base-using-privy-and-the-base-paymaster.mdx
@@ -508,7 +508,8 @@ Simply grab the first wallet in the list (you'll want to do something more elega
const { wallets } = useWallets();
// Grab the first wallet on the list
-// TODO: Implement the option to allow the user to choose another wallet
+// Note: For this demo, we simply default to the first wallet. In a production app,
+// you should add a UI to allow the user to select which wallet to use.
const wallet = wallets[0];
```
diff --git a/docs/learn/onchain-app-development/account-abstraction/gasless-transactions-with-paymaster.mdx b/docs/learn/onchain-app-development/account-abstraction/gasless-transactions-with-paymaster.mdx
index b3a34b273..026898579 100644
--- a/docs/learn/onchain-app-development/account-abstraction/gasless-transactions-with-paymaster.mdx
+++ b/docs/learn/onchain-app-development/account-abstraction/gasless-transactions-with-paymaster.mdx
@@ -334,7 +334,7 @@ In this tutorial, you:
- Established **per-user** and **global** sponsorship **limits** to control costs.
- Demonstrated the **sponsorship flow** with Smart Accounts using `permissionless`, `viem`, and Foundry-generated private keys.
-This approach can greatly improve your dApp’s user experience by removing gas friction. For more complex sponsorship schemes (like daily or weekly cycles), simply tweak your per-user and global limit settings in the Coinbase Developer Platform.
+This approach can greatly improve your dapp’s user experience by removing gas friction. For more complex sponsorship schemes (like daily or weekly cycles), simply tweak your per-user and global limit settings in the Coinbase Developer Platform.
> **Next Steps**
>
diff --git a/docs/learn/onchain-app-development/frontend-setup/introduction-to-providers.mdx b/docs/learn/onchain-app-development/frontend-setup/introduction-to-providers.mdx
index 80ef241c9..fb3ea0c01 100644
--- a/docs/learn/onchain-app-development/frontend-setup/introduction-to-providers.mdx
+++ b/docs/learn/onchain-app-development/frontend-setup/introduction-to-providers.mdx
@@ -30,7 +30,7 @@ This tutorial assumes that you're reasonably comfortable writing basic smart con
## Types of Providers
-Onchain apps need frontends, sometimes called dApps, to enable your users to interact with your smart contracts. A _provider_ makes the connection from frontend to the blockchain, and is used to read data and send transactions.
+Onchain apps need frontends, sometimes called dapps, to enable your users to interact with your smart contracts. A _provider_ makes the connection from frontend to the blockchain, and is used to read data and send transactions.
In blockchain development, the term _provider_ describes a company or service that provides an API enabling access to the blockchain as a service. This is distinct from the providers you wrap your app in using the [React Context API], though you'll use one of those to pass your blockchain provider deeply into your app.
@@ -226,7 +226,7 @@ const config = createConfig({
ssr: true,
transports: {
[base.id]: http('YOUR PROJECT URL'),
- [mainnet.id]: http('TODO'),
+ // [mainnet.id]: http('https://mainnet.base.org'),
},
});
```
diff --git a/docs/learn/onchain-app-development/reading-and-displaying-data/useReadContract.mdx b/docs/learn/onchain-app-development/reading-and-displaying-data/useReadContract.mdx
index 52e36ed11..9b465274d 100644
--- a/docs/learn/onchain-app-development/reading-and-displaying-data/useReadContract.mdx
+++ b/docs/learn/onchain-app-development/reading-and-displaying-data/useReadContract.mdx
@@ -98,7 +98,7 @@ export function IssueList() {
return (