Skip to main content
Diese Seite wurde mit KI automatisch übersetzt. Maßgeblich ist stets die englische Version.Englische Version ansehen →
Miete ist eine rückforderbare Kaution, keine Gebühr. SIMD-0437 senkt die Kaution, die jedes Konto halten muss, in fünf unabhängig gesteuerten Schritten. Konten, die vor einem Schritt erstellt wurden, behalten den Saldo, mit dem sie finanziert wurden, sodass jeder Schritt sie überfinanziert hinterlässt. Die SPL Token- und Token-2022-Programme können diese Differenz durch WithdrawExcessLamports zurückgeben, ohne das Konto zu schließen oder seinen Token-Saldo zu ändern. Nichts verfällt — der Überschuss bleibt in Ihren eigenen Konten, bis Sie ihn verschieben möchten.
Lesen Sie zunächst Account-Modell, wenn Sie neu in der Funktionsweise der Solana-Kontofinanzierung sind.

Was Miete wirklich ist

Jedes Konto auf Solana hält eine SOL-Kaution, deren Größe vom Speicherplatz abhängt, den es einnimmt. Sie wird nicht ausgegeben — sie wird vollständig zurückgegeben, wenn das Konto geschlossen wird. Die Formel lautet:
ACCOUNT_STORAGE_OVERHEAD ist ein fester Overhead von 128 Bytes, den jedes Konto unabhängig von seiner Nutzlast zahlt. lamports_per_byte ist die netzwerkweite Konstante, die SIMD-0437 ändert. Ein Standard-SPL-Token-Konto mit 165 Bytes kostet daher immer (128 + 165) × 6.960 = 2.039.280 Lamports — die ~0,00203928 SOL, die Sie abgezogen sehen, wenn eine Wallet ein zugehöriges Token-Konto öffnet.

Was SIMD-0437 ändert

SIMD-0437 senkt lamports_per_byte von 6.960 auf 696 — eine 90%-Reduktion — verteilt über fünf separate Feature Gates, damit Validatoren die Auswirkung auf das Zustandswachstum nacheinander absorbieren können. Schritt 1 wurde am 3. September 2026 auf Mainnet aktiviert. Schritt 2 erreichte am selben Tag Testnet und wird Mitte September 2026 auf Mainnet erwartet; die Schritte 3–5 sind für Agave 4.4 vorgesehen, erwartet um November 2026. Behandeln Sie den Zeitplan als änderbar — die Foundation hat gesagt, dass sie den Rollout pausiert, wenn das Zustandswachstum sich unerwartet verhält — und lesen Sie den aktuellen Wert vom Cluster, anstatt ihn hartcodiert zu verwenden.
SIMD-0437 hängt von SIMD-0194 ab, das die Rent-Exemption-Schwelle veraltet macht, „um unnötige Gleitkommaarithmetik beim Setzen der Rent-Parameter bei Feature-Aktivierung zu vermeiden”. In der Praxis trägt die Rent-Sysvar jetzt lamports_per_byte_year = 6.333 mit exemption_threshold = 1.0, anstelle der alten 3.480 × 2-Aufteilung, die 6.960 ergab. Multiplizieren Sie diese beiden Felder nicht selbst — rufen Sie getMinimumBalanceForRentExemption auf und lassen Sie den Cluster antworten.

Warum bestehende Konten zu viel halten

Das Senken der Konstante ändert, was ein Konto braucht. Es ändert nicht, was ein Konto hat. Ein Konto, das mit 6.960 Lamports pro Byte finanziert wurde, behält diesen Saldo, nachdem Schritt 1 aktiviert wird, sodass es überfinanziert ist um:
Für ein 165-Byte-SPL-Token-Konto nach Schritt 1 sind das 293 × (6.960 − 6.333) = 183.711 Lamports, oder ~0,000184 SOL pro Konto. Ein Token-2022-Konto mit Erweiterungen ist größer, hält also proportional mehr — ein 182-Byte-Konto ist überfinanziert um 310 × 627 = 194.370 Lamports. Einzeln ist das Kleingeld. Eine Wallet, die im Laufe der Jahre mit einigen hundert Token interagiert hat, hält ein aussagekräftiges Vielfaches davon, und nach Schritt 5 hält jedes 165-Byte-Konto 1.835.352 Lamports (~0,00184 SOL) über seinem Minimum.

Welche Konten können es zurückgeben

Überschüssige Lamports in einem programmgesteuerten Konto können nur von diesem Programm verschoben werden. Ob Sie Miete zurückfordern können, ohne das Konto zu schließen, hängt daher vollständig davon ab, welches Programm es besitzt.

SPL Token und Token-2022

Beide stellen WithdrawExcessLamports bereit. Das Konto bleibt offen, behält seinen Token-Saldo und fällt einfach auf das aktuelle Minimum.

Alles andere

Keine äquivalente Anweisung. Die Miete wird nur freigegeben, wenn das Konto geschlossen wird — eine destruktive Operation mit ihren eigenen Vorbedingungen, keine Miet-Sweep.
Konkret für die Kontotypen, die Raydium-Benutzer halten: Wrapped-SOL-Konten sind die eine Token-Programm-Ausnahme: ihr Lamport-Saldo ist ihr Token-Saldo, daher lehnen beide Programme sie mit TokenError::NativeNotSupported ab. Beide Programme stellen stattdessen UnwrapLamports (Diskriminant 45) für diesen Fall bereit — es ist in spl-token-interface neben WithdrawExcessLamports, sodass auch das Legacy-Programm es hat, nicht nur Token-2022 — und @solana/spl-token liefert createUnwrapLamportsInstruction dafür ab 0.4.15. Überspringen Sie native Konten in einem einfachen Miet-Sweep und behandeln Sie sie bewusst; das Muster dafür sicher zu tun ist das, das Rayidums eigene Programme verwenden, unten.

Die WithdrawExcessLamports-Anweisung

Diskriminant 38 in beiden Token-Programm-Anweisungs-Enums. Aus spl-token-interface:
Drei Eigenschaften machen es sicher, sie gegen jedes Konto in einer Wallet abzufeuern:
  • Sie nimmt keinen Betrag. Das Programm berechnet source.lamports − rent.minimum_balance(source.data_len()) selbst, sodass es ein Konto niemals unter das aktuelle Minimum bringen kann, und es bleibt korrekt, wenn später Schritte aktiviert werden.
  • Sie schließt nichts. Das Konto behält seine Daten, seinen Besitzer und seinen Token-Saldo.
  • Sie ist idempotent. Das Ausführen gegen ein Konto, das bereits am Minimum ist, verschiebt null Lamports und erfolgreich.
Ein gefrorenes Token-Konto ist immer noch berechtigt: Einfrieren beschränkt Token-Bewegung, nicht Lamports.

Anweisung erstellen

@solana/spl-token exportiert keinen Builder dafür. Ab 0.4.15 ist der Enum-Eintrag immer noch auskommentiert — und beachten Sie, dass der Identifier upstream WithdrawalExcessLamports geschrieben wird, mit dem zusätzlichen „al”, greppen Sie also danach:
Kodieren Sie es direkt. Die Nutzlast ist ein einzelnes Diskriminant-Byte:
Übergeben Sie die programId jedes Kontos. SPL Token- und Token-2022-Anweisungen können eine Transaktion teilen, aber jede muss an das Programm adressiert werden, das sein Quellkonto besitzt. Gemessen auf Mainnet kostet die Anweisung 270 Compute Units im SPL Token-Programm und 1.414 in Token-2022 — in beiden Fällen vernachlässigbar. Die echte Einschränkung ist die Transaktionsgröße, nicht Compute.

Rückforderbare Konten finden

Leiten Sie den Überschuss nicht aus einer hartcodierten Rate ab. Fragen Sie den Cluster, was jedes Konto gerade jetzt braucht, damit derselbe Code durch alle fünf Schritte funktioniert:
getMinimumBalanceForRentExemption(0) ist ein nützlicher Seitenkanal: es gibt genau 128 × lamports_per_byte zurück, sodass die Division durch 128 Ihnen sagt, welcher Rollout-Schritt der Cluster ist, ohne die Rent-Sysvar zu analysieren.

Batching: wie viele passen in eine Transaktion

Jede WithdrawExcessLamports-Anweisung trägt einen eindeutigen beschreibbaren Kontoschlüssel bei — 32 Bytes in der kompilierten Nachricht — plus etwa 7 Bytes Anweisungs-Kodierung. Ziel, Autorität und Gebührenzahler sind alle dieselbe Wallet, sodass sie einen Schlüssel zwischen ihnen kosten. Gegen das 1.232-Byte-Transaktionslimit passen ungefähr 25 Anweisungen, wenn Compute-Budget-Anweisungen und der Blockhash gezählt werden. Zwanzig pro Transaktion ist die sichere Arbeitszahl, und das ist, was Rayidums eigene Implementierung verwendet. Eine Wallet mit 116 rückforderbaren Konten fegt daher in sechs Transaktionen, bei jeweils einer 5.000-Lamport-Basisgebühr. Beachten Sie die Wirtschaft: die Gebühr wird pro Transaktion berechnet, nicht pro Konto. Weniger Konten zurückzufordern kostet nicht weniger, weshalb ein teilweiser Sweep selten die zusätzlichen Round Trips wert ist.

Rückforderung durch Raydium

Die Seite raydium.io/reclaim-rent scannt die SPL Token- und Token-2022-Konten der verbundenen Wallet, zeigt die Gesamtsumme aufgeteilt nach Programm und fegt alles in Batch-Transaktionen. Der Scan ist schreibgeschützt — keine Signatur, bis Sie Reclaim all rent drücken. Die Seite behandelt absichtlich nur Token-Konten. Kontotypen, die Miete nur durch Schließen freigeben können, werden ausgeschlossen, anstatt als nicht verfügbar aufgelistet zu werden, da das Schließen eines Kontos eine andere, destruktive Aktion ist.

Rückforderung aus der SDK-Demo

Versions-Banner. Diese Demos zielen auf @raydium-io/raydium-sdk-v2@0.2.64-alpha gegen Solana mainnet-beta, verifiziert 2026-09; das raydium-sdk-V2-demo-Repo selbst installiert derzeit 0.2.62-alpha, und die beiden sind hier austauschbar. WithdrawExcessLamports wird von Hand kodiert und ist unabhängig von der SDK-Version — das SDK wird nur für Transaktionserstellung und Batching verwendet.
Zwei Skripte in raydium-sdk-V2-demo/src/rent:
reclaimRent.ts batched bei 20 Konten pro Transaktion und signiert alle Batches in einem Durchgang:
Simulieren Sie, bevor Sie senden. simulateTransaction mit accounts.addresses gibt Post-Execution-Lamport-Salden zurück, was die billigste Möglichkeit ist, zu bestätigen, dass die Arithmetik dem entspricht, was der Cluster tatsächlich tun wird.

Was die Raydium-Programme auf ihrer Seite fegen

Ihre Wallet ist nicht der einzige Ort, an dem die Reduktion Lamports freisetzt. Jeder Pool hält auch Miete — Vaults, LP-Mints und die programmgesteuerten State-Konten, die alle mit der alten Rate finanziert wurden. Diese Miete gehört dem Protokoll, nicht den LPs: sie wurde von wem bezahlt, der das Konto erstellt hat, sie ist nicht Teil der Reserven eines Pools, und sie ist nie in die Kurve eingegangen. Drei Programme erhielten am 2026-09-09 eine Admin-Anweisung, um sie zurückzugeben: Adressen sind in reference/program-addresses. CLMM und Stable AMM waren nicht Teil dieser Version. Nichts hier beeinflusst einen LP oder einen Trader. Diese Anweisungen verschieben Lamports und nur Lamports. Token-Salden, Kontodaten, Besitzer, Pool-Status, LP-Angebot, Gebührenzähler und die Kurve sind alle unverändert, und keine von ihnen kann ein Konto schließen. Das Angebot eines Pools für einen Swap ist identisch vor und nach einem Sweep. Es gibt keine Benutzeraktion, kein Opt-in und keine Frist.

Die drei Kontofiguren, die jedes Programm verarbeitet

Alle drei folgen demselben Dispatch, auf dem Besitzer des Quellkontos:
  • Ein Token-Konto oder Mint, das von einer Programm-Autorität PDA besessen wird — das Programm CPIs das Token-Programm WithdrawExcessLamports (Diskriminant 38), signierend als diese PDA.
  • Ein Wrapped-SOL-Vault — WithdrawExcessLamports lehnt native Konten ab, daher SyncNatives das Programm zuerst (was den gespendeten Überschuss in den Wrapped amount faltet), misst genau, wie viel der Wrapped-Betrag gewachsen ist, UnwrapLamports für diese Delta, und behauptet dann, dass der Wrapped-Saldo auf seinen Pre-Sync-Wert zurückgekehrt ist. Wenn diese Überprüfung fehlschlägt, wird die gesamte Anweisung mit einem LamportsCalculateError zurückgewiesen. Dies ist der Grund, warum ein SOL-seitiger Pool-Vault seine volle Liquidität durch einen Sweep behält.
  • Ein programmgesteuertes State-Konto — AmmInfo, PoolState, AmmConfig, ObservationState, ein PlatformConfig und so weiter. Ein Programm kann seine eigenen Konten direkt belasten, daher verschiebt es den Saldo auf rent.minimum_balance(data_len) ohne CPI überhaupt.
Konten, die von etwas anderem besessen werden, werden stillschweigend übersprungen, daher ist das Übergeben eines unzugehörigen Kontos harmlos statt fatal. Die Wrapped-SOL-Sequenz ist es wert, kopiert zu werden, wenn Sie native Konten Ihren eigenen halten: es ist die einzige Möglichkeit, den Überschuss von einem wSOL-Konto zu nehmen, ohne zu ändern, was das Konto als seinen Token-Saldo meldet.
Diese Pfade hängen vom bereitgestellten Token-Programm ab, nicht von einer Crate-Version. Alle drei Programme kodieren die Token-Anweisungen von Hand — ein einzelnes 38-Byte für WithdrawExcessLamports, 45 plus ein COption<u64> für UnwrapLamports — und senden sie an welches Token-Programm auch immer das Quellkonto besitzt. Beide Anweisungen existieren in den aktuellen Mainnet SPL Token- und Token-2022-Programmen. Ein lokaler Validator oder Test-Harness, der einen älteren gebündelten SPL Token-Build ausführt, implementiert sie nicht, und ein Sweep dagegen schlägt auf einem unbekannten Diskriminant fehl, anstatt auf etwas im Raydium-Programm. Testen Sie diese Pfade gegen ein Mainnet-geklontes Token-Programm.

Was immer noch nicht an Ort und Stelle zurückgefordert werden kann

Die Miete einer CLMM-Position ist durch all dies unverändert — sie kommt zurück, wenn die Position geschlossen wird, wie die Tabelle oben sagt. Dasselbe für die LaunchLab-Basis-Mint: die Initialize-Anweisung widerruft MintTokens im selben Aufruf, der das Angebot prägt, sodass kein Schlüssel jemals WithdrawExcessLamports für diese Mint signieren kann und ihre Miete ist absichtlich gestrandet.

Sollten Sie jetzt zurückfordern oder warten?

Beides ist in Ordnung, und der Unterschied ist in beiden Fällen klein:
  • Der Überschuss geht nirgendwo hin. Er sitzt in Ihren eigenen Konten. Nichts verfällt, nichts wird gefegt, keine Frist gilt.
  • Warten verstärkt sich. Jeder Schritt gibt mehr von denselben Konten frei, und ein Sweep nach Schritt 5 kostet in Gebühren dasselbe wie ein Sweep heute.
  • Jetzt zurückzufordern verzichtet nicht auf spätere Schritte. Ein Konto, das Sie heute fegen, ist einfach auf dem aktuellen Minimum; der nächste Schritt macht es wieder überfinanziert und Sie können es erneut fegen.
Die einzige echte Kosten des frühen Zurückforderns ist die Basisgebühr, und die einzige echte Kosten des Wartens ist, dass die Lamports eine Weile länger unbeweglich bleiben.

Weitere Lektüre

SIMD-0437

Der Vorschlag selbst — die fünf Feature Gates und die Begründung für die schrittweise Reduktion.

Reduzierte Miete

Solanas Rollout-Seite: aktueller Schritt, Zeitplan und was sich für neue Konten ändert.

Mietreduktion: eine datengestützte Analyse

Die Wirtschaft und das Zustandswachstum-Risiko, das der schrittweise Rollout verwalten soll.

Account-Modell

Wie Solana-Konten finanziert, besessen und geschlossen werden — der Hintergrund für alles oben.