Skip to main content
Technical proposal SIMD-0128 Activated

Migrate Address Lookup Table to Core BPF

  1. Idea
  2. Draft
  3. Review
  4. Accept
  5. Implement
  6. Active

Decision brief

Why this proposal matters

Migrate the Address Lookup Table program to Core BPF.

Source-backed reading aid · source language: EN

Proposal at a glance

What changes

  • Migrate the Address Lookup Table program to Core BPF.

Stakeholder map

Who is affected

Builders & client teams Medium impact

Validator client teams are no longer required to implement and maintain the Address Lookup Table program within their runtime.

Action may be required
Validators & operators Medium impact

Validator client teams are no longer required to implement and maintain the Address Lookup Table program within their runtime.

Action may be required
Users & stakers Impact unknown

No proposal-specific evidence was found for this group.

Action requirement unknown
Governance & ecosystem Impact unknown

No proposal-specific evidence was found for this group.

Action requirement unknown

Exact source revision

Full proposal document

Source-language document. Technical identifiers and evidence remain unchanged. 6cc17538e266

Summary

Migrate the Address Lookup Table program to Core BPF.

Motivation

BPF programs offer less complexity than native programs for other clients, such as Firedancer, since developers will no longer have to keep up with program changes in their runtime implementations. Instead, the program can just be updated once.

In this spirit, Address Lookup Table should be migrated to Core BPF.

Alternatives Considered

The Address Lookup Table program could instead remain a builtin program. This would mean each validator client implementation would have to build and maintain this program alongside their runtime, including any future changes.

New Terminology

N/A.

Detailed Design

The Address Lookup Table program is reimplemented in order to be compiled to BPF and executed by the BPF loader.

The reimplemented program's ABI exactly matches that of the original.

The reimplemented program's functionality exactly matches that of the original, differing only in compute usage. Instead it has dynamic compute usage based on the VM's compute unit meter.

The reimplemented program can be found here: https://github.com/solana-program/address-lookup-table.

The program shall be migrated to Core BPF using the procedure outlined in SIMD 0088.

The program has no upgrade authority. If changes are required, for essential network operations, the program will be updated using feature-gates.

Impact

Validator client teams are no longer required to implement and maintain the Address Lookup Table program within their runtime.

All validator client teams can work to maintain the single Address Lookup Table program together.

Security Considerations

The program's reimplementation poses no new security considerations compared to the original builtin version.

The greatest security concern is a mistake in the reimplementation.

Backwards Compatibility

The Core BPF implementation is 100% backwards compatible with the original builtin implementation.

Evidence graph

Related proposals and rollout

One or more sources are unavailable.

Upstream review record

Upstream discussion & review

GitHub review is editorial context, not evidence of on-chain support, voting, or outcome.

PR #128 · merged SIMD-0128: Migrate Address Lookup Table Program to Core BPF 4 comments and reviews · Feb 2, 2026
@buffalojoec

I'm leaving this as a draft until the new Get Sysvar syscall from SIMD 0127 has been implemented in Agave. Once the implementation is complete, the Core BPF Address Lookup Table program can be updated to exactly match the original use of slot hashes for lookup table cooldown, making this SIMD accurate.

GitHub ↗
@buffalojoec

Ready to go. IDL: https://github.com/solana-program/address-lookup-table/blob/main/program/idl.json

GitHub ↗
@joncinque

micro-nit: can this section use the present tense? I think the idea for these is to explain how it works as if it were already implemented, per https://github.com/solana-foundation/solana-improvement-documents/blob/main/XXXX-template.mddetailed-design

GitHub ↗
@buffalojoec

@lheeger-jump gentle nudge here, please.

GitHub ↗

simd.watch community discussion · SIMD-0128

Powered by Giscus · Sign in with GitHub to comment

Community comments load when this section approaches the viewport.

Provenance

Evidence & technical details

Rollout or chain data, source revisions, freshness and integrity.
2

SIMD

Deployment Status

Document lifecycleActivated
CategoryCore protocol
Devnetactive Epoch 849
Testnetactive Epoch 756
Mainnet-Betaactive Epoch 762
C97eKZygrkU4JxJsZdjgbUY7iQR7rKTr4NyDWo2E5pRm

Exact source revision

Sources & integrity

  • Proposal document pinned_commit_blob
    6cc17538e26601e65beca89bbfa761e755720956
  • simd-document document · stale · Oct 28, 2026
    6cc17538e26601e65beca89bbfa761e755720956

One or more sources are unavailable.