> ## Documentation Index
> Fetch the complete documentation index at: https://docs.raydium.io/llms.txt
> Use this file to discover all available pages before exploring further.

# 2026-08-27 — LaunchLab: Plattform hält die Withdraw-Withheld-Autorität von der Mint-Erstellung

> InitializeWithToken2022 schreibt jetzt PlatformConfig.transfer_fee_extension_auth in die withdraw_withheld_authority des neuen Base-Mints statt in die Launch-Autorität PDA, und MigrateToCpswap weist diese Autorität nur neu zu, wenn die PDA sie noch hält. Keine Änderungen bei Account-Layout, Instruktion oder Fehler.

<Info>
  **Diese Seite wurde mit KI automatisch übersetzt. Maßgeblich ist stets die englische Version.**

  [Englische Version ansehen →](/reference/changelog/2026-08-27-launchlab-token2022-withheld-authority)
</Info>

<Info>
  Dieser Eintrag behandelt ein bevorstehendes LaunchLab-Programm-Update. Er wurde vor der Bereitstellung gegen den lokalen Release-Branch überprüft. Bestätigen Sie das bereitgestellte Programm, bevor Sie sich auf die Auszahlung von Withheld-Gebühren vor der Graduation verlassen.
</Info>

Ein Token-2022 Base-Mint, das von `InitializeWithToken2022` erstellt wird, kann eine `TransferFeeConfig` tragen. Diese Extension hat zwei Autoritäten: `transfer_fee_config_authority`, die den Gebührensatz und die maximale Gebühr ändert, und `withdraw_withheld_authority`, die die Gebühren abheben kann, die Token-2022 auf Token-Konten einbehält.

Bis zu diesem Release platzierte das Programm die Launch-`authority` PDA auf beiden bei der Mint-Erstellung und übergab beide an `PlatformConfig.transfer_fee_extension_auth` bei der Graduation. Das Launchpad-Programm hat keine Withdraw-Withheld- oder Harvest-Instruktion, daher konnte während der gesamten Bonding-Curve-Phase niemand den einbehaltenen Saldo abheben — der einzige Schlüssel, der das konnte, war eine PDA ohne Instruktion zum Signieren.

Dieses Release schreibt `transfer_fee_extension_auth` direkt in `withdraw_withheld_authority` bei der Mint-Erstellung, sodass die Plattform einbehaltene Gebühren vom ersten Trade an abheben kann. `MigrateToCpswap` erhält einen Guard, sodass diese Autorität nur neu zugewiesen wird, wenn die PDA sie noch hält, was die Graduation für Mints beider Generationen funktionsfähig hält.

Nichts anderes hat sich geändert. Kein Account ist gewachsen oder geschrumpft, keine Instruktion hat ein Konto gewonnen oder verloren, kein Argument hat sich geändert, und kein Fehlercode ist verschoben worden.

## TL;DR für Integratoren

* **Einbehaltene Transfergebühren können während des Launches abgehoben werden.** Bei einem neuen Token-2022-Launch, dessen Plattform `transfer_fee_extension_auth` gesetzt hat, ist dieser Schlüssel die `withdraw_withheld_authority` des Mints von der Erstellung an. Rufen Sie direkt Token-2022s eigene `WithdrawWithheldTokensFromAccounts` / `WithdrawWithheldTokensFromMint` auf; LaunchLab hat keine Instruktion dafür und hatte nie eine.
* **`transfer_fee_config_authority` Timing ist unverändert.** Es ist immer noch die Launch-`authority` PDA bis zur Graduation und wird immer noch in `MigrateToCpswap` zu `transfer_fee_extension_auth` verschoben. Der Gebührensatz kann während des Launches nicht geändert werden.
* **Setzen Sie `transfer_fee_extension_auth` vor dem Launch.** Wenn es bei der Mint-Erstellung `Pubkey::default()` ist, fällt die Withdraw-Autorität auf die `authority` PDA zurück — das alte Verhalten. Das Setzen des Feldes danach stellt die Autorität bei der Graduation immer noch wieder her, aber der einbehaltene Saldo bleibt bis dahin blockiert.
* **Rotieren Sie das Feld nicht während des Launches.** Die beiden Autoritäten werden zu zwei verschiedenen Zeitpunkten gelesen, daher hinterlässt ein Wert, der sich dazwischen ändert, sie auf verschiedenen Schlüsseln. Details in [Rotation teilt die beiden Autoritäten](#rotation-teilt-die-beiden-autoritäten).
* **`MigrateToCpswap` ist für Aufrufer unverändert.** Gleiche Konten, gleiche Argumente, gleiche Fehler. Der neue Guard ist intern; ohne ihn würde die Migration eines Mints der neuen Generation innerhalb von Token-2022 fehlschlagen, weil die PDA eine Autorität, die sie nicht hält, nicht mehr abgeben kann.
* **Bestehende Launches sind nicht betroffen.** Mints, die bereits on-chain sind, behalten die PDA auf beiden Autoritäten und erhalten beide immer noch bei der Graduation übergeben.
* **Keine IDL-Aktualisierung erforderlich.** Keine Layouts, Konten, Argumente oder Fehlercodes haben sich geändert.

## Wer hält was und wann

| Autorität                       | Halter bei Mint-Erstellung                                                                   | Halter nach `MigrateToCpswap`                                                                            |
| ------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| `withdraw_withheld_authority`   | `transfer_fee_extension_auth`; die `authority` PDA, wenn dieses Feld `Pubkey::default()` ist | Unverändert, wenn es bereits der Plattformschlüssel ist. Nur neu zugewiesen, wenn die PDA sie noch hält. |
| `transfer_fee_config_authority` | Die `authority` PDA, immer                                                                   | `transfer_fee_extension_auth`, wenn dieses Feld nicht standardmäßig ist                                  |

Beide Übergaben sitzen immer noch hinter der gleichen äußeren Bedingung, die sie schon immer hatten: Der Base-Mint muss `TransferFeeConfig` tragen **und** `transfer_fee_extension_auth` muss nicht standardmäßig sein. Eine Plattform, die das Feld nie setzt, behält beide Autoritäten auf der `authority` PDA für immer — der Gebührensatz kann nie geändert und der einbehaltene Saldo kann nie abgehoben werden.

## Rotation teilt die beiden Autoritäten

`transfer_fee_extension_auth` wird zweimal pro Launch gelesen, zu zwei Zeitpunkten, die Tage auseinander liegen können:

1. Bei `InitializeWithToken2022`, für `withdraw_withheld_authority`.
2. Bei `MigrateToCpswap`, für `transfer_fee_config_authority` — und für `withdraw_withheld_authority` nur, wenn die PDA sie noch hält.

Rotieren Sie das Feld dazwischen durch `UpdatePlatformConfig` und die beiden Autoritäten landen auf verschiedenen Schlüsseln: Die Withdraw-Seite behält den Schlüssel, der bei der Erstellung konfiguriert wurde, weil die PDA ihn nicht mehr hält und die Migration diese Übergabe überspringt, während die Fee-Config-Seite zum neuen Schlüssel geht. Kein Aufruf schlägt fehl; die Aufteilung ist stumm. Rotieren Sie zwischen Launches, oder gleichen Sie die Schlüssel danach direkt durch Token-2022 mit dem alten Schlüssel ab, der signiert.

## Warum der Guard erforderlich ist, nicht nur defensiv

Token-2022s `SetAuthority` erfordert, dass die *aktuelle* Autorität signiert. Nach der neuen Erstellungsregel ist die Launch-`authority` PDA nicht die Withdraw-Withheld-Autorität auf einem neuen Mint, daher würde der bedingungslose CPI, den das Programm früher machte, fehlschlagen — und weil er sich in `MigrateToCpswap` befindet, würde dieser Fehler die Graduation für jeden Token-2022-Launch mit einer Transfergebühr auf einer Plattform, die das Feld konfiguriert hat, blockiert haben. Die beiden Änderungen funktionieren nur als Paar.

## Was sich nicht geändert hat

* **Transfergebühren-Mathematik und Buchhaltung.** `MAX_TRANSFER_FEE_RATE` ist immer noch `500` (5%, Nenner `10_000`), die Gebühr wird immer noch auf die gleiche Weise in die Kurve eingepreist, und der einbehaltene Saldo sammelt sich immer noch auf den Token-Konten an, die Token-2022 darauf legt.
* **`MigrateToCpswap`s Schnittstelle.** Gleiche Kontoliste, gleiche `remaining_accounts` Indizes, gleiche zwei Token-Programme, keine Argumente.
* **`InitializeWithToken2022`s Schnittstelle.** Gleiche Konten, gleiche `TransferFeeExtensionParams`, gleiche `NoSupportExtension` Ablehnung für alles außer `MetadataPointer` und `TransferFeeConfig`.
* **Quote-seitige Token-2022-Behandlung.** Unverändert von [2026-08-24](/de/reference/changelog/2026-08-24-launchlab-token2022-quote-mint).
* **Fehlercodes.** `6000`–`6023` sind unverändert; dieses Release fügt keine hinzu.
* **Account-Layouts und die IDL.** Unverändert. `PlatformConfig.transfer_fee_extension_auth` behält seinen Offset und seinen Typ; nur wie das Programm ihn liest, hat sich geändert.

## Aktualisierte Seiten

* `products/launchlab/platform-config` — neuer Abschnitt „Token-2022 Transfergebühren-Autoritäten" mit Abdeckung beider Autoritäten, beider Übergabepunkte und der Rotationsfalle; Layout-Kommentar und Pitfalls-Liste korrigiert.
* `products/launchlab/instructions` — `MigrateToCpswap` erhält einen Block „Token-2022 Transfergebühren-Autorität Übergabe"; `Initialize` Nachbedingungen dokumentieren die neuen Mint-Erstellungs-Autoritäten.
* `products/launchlab/accounts` — Autorität-PDA-Rollenliste und der Base-Mint-Abschnitt vermerken, welche Transfergebühren-Autoritäten die PDA tatsächlich hält.
* `reference/token-2022-support` — LaunchLab Base-Mint-Eintrag gibt an, wer die Transfergebühren-Autoritäten hält und wann.
