Skip to content

SDKs

Zink speaks the standard Solana JSON-RPC, transaction, and account interfaces. Existing SDKs work with Zink when configured with a Zink RPC endpoint — no forks, patches, or wrappers required.

Upstream-compatible

All network-facing SDKs listed below are upstream Solana SDKs or generated clients that target the standard Solana RPC surface. Use package versions that match the Solana version running on the Zink cluster.

TypeScript / JavaScript

The TypeScript ecosystem is the most widely used for client-side Solana/Zink interaction.

The modern, modular SDK for Solana. Tree-shakeable, type-safe, and designed for both browser and server environments.

bash
npm install @solana/kit
typescript
import { createSolanaRpc, address } from "@solana/kit";

const rpc = createSolanaRpc("https://testnet-rpc.z.ink");
const balance = await rpc.getBalance(address("YOUR_ADDRESS")).send();

Related packages in the @solana/kit family:

PackagePurpose
@solana/clientLow-level RPC client — HTTP and WebSocket transports
@solana/react-hooksReact hooks for connections, wallets, and account subscriptions
@solana/web3.js (v2)Re-export of @solana/kit under the legacy package name
@solana/web3-compatCompatibility shim for migrating v1 code to the v2 API surface

@solana/web3.js v1 (legacy)

Still widely used in existing projects and tutorials. In maintenance mode — new projects should prefer @solana/kit.

bash
npm install @solana/web3.js@1
typescript
import { Connection, PublicKey } from "@solana/web3.js";

const connection = new Connection("https://testnet-rpc.z.ink", "confirmed");
const balance = await connection.getBalance(new PublicKey("YOUR_ADDRESS"));

Generated clients from Starframe IDLs

Starframe can emit a Codama-compatible IDL from a test-only feature:

bash
cargo test --features idl -- generate_idl

That writes JSON under target/idl/. Feed the IDL into your preferred Codama client generator, then configure the generated client with a Zink RPC endpoint such as https://testnet-rpc.z.ink.

Rust

solana-sdk and solana-client

For building Rust clients, bots, or off-chain services that interact with Zink:

toml
# Cargo.toml
[dependencies]
solana-sdk = "1.18"
solana-client = "1.18"
rust
use solana_client::rpc_client::RpcClient;
use solana_sdk::pubkey::Pubkey;
use std::str::FromStr;

let client = RpcClient::new("https://testnet-rpc.z.ink");
let pubkey = Pubkey::from_str("YOUR_ADDRESS").unwrap();
let balance = client.get_balance(&pubkey).unwrap();
println!("Balance: {} lamports", balance);

On-chain program crates

For writing on-chain programs (as opposed to clients), these crates are commonly used:

CratePurpose
star_frameStarframe framework — accounts, instructions, typed seeds, validation, and IDL generation
star_frame_splTyped CPI helpers for SPL Token workflows
solana-programCore types and entrypoint for native programs
spl-tokenSPL Token Program interface for CPI
spl-associated-token-accountATA derivation and creation
borshDeterministic binary serialization
bytemuckZero-copy account data layout helpers

Python

solana-py

A community-maintained Python SDK:

bash
pip install solana
python
from solana.rpc.api import Client

client = Client("https://testnet-rpc.z.ink")
response = client.get_balance("YOUR_ADDRESS")
print(f"Balance: {response['result']['value']} lamports")

Go

gagliardetto/solana-go

A community Go client:

bash
go get github.com/gagliardetto/solana-go
go
import "github.com/gagliardetto/solana-go/rpc"

client := rpc.New("https://testnet-rpc.z.ink")
balance, err := client.GetBalance(ctx, pubkey, rpc.CommitmentConfirmed)

Connecting any SDK to Zink

The pattern is the same for every language and library:

  1. Find where the SDK accepts an RPC endpoint URL.
  2. Replace the Solana mainnet URL with a Zink cluster URL.
  3. Everything else — transaction construction, signing, account queries — works identically.

Zink-specific

The currently published public endpoint is https://testnet-rpc.z.ink. Refer to Clusters & Environments for unpublished environments. SDK version compatibility follows Solana's release cadence — ensure your SDK version matches the Solana version running on the Zink cluster by checking solana cluster-version.

SDK version compatibility

The Zink cluster runs a specific Solana validator version. Match your SDK versions accordingly:

bash
# Check the Solana version running on Zink
solana cluster-version --url https://testnet-rpc.z.ink
Cluster Solana versionRecommended SDK range
1.18.xsolana-sdk 1.18.x, @solana/web3.js ^1.91 or @solana/kit latest
2.xsolana-sdk 2.x, @solana/kit latest

Zink-specific

The exact Solana version running on Zink clusters is documented in Clusters & Environments. The cluster version may differ from Solana mainnet — always check before upgrading SDK dependencies.

Next steps

Zink is a general-purpose SVM network for programs, operators, and bridge integrations.