# Solana Chain Interactions
Source: https://docs.chain.link/cre/guides/workflow/using-solana-client/overview-ts
Last Updated: 2026-09-03

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

`SolanaClient` is the TypeScript SDK's interface for Solana chain interactions from CRE workflows. Reads fetch consensus-verified account and program data. Writes submit cryptographically signed reports through the Keystone Forwarder program, which verifies DON signatures and CPIs into your receiver program. A separate [Solana Log trigger](/cre/guides/workflow/using-triggers/solana-log-trigger) starts a workflow when a Solana program emits a matching event.

## How it works

For Solana program interactions, CRE can **generate typed bindings** from your program's [Anchor IDL](https://www.anchor-lang.com/docs/references/idl). You place the IDL in your project, run `cre generate-bindings solana`, and the CLI creates TypeScript classes with helpers such as `writeReportFrom<StructName>()` that handle encoding, account hashing, and report submission for you.

Typical flow:

1. Add your Anchor IDL under `contracts/solana/src/idl/`
2. Run `cre generate-bindings solana` from your project root
3. Call the generated helpers from your workflow

## Guides

- **[Generating Solana Bindings](/cre/guides/workflow/using-solana-client/generating-bindings-ts)**: Generate typed TypeScript classes from your Anchor IDL using the CRE CLI
- **[Reading from Solana](/cre/guides/workflow/using-solana-client/onchain-read-ts)**: Fetch consensus-verified account and program data with generated bindings
- **[Writing to Solana](/cre/guides/workflow/using-solana-client/onchain-write-ts)**: End-to-end first write with generated bindings, simulate, and deploy
- **[Solana Log Trigger](/cre/guides/workflow/using-triggers/solana-log-trigger-ts)**: Start a workflow when a Solana program emits a matching event