Zurück zum Blog
Solana

WithdrawExcessLamports auf Solana: SPL-Token- und Token-2022-Leitfaden

S
Sol Slugs Team
Sol Incinerator

Preis- und Funktionsangaben geprüft 3. September 2026.

WithdrawExcessLamports ist Token-Program-Anweisung 38. Sie bewegt überschüssige Lamports aus einem Mint, Token-Konto oder Multisig, die nicht per normaler Token-Übertragung bewegt werden können.

Was macht WithdrawExcessLamports?

WithdrawExcessLamports verschiebt nur SOL oberhalb der Live-Rent-Reserve eines Token-Program-Kontos. Die Quelle bleibt offen und Token- oder Mint-Daten ändern sich nicht. Welche Signatur nötig ist, hängt vom Quelltyp ab.

Die Anweisung existiert für SPL Token und Token-2022. Das Verhalten steht in der Solana-Dokumentation, der Prozessor im öffentlichen Token-Repository.

KontoWritable?Signierer?Zweck
sourceJaTeilweiseToken-Konto, Mint oder Multisig mit Überschuss
destinationJaNeinEmpfängt Lamports
authorityNeinVom Quelltyp abhängigBelegt Berechtigung
multiSignersNeinBei Nutzung jaErfüllen Multisig-Schwelle
QuelleErforderliche Authority
Wallet-eigenes Token-KontoToken-Konto-Eigentümer
Token-Multisig-KontoErforderliche M-von-N-Mitglieder
Mint mit aktiver Mint AuthorityAktuelle Mint Authority
Mint ohne Mint AuthorityMint-Konto selbst
Multisig als QuellkontoKonfigurierte M-von-N-Mitglieder

Ein widerrufener On-Curve-Mint benötigt sein Keypair; ein Off-Curve-Mint eine CPI mit korrekten PDA-Seeds.

Client-Beispiel

import { getWithdrawExcessLamportsInstruction } from "@solana-program/token";

const instruction = getWithdrawExcessLamportsInstruction({
    source,
    destination,
    authority,
});

await client.sendTransaction([instruction]);

authority ist ein passender TransactionSigner; Multisig-Cosignierer werden über multiSigners übergeben. Paketversionen sollten festgesetzt und kompiliert geprüft werden.

Das Beispiel verwendet @solana-program/token; Anwendungen können es mit @solana/kit zusammensetzen.

Stand 2026 musst du 2 Tokenprogramm-Familien unterscheiden; Token-2022 ist eine davon.

Verwende 0.00203928 SOL nicht als fest codierte Reserve. Das ist der bisherige Mindestwert eines Standardkontos mit 165 Byte, kein universeller Live-Wert. Frage unmittelbar vor Vorschau oder Build die Reserve für die echte Datenlänge ab.

Token-2022-Erweiterungen können statt 82 oder 165 Byte größere Konten erzeugen. Ein gesperrter CPI Guard kann Wrapper-Aufrufe verhindern. Native Wrapped-SOL-Konten liefern NativeNotSupported und müssen über einen anderen Schließpfad behandelt werden. Diese Regeln gelten für Token-2022-Vorschauen und Token-2022-Transaktionen.

Sol-Incinerator-API

Assetcinerator erzwingt Protokoll- und optionale Partnergebühren als Produktschicht; die rohe Token-Anweisung selbst verlangt diese Gebühr nicht.

curl -X POST https://v2.api.sol-incinerator.com/withdraw-excess-lamports/preview \
  -H "content-type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "userPublicKey": "DESTINATION_WALLET",
    "sourceAccount": "TOKEN_ACCOUNT_MINT_OR_MULTISIG"
  }'
  • POST /withdraw-excess-lamports
  • POST /withdraw-excess-lamports-instructions

userPublicKey ist Ziel und Standard-Authority. Optional sind authorityPublicKey sowie bis zu 11 multisigSignerPublicKeys. Die Basisgebühr beträgt 200 bps; Integratoren können partnerFeeAccount und partnerFeeBps hinzufügen. Nutze feeLamports und die Rückforderungsfelder der Antwort.

Behandle fehlenden Überschuss, falschen Owner oder Layout, ungültige Authority, unvollständiges Multisig, natives Konto, gesperrten CPI Guard, geänderten Zustand und unwirtschaftlich kleine Beträge als eigene Fehlerfälle.

Sol Incinerator

Sol Incinerator

Prüfe Live-Überschuss oder erstelle über die v2 API eine signatursichere Auszahlung.

Jetzt ausprobieren

Weiterführende Artikel

Häufig gestellte Fragen

Was bewirkt WithdrawExcessLamports auf Solana?

WithdrawExcessLamports überträgt Lamports oberhalb der aktuellen Rent-Mindestreserve eines Token-Program-Kontos an eine Ziel-Wallet. Quelle kann ein Token-Konto, Mint oder Multisig sein. Token-Mengen, Mint-Supply, Authorities, Erweiterungen und alle weiteren serialisierten Kontodaten bleiben dabei unverändert.

Welche Authority signiert WithdrawExcessLamports?

Ein Token-Konto nutzt seinen Eigentümer oder dessen Multisig. Ein Mint mit aktiver Mint Authority nutzt diese Authority. Ohne Mint Authority muss das Quellkonto selbst signieren, entweder über sein Keypair oder per CPI aus dem Programm, das einen Off-Curve-Mint kontrolliert.

Unterstützt WithdrawExcessLamports Token-2022?

Ja. Die Anweisung unterstützt klassische SPL-Token- und Token-2022-Konten, Mints und Multisigs. Integrationen müssen die tatsächliche Datenlänge verwenden, weil Token-2022-Erweiterungen Konten vergrößern. Ein gesperrter CPI Guard kann außerdem die Ausführung über einen Wrapper verhindern.

Kann WithdrawExcessLamports ein Konto unter die Reserve leeren?

Nein. Das Token Program berechnet die Mindestreserve und überträgt nur die Differenz darüber. Native Wrapped-SOL-Konten werden abgelehnt. Anwendungen sollten trotzdem den Live-Zustand prüfen, weil sich Guthaben, Datenlänge, Rent-Einstellung und verfügbare Authority vor dem Senden ändern können.

WithdrawExcessLamports auf Solana: SPL-Token- und Token-2022-Leitfaden | Sol Incinerator