Practical overview
When it fits
Use Grill when a React Solana application needs a shared account-management layer, particularly when components request multiple accounts or need typed decoding and transaction handling.
Who it is for
- React developers building Solana applications.
- Teams that need account fetching, decoding or transaction handling within a Solana app interface.
Documented uses
- Fetch multiple Solana accounts through React hooks while batching requests.
- Decode account data with a type-aware decoder.
- Submit transactions and provide status notifications in the app.
Requirements & limits
The repository is public and identifies the project as open source under the Apache-2.0 license.
- Grill is a React application library, not an RPC service or standalone end-user app.
- The main package provides React account management; separate repository packages handle account-fetch batching, wallet-adapter compatibility and an ES-module DataLoader.
- The README quick start shows Grill within a broader setup that includes a Solana client and RPC connection, wallet providers and React Query.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Add Grill’s React provider to a Solana app
Install Grill and place its provider within the documented React provider stack.
Before you start
- A React application using the Bun package manager.
- Solana client and wallet-adapter packages, React Query, and Sonner for the providers shown in the example.
Steps
Install Grill with
bun add @macalinao/grill.Create a Solana client using
createClient()andsolanaRpcConnection, and create a React QueryQueryClient.Wrap the app in
QueryClientProvider,ClientProvider,ConnectionProvider,WalletProvider, andWalletModalProvider, following the README’s example.Inside
WalletModalProvider, nestWalletAdapterCompatProviderand thenGrillProvider; place app components and theToasterwithinGrillProvider.
Expected outcome
The app is structured with Grill’s provider alongside the documented Solana client, wallet, and query providers.
Guide limitations
- This setup example depends on additional packages and wallet adapters that are not all covered by the Grill installation command.
- The README shows the provider structure but does not document a verification or run command.
Read and decode a Solana account in a React component
Fetch an account with Grill and pass a decoder to expose typed account data.
Before you start
- A React app with Grill configured through
GrillProvider. - An account address and a decoder, such as
getTokenAccountDecoder()from@solana-program/token.
Steps
Import
useAccountfrom@macalinao/grilland the relevant decoder.Call
useAccountwith the account address anddecoderin a React component.Read the returned account data, such as
account?.data.amount, in the component.
Expected outcome
The component receives account data decoded with the supplied decoder; the README describes the decoded data as typed.
Guide limitations
- The example does not document how to obtain or validate an account address.
- The README does not specify error handling or loading-state behavior for the hook.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 13 October 2026
- Original website title
- macalinao/grill · Official homepage title · retained in its source language

