Solana DocumentationSolana SDKsOfficial SDKs

Rust SDK for Solana

Client Crates

CrateDescriptionDocsGitHub
solana-sdkCore SDKViewSource
solana-clientInteract with Solana via RPCViewSource
solana-commitment-configTransaction commitment level configurationViewSource

The solana-sdk crate is composed of the following component crates, which can be used independently:

CrateDescriptionDocsGitHub
solana-accountSolana Account typeViewSource
solana-epoch-infoInformation about a Solana epochViewSource
solana-epoch-rewards-hasherSolana epoch rewards hasherViewSource
solana-fee-structureSolana fee structuresViewSource
solana-inflationConfiguration for Solana network inflationViewSource
solana-messageSolana transaction message typesViewSource
solana-programSolana ProgramViewSource
solana-program-memoryBasic low-level memory operations for SolanaViewSource
solana-pubkeySolana account addressesViewSource
solana-sanitizeSolana Message SanitizationViewSource
solana-sdk-idsSolana SDK IDsViewSource
solana-sdk-macroSolana SDK MacroViewSource
solana-serdeSolana serde helpersViewSource
solana-serde-varintSolana definitions for integers that serialize to variable sizeViewSource
solana-short-vecSolana compact serde-encoding of vectors with small lengthViewSource
solana-time-utilsstd::time utilities for SolanaViewSource
solana-keypairConcrete implementation of a Solana SignerViewSource
solana-offchain-messageSolana offchain message signingViewSource
solana-presignerA Solana Signer implementation representing an externally-constructed SignatureViewSource
solana-seed-derivableSolana trait defining the interface by which keys are derivedViewSource
solana-seed-phraseSolana functions for generating keypairs from seed phrasesViewSource
solana-shred-versionCalculation of shred versionsViewSource
solana-signatureSolana 64-byte signature typeViewSource
solana-signerAbstractions for Solana transaction signersViewSource
solana-transactionSolana transaction-typesViewSource
solana-transaction-errorSolana TransactionError typeViewSource

Program Crates

Use solana-program to build on-chain programs.

CrateDescriptionDocsGitHub
solana-programBuild on-chain programsViewSource

Pinocchio is a zero-dependency library to create Solana programs in Rust and can be used as a replacement for solana-program to write on-chain programs.

CrateDescriptionDocsGitHub
pinocchioZero-dependency on-chain programsViewSource

Pinocchio is still in development and will likely have breaking changes in the near future.

Pinocchio includes program-specific crates for interacting with Solana programs:

CrateDescriptionDocsGitHub
pinocchio-systemInteract with System programViewSource
pinocchio-tokenInteract with Token programViewSource
pinocchio-token-2022Interact with Token-2022 programViewSource
pinocchio-associated-token-accountInteract with Associated Token programViewSource
pinocchio-memoInteract with Memo programViewSource

Interface Crates

CrateDescriptionDocsGitHub
solana-system-interfaceInteract with System programViewSource
spl-token-interfaceInteract with Token programViewSource
spl-token-2022-interfaceInteract with Token-2022 programViewSource
spl-associated-token-account-interfaceInteract with Associated Token programViewSource
solana-compute-budget-interfaceInteract with Compute Budget programViewSource
spl-memo-interfaceInteract with Memo programViewSource
spl-token-metadata-interfaceInteract with Token Metadata extensionViewSource
spl-token-group-interfaceInteract with Token Group extensionViewSource

Is this page helpful?

Table of Contents

Edit Page

Managed by

© 2025 Solana Foundation.
All rights reserved.
Get connected