Solana Program IDL on Solscan

Table of Contents

Program pages on Solscan help users understand how a Solana program works, how it is used, and how it interacts with accounts and transactions.

A key feature on these pages is the IDL tab, which makes a program’s interface easier to read by displaying its Interface Definition Language (IDL), when available.

This article explains what a program IDL is, why it matters, and what users can do with IDL-related features on Solscan, including viewing the current IDL, exploring historical versions, and comparing changes between versions.

What Is a Program IDL?

A program IDL (Interface Definition Language) is a structured specification that describes how to interact with a program in a clear and readable format.

When a program is built with Anchor, it automatically generates a JSON file representing the program’s IDL. This file defines how users, wallets, and applications can call the program’s functions and interpret its data.

A typical IDL may include:

  • Program instructions
  • Required accounts
  • Instruction arguments
  • Data types
  • Events
  • Errors

Why Program IDLs Matter?

Solana programs can be difficult to understand from raw transaction data alone. Without an IDL, program activity may appear as low-level instructions, account inputs, and raw data that are hard to interpret.

With an IDL, Solscan can present program information in a more structured and readable format.

IDLs make it easier for developers to understand how to interact with a program, for wallets and applications to decode program instructions, and for indexers and explorers to display program activity more clearly. They also help analysts review how a program is designed to be used and allow users to better understand what a program is doing.

Where to Find the IDL Tab on Solscan?

Users can find the IDL tab on program pages on Solscan.

To access it:

  1. Open a program address on Solscan by pasting the program ID or searching for its name.
  2. Navigate to the Program IDL tab.

If the program has published its IDL, Solscan will display it in this section.

What Can You Do in the Program IDL Tab?

The IDL tab allows users to inspect and work with a program’s interface in one place.

Depending on the program and available data, users can view the current IDL, explore historical versions, and compare changes between versions.

View the Current IDL

The current IDL shows the latest available interface definition for the program.

Users can review instructions, accounts, arguments, events, errors, and other supported structures.

This is useful for understanding how the program works at the interface level, especially when reviewing activity or checking how applications interact with it.

You can view the IDL in raw JSON output (a), or by different components (b). You can also search for a specific components in the search bar (c).
You can view the IDL in raw JSON output (a), or by different components (b). You can also search for a specific components in the search bar (c).

View Historical IDL Version

Solscan supports historical IDLs for programs with previously uploaded versions.

Instead of only showing the latest IDL, users can view earlier versions when available.

This helps users understand how a program’s interface has evolved over time.

Historical IDLs are especially useful for reviewing long-running or actively maintained programs.

Scroll to find and click to view the previous IDL version that you need in the dropdown menu.
Scroll to find and click to view the previous IDL version that you need in the dropdown menu.

Compare IDL Versions

Users can compare different IDL versions on Solscan. This allows them to identify changes between two versions, such as:

  • Instructions added, removed, or updated
  • Changes to account structures
  • Arguments added, removed, renamed, or modified
  • Data type changes
  • Events added or removed
  • Errors added or updated

This feature helps users quickly identify differences without manually reviewing entire IDL files.

How to compare IDL versions on Solscan

To compare IDL versions:

  1. Open the program page on Solscan.
  2. Navigate to the IDL tab.
  3. Click the Compare button.
Click the Compare button to compare between IDL versions of the program.
Click the Compare button to compare between IDL versions of the program.
  1. Select the two IDL versions to compare.
Select the two IDL versions that you want to compare in each column (a and b).
Select the two IDL versions that you want to compare in each column (a and b).

You can review the highlighted differences or choose to Show Unchanged Regions to view the full files.

Show Unchanged Regions feature will display the full IDL file of the two versions.
Show Unchanged Regions feature will display the full IDL file of the two versions.

Write Program (Interact with Program)

For programs with a verified IDL, Solscan provides a Write Program feature that allows users to interact with the program directly from the explorer.

Users can connect their wallet, browse instructions defined in the IDL, review required accounts and parameters, and execute transactions on-chain.

This removes the need for external tools or scripts and provides a guided interface for interacting with program functions. It is especially useful for developers and advanced users who want to test or validate behavior.

Users should always review instruction details carefully before executing any transaction, as actions will be signed and submitted on-chain using their connected wallet.

Frequently Asked Questions

IDL stands for Interface Definition Language.

A program IDL describes the structure of a program’s interface, including instructions, accounts, arguments, data types, events, and errors.

This can happen if the program has not published an IDL on-chain or if the IDL is not supported.

Solscan does not provide a feature to submit or write an IDL directly. Developers should publish their program IDL on-chain using the following command:

npx @solana-program/program-metadata@latest write idl $PROGRAM_ID ./idl.json

A historical IDL is a previously uploaded version of a program’s IDL. It allows users to review how the interface looked in the past.

Comparing IDL versions helps users understand how a program’s interface has changed over time. This is useful for developers, analysts, auditors, and indexers.

Summary

Program IDLs make Solana programs easier to inspect and understand.

On Solscan, the IDL tab provides a clear way to view a program’s interface, explore historical versions, and compare changes over time.

IDLs improve readability, while historical IDLs help track how program interfaces evolve.

Ngoc Tran
Ngoc Tran
Published:

Still Have Questions?

Supported Explorers

Solscan
Eclipsescan
Fogoscan