OpenViSTAI · Agents · Blockchain · Crypto
Menu
Developer Tools

Grill

Grill is an open-source TypeScript library for React applications that manages Solana account access through a provider, with batched and cached account fetches, type-aware decoding and transaction management. It is built on @solana/kit.

Independent OpenViST project profile, based on linked sources.

Grill — OpenViST project profile in Developer Tools.
OpenViST project illustration. See the linked sources for product details.
Understand the project

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.
Before you choose

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.

Source-based practical guide

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

  1. Install Grill with bun add @macalinao/grill.

  2. Create a Solana client using createClient() and solanaRpcConnection, and create a React Query QueryClient.

  3. Wrap the app in QueryClientProvider, ClientProvider, ConnectionProvider, WalletProvider, and WalletModalProvider, following the README’s example.

  4. Inside WalletModalProvider, nest WalletAdapterCompatProvider and then GrillProvider; place app components and the Toaster within GrillProvider.

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.
Source-based practical guide

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

  1. Import useAccount from @macalinao/grill and the relevant decoder.

  2. Call useAccount with the account address and decoder in a React component.

  3. 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.
Evidence and transparency

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