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. 0616093b2952

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

One or more sources are unavailable.

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.
3

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
    0616093b2952ed6de52c4a27d66aadd11d48d4f9
  • simd-document document · stale · Sep 11, 2026
    0616093b2952ed6de52c4a27d66aadd11d48d4f9

One or more sources are unavailable.

One or more sources are unavailable.