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

# Tiền thuê và tiền thuê có thể hoàn lại

> Solana đang cắt giảm mức tối thiểu miễn tiền thuê 90% qua năm bước theo SIMD-0437. Các tài khoản được tài trợ trước mỗi bước giờ đây nắm giữ nhiều hơn những gì chúng cần — phần dư đó là gì, những chương trình nào trả lại nó, và cách tìm kiếm cũng như hoàn lại nó.

<Info>
  **Trang này được dịch tự động bằng AI. Phiên bản tiếng Anh là bản chính thức.**

  [Xem bản tiếng Anh →](/solana-fundamentals/rent-and-reclaimable-rent)
</Info>

<Info>
  Tiền thuê là một khoản ký quỹ có thể hoàn lại, không phải một khoản phí. SIMD-0437 giảm khoản ký quỹ mà mỗi tài khoản phải nắm giữ, qua năm bước được kiểm soát độc lập. Các tài khoản được tạo trước một bước sẽ giữ lại số dư mà chúng được tài trợ, vì vậy mỗi bước để lại chúng bị tài trợ quá mức. Các chương trình SPL Token và Token-2022 có thể trả lại sự khác biệt đó thông qua `WithdrawExcessLamports` mà không cần đóng tài khoản hoặc chạm vào số dư token của nó. Không có gì hết hạn — phần dư nằm trong các tài khoản của bạn cho đến khi bạn chọn di chuyển nó.
</Info>

Hãy đọc [Account model](/vi/solana-fundamentals/account-model) trước nếu bạn mới làm quen với cách các tài khoản Solana được tài trợ.

## Tiền thuê thực sự là gì

Mỗi tài khoản trên Solana nắm giữ một khoản ký quỹ SOL được định kích thước theo không gian mà nó chiếm dụng. Nó không bị chi tiêu — nó được trả lại đầy đủ khi tài khoản được đóng. Công thức là:

```
minimum_balance(data_len) = (ACCOUNT_STORAGE_OVERHEAD + data_len) × lamports_per_byte
```

`ACCOUNT_STORAGE_OVERHEAD` là 128 byte cố định mà mỗi tài khoản phải trả bất kể tải trọng của nó. `lamports_per_byte` là hằng số toàn mạng mà SIMD-0437 thay đổi.

Một tài khoản token SPL tiêu chuẩn 165 byte do đó luôn có chi phí `(128 + 165) × 6,960 = 2,039,280` lamports — khoảng \~0.00203928 SOL mà bạn thấy bị khấu trừ bất cứ khi nào ví mở một tài khoản token liên kết.

## SIMD-0437 thay đổi gì

SIMD-0437 cắt `lamports_per_byte` từ 6,960 xuống 696 — giảm 90% — được triển khai qua năm cổng tính năng riêng biệt để các trình xác thực có thể hấp thụ hiệu ứng tăng trưởng trạng thái từng bước một.

| Bước        | `lamports_per_byte` | Cắt giảm từ ban đầu | Tiền thuê cho tài khoản token 165 byte |
| ----------- | ------------------- | ------------------- | -------------------------------------- |
| — (ban đầu) | 6,960               | —                   | 2,039,280 lamports                     |
| 1           | 6,333               | 9%                  | 1,855,569 lamports                     |
| 2           | 5,080               | 27%                 | 1,488,440 lamports                     |
| 3           | 2,575               | 63%                 | 754,475 lamports                       |
| 4           | 1,322               | 81%                 | 387,346 lamports                       |
| 5           | 696                 | 90%                 | 203,928 lamports                       |

Bước 1 được kích hoạt trên mainnet vào ngày 3 tháng 9 năm 2026. Bước 2 đạt testnet cùng ngày và dự kiến sẽ có trên mainnet vào giữa tháng 9 năm 2026; các bước 3–5 được giữ cho Agave 4.4, dự kiến vào khoảng tháng 11 năm 2026. Hãy coi lịch trình có thể thay đổi — Quỹ đã nói rằng nó sẽ tạm dừng việc triển khai nếu tăng trưởng trạng thái hoạt động không tốt — và đọc giá trị trực tiếp từ cụm thay vì mã hóa cứng nó.

<Note>
  SIMD-0437 phụ thuộc vào SIMD-0194, cái mà loại bỏ ngưỡng miễn tiền thuê "để tránh toán học dấu phẩy động không cần thiết khi đặt các tham số tiền thuê khi kích hoạt tính năng". Trong thực tế, sysvar `Rent` hiện mang `lamports_per_byte_year = 6,333` với `exemption_threshold = 1.0`, thay vì phân chia `3,480 × 2` cũ tạo ra 6,960. Đừng nhân hai trường đó với nhau — gọi `getMinimumBalanceForRentExemption` và để cụm trả lời.
</Note>

## Tại sao các tài khoản hiện tại nắm giữ quá nhiều

Giảm hằng số thay đổi những gì một tài khoản *cần*. Nó không thay đổi những gì một tài khoản *có*. Một tài khoản được tài trợ ở 6,960 lamports trên byte giữ lại số dư đó sau khi bước 1 được kích hoạt, vì vậy nó bị tài trợ quá mức bởi:

```
excess = (128 + data_len) × (old_rate − new_rate)
```

Đối với tài khoản token SPL 165 byte sau bước 1, đó là `293 × (6,960 − 6,333) = 183,711` lamports, hoặc \~0.000184 SOL trên mỗi tài khoản. Một tài khoản Token-2022 mang các tiện ích mở rộng lớn hơn, vì vậy nó nắm giữ tương ứng nhiều hơn — một tài khoản 182 byte bị tài trợ quá mức bởi `310 × 627 = 194,370` lamports.

Riêng lẻ đó là bụi. Một ví đã tương tác với một vài trăm token qua các năm đang nắm giữ một bội số có ý nghĩa của nó, và theo bước 5 mỗi tài khoản 165 byte có 1,835,352 lamports (\~0.00184 SOL) nằm trên mức tối thiểu của nó.

## Những tài khoản nào có thể trả lại nó

Lamports dư thừa trong một tài khoản do chương trình sở hữu chỉ có thể được di chuyển bởi chương trình đó. Liệu bạn có thể hoàn lại tiền thuê mà không cần đóng tài khoản hay không do đó hoàn toàn phụ thuộc vào chương trình nào sở hữu nó.

<CardGroup cols={2}>
  <Card title="SPL Token và Token-2022" icon="circle-check">
    Cả hai đều hiển thị `WithdrawExcessLamports`. Tài khoản vẫn mở, giữ lại số dư token của nó, và chỉ đơn giản là giảm xuống mức tối thiểu hiện tại.
  </Card>

  <Card title="Mọi thứ khác" icon="circle-xmark">
    Không có hướng dẫn tương đương. Tiền thuê chỉ được phát hành khi tài khoản được đóng — một hoạt động phá hủy với các điều kiện tiên quyết riêng của nó, không phải một lần quét tiền thuê.
  </Card>
</CardGroup>

Cụ thể, đối với các loại tài khoản mà người dùng Raydium nắm giữ:

| Tài khoản                          | Chủ sở hữu                                    | Có thể trả lại phần dư tại chỗ?                                   |
| ---------------------------------- | --------------------------------------------- | ----------------------------------------------------------------- |
| Tài khoản token SPL                | `TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA` | Có — `WithdrawExcessLamports`                                     |
| Tài khoản token Token-2022         | `TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb` | Có — `WithdrawExcessLamports`                                     |
| Tài khoản token SOL được bọc (gốc) | chương trình token bất kỳ                     | Không — xem bên dưới                                              |
| Vị trí CLMM                        | Raydium CLMM                                  | Không — tiền thuê trả lại khi vị trí được đóng                    |
| Đơn hàng mở OpenBook v1            | OpenBook v1                                   | Không — chỉ `CloseOpenOrders`                                     |
| Đơn hàng mở OpenBook v2            | OpenBook v2                                   | Không — chỉ `close_open_orders_account`                           |
| Tài khoản Stake                    | Chương trình Stake                            | Không — SIMD-0490 ghim `rent_exempt_reserve` ở 2,282,880 lamports |

Các tài khoản SOL được bọc là một ngoại lệ của chương trình token: số dư lamport của chúng *là* số dư token của chúng, vì vậy cả hai chương trình từ chối chúng với `TokenError::NativeNotSupported`. **Cả hai** chương trình thay vào đó hiển thị `UnwrapLamports` (discriminant 45) cho trường hợp đó — nó nằm trong `spl-token-interface` cùng với `WithdrawExcessLamports`, vì vậy chương trình kế thừa cũng có nó, không chỉ Token-2022 — và `@solana/spl-token` vận chuyển `createUnwrapLamportsInstruction` cho nó kể từ 0.4.15. Bỏ qua các tài khoản gốc trong một lần quét tiền thuê đơn giản và xử lý chúng một cách cố ý; mẫu để làm điều đó một cách an toàn là mẫu mà các chương trình Raydium của riêng bạn sử dụng, [bên dưới](#what-the-raydium-programs-sweep-on-their-own-side).

## Hướng dẫn `WithdrawExcessLamports`

Discriminant **38** trong enum hướng dẫn của cả hai chương trình token. Từ `spl-token-interface`:

```rust theme={null}
/// This instruction is to be used to rescue SOL sent to any TokenProgram
/// owned account by sending them to any other account, leaving behind only
/// lamports for rent exemption.
///
/// 0. `[writable]` Source Account owned by the token program
/// 1. `[writable]` Destination account
/// 2. `[signer]` Authority
/// 3. `..3+M` `[signer]` M signer accounts
WithdrawExcessLamports,
```

Ba thuộc tính làm cho nó an toàn để kích hoạt ở mỗi tài khoản trong một ví:

* **Nó không lấy số tiền.** Chương trình tính toán `source.lamports − rent.minimum_balance(source.data_len())` chính nó, vì vậy nó không bao giờ có thể lấy một tài khoản dưới mức tối thiểu hiện tại, và nó vẫn chính xác khi các bước sau được kích hoạt.
* **Nó không đóng bất cứ điều gì.** Tài khoản giữ lại dữ liệu, chủ sở hữu và số dư token của nó.
* **Nó là idempotent.** Chạy nó chống lại một tài khoản đã ở mức tối thiểu di chuyển không lamports và thành công.

Một tài khoản token bị đóng băng vẫn đủ điều kiện: đóng băng hạn chế chuyển động token, không phải lamports.

### Xây dựng hướng dẫn

`@solana/spl-token` không xuất một trình xây dựng cho nó. Kể từ `0.4.15`, mục nhập enum vẫn bị bình luận:

```ts theme={null}
// packages/spl-token/src/instructions/types.ts
export enum TokenInstruction {
    // ...
    TransferHookExtension = 36,
    // ConfidentialTransferFeeExtension = 37,
    // WithdrawalExcessLamports = 38,   // ← not exposed
    MetadataPointerExtension = 39,
    // ...
}
```

Mã hóa nó trực tiếp. Tải trọng là một byte discriminant duy nhất:

```ts theme={null}
import { PublicKey, TransactionInstruction } from "@solana/web3.js";

export function createWithdrawExcessLamportsInstruction(params: {
  source: PublicKey;        // the token account holding excess lamports
  destination: PublicKey;   // where the excess goes — usually the wallet itself
  authority: PublicKey;     // owner of `source`, or the multisig account
  multiSigners?: PublicKey[];
  programId: PublicKey;     // TOKEN_PROGRAM_ID or TOKEN_2022_PROGRAM_ID
}): TransactionInstruction {
  const { source, destination, authority, multiSigners = [], programId } = params;
  return new TransactionInstruction({
    programId,
    keys: [
      { pubkey: source, isSigner: false, isWritable: true },
      { pubkey: destination, isSigner: false, isWritable: true },
      { pubkey: authority, isSigner: !multiSigners.length, isWritable: false },
      ...multiSigners.map((pubkey) => ({ pubkey, isSigner: true, isWritable: false })),
    ],
    data: Buffer.from([38]),
  });
}
```

Chuyển `programId` của mỗi tài khoản. Các hướng dẫn SPL Token và Token-2022 có thể chia sẻ một giao dịch, nhưng mỗi hướng dẫn phải được gửi đến chương trình sở hữu tài khoản nguồn của nó.

Được đo lường trên mainnet, hướng dẫn chi phí 270 đơn vị tính toán trên chương trình SPL Token và 1,414 trên Token-2022 — không đáng kể bằng cách nào. Ràng buộc thực sự là kích thước giao dịch, không phải tính toán.

## Tìm kiếm các tài khoản có thể hoàn lại

Đừng lấy phần dư từ một tỷ lệ được mã hóa cứng. Hỏi cụm những gì mỗi tài khoản cần ngay bây giờ, vì vậy cùng một mã vẫn hoạt động qua tất cả năm bước:

```ts theme={null}
const [tokenResp, token2022Resp] = await Promise.all([
  connection.getTokenAccountsByOwner(owner, { programId: TOKEN_PROGRAM_ID }),
  connection.getTokenAccountsByOwner(owner, { programId: TOKEN_2022_PROGRAM_ID }),
]);
const raw = [...tokenResp.value, ...token2022Resp.value];

// one lookup per distinct account size — a wallet normally has two or three
const spaces = Array.from(new Set(raw.map(({ account }) => account.data.length)));
const minimums = new Map(
  await Promise.all(
    spaces.map(async (space) => [space, await connection.getMinimumBalanceForRentExemption(space)] as const),
  ),
);

const reclaimable = raw.filter(({ account }) => {
  // wrapped SOL carries its token balance as lamports — both programs refuse it.
  // The `is_native` COption tag sits at offset 109 in the token account layout,
  // which Token-2022 preserves before its extension data.
  if (account.data.readUInt32LE(109) === 1) return false;
  return account.lamports > minimums.get(account.data.length)!;
});
```

`getMinimumBalanceForRentExemption(0)` là một kênh phụ hữu ích: nó trả về chính xác `128 × lamports_per_byte`, vì vậy chia cho 128 cho bạn biết bước triển khai nào cụm đang ở mà không cần phân tích sysvar `Rent`.

## Ghép lô: bao nhiêu vừa trong một giao dịch

Mỗi hướng dẫn `WithdrawExcessLamports` đóng góp một khóa tài khoản có thể ghi duy nhất — 32 byte trong thông báo được biên dịch — cộng với khoảng 7 byte mã hóa hướng dẫn. Đích đến, quyền hạn và người trả phí đều là cùng một ví, vì vậy chúng chi phí một khóa giữa chúng.

Chống lại giới hạn giao dịch 1,232 byte, khoảng 26 hướng dẫn vừa một khi các hướng dẫn ngân sách tính toán và blockhash được tính. **Hai mươi trên mỗi giao dịch** là số làm việc an toàn, và đó là những gì triển khai của Raydium sử dụng. Một ví có 116 tài khoản có thể hoàn lại do đó quét trong sáu giao dịch, ở mức phí cơ sở 5,000 lamports mỗi giao dịch.

Lưu ý kinh tế: phí được tính trên mỗi giao dịch, không phải trên mỗi tài khoản. Hoàn lại ít tài khoản hơn không chi phí ít hơn, đó là lý do tại sao một lần quét một phần hiếm khi đáng giá các chuyến tròn bổ sung.

## Hoàn lại thông qua Raydium

Trang [raydium.io/reclaim-rent](https://raydium.io/reclaim-rent) quét các tài khoản SPL Token và Token-2022 của ví được kết nối, hiển thị tổng số được chia theo chương trình, và quét mọi thứ trong các giao dịch được ghép lô. Quét là chỉ đọc — không có chữ ký cho đến khi bạn nhấn **Reclaim all rent**.

Trang này cố ý chỉ bao gồm các tài khoản token. Các loại tài khoản chỉ có thể phát hành tiền thuê bằng cách đóng được loại trừ thay vì được liệt kê là không có sẵn, vì đóng một tài khoản là một hành động khác, phá hủy.

## Hoàn lại từ bản demo SDK

<Info>
  **Biểu ngữ phiên bản.** Các bản demo này nhắm mục tiêu `@raydium-io/raydium-sdk-v2@0.2.64-alpha` chống lại Solana mainnet-beta, được xác minh 2026-09; kho `raydium-sdk-V2-demo` hiện tại cài đặt `0.2.62-alpha`, và hai cái này có thể hoán đổi ở đây. `WithdrawExcessLamports` được mã hóa bằng tay và độc lập với phiên bản SDK — SDK chỉ được sử dụng để xây dựng và ghép lô giao dịch.
</Info>

Hai tập lệnh trong [`raydium-sdk-V2-demo/src/rent`](https://github.com/raydium-io/raydium-sdk-V2-demo/tree/master/src/rent):

```bash theme={null}
# read-only: what can this wallet reclaim, and what would it be worth after all five steps
yarn dev src/rent/checkReclaimableRent.ts
yarn dev src/rent/checkReclaimableRent.ts <any wallet address>

# build, simulate (DRY_RUN = true by default), then send the batched sweep
yarn dev src/rent/reclaimRent.ts
```

`reclaimRent.ts` ghép lô ở 20 tài khoản trên mỗi giao dịch và ký tất cả các lô trong một lần:

```ts theme={null}
const batches = chunk(report.accounts, ACCOUNTS_PER_TX);

const builtTxs = await Promise.all(
  batches.map(async (batch) => {
    const builder = new TxBuilder({
      connection,
      feePayer: owner.publicKey,
      cluster: raydium.cluster,
      owner: raydium.owner,
    });
    builder.addInstruction({
      instructions: batch.map((account) =>
        createWithdrawExcessLamportsInstruction({
          source: account.pubkey,
          destination: owner.publicKey,
          authority: owner.publicKey,
          programId: account.programId,
        }),
      ),
    });
    return builder.versionBuild({ txVersion });
  }),
);

// versionMultiBuild puts the calling builder's transaction first and appends
// extraPreBuildData after it, so batch 1 drives and batches 2..n follow in order
const [firstTx, ...restTxs] = builtTxs;
const { execute } = await firstTx.builder.versionMultiBuild({ txVersion, extraPreBuildData: restTxs });
const { txIds } = await execute({ sequentially: true });
```

Mô phỏng trước khi bạn gửi. `simulateTransaction` với `accounts.addresses` trả về số dư lamport sau khi thực thi, đó là cách rẻ nhất để xác nhận số học khớp với những gì cụm sẽ thực sự làm.

## Những gì các chương trình Raydium quét ở phía của chúng

Ví của bạn không phải là nơi duy nhất mà việc giảm giải phóng lamports. Mỗi nhóm nắm giữ tiền thuê quá — kho, mint LP, và các tài khoản trạng thái do chương trình sở hữu mà tất cả đều được tài trợ ở tỷ lệ cũ. Tiền thuê đó thuộc về giao thức, không phải LP: nó được trả bởi bất cứ ai tạo tài khoản, nó không phải là một phần của bất kỳ dự trữ nhóm nào, và nó không bao giờ nhập đường cong.

Ba chương trình đã có một hướng dẫn quản trị viên vào ngày 2026-09-09 để trả lại nó:

| Chương trình | Hướng dẫn                         | Người ký                                                         |
| ------------ | --------------------------------- | ---------------------------------------------------------------- |
| AMM v4       | `WithdrawExcessLamports` (tag 18) | Một ví thu thập lamports chuyên dụng duy nhất                    |
| CPMM         | `CollectExcessLamports`           | Quản trị viên chương trình hoặc ví thu thập lamports chuyên dụng |
| LaunchLab    | `CollectExcessLamports`           | Quản trị viên chương trình hoặc ví thu thập lamports chuyên dụng |

Địa chỉ nằm trong [`reference/program-addresses`](/vi/reference/program-addresses#excess-lamports-collection-wallets). CLMM và Stable AMM không phải là một phần của bản phát hành đó.

**Không có gì ở đây ảnh hưởng đến một LP hoặc một nhà giao dịch.** Các hướng dẫn này di chuyển lamports và chỉ lamports. Số dư token, dữ liệu tài khoản, chủ sở hữu, trạng thái nhóm, cung cấp LP, bộ đếm phí và đường cong đều không bị chạm, và không có cái nào trong số chúng có thể đóng một tài khoản. Báo giá của một nhóm cho một lần hoán đổi giống hệt nhau trước và sau một lần quét. Không có hành động phía người dùng, không có lựa chọn tham gia, và không có thời hạn.

### Ba hình dạng tài khoản mà mỗi chương trình xử lý

Cả ba đều tuân theo cùng một điều phối, trên chủ sở hữu tài khoản nguồn:

* **Một tài khoản token hoặc mint do PDA quyền hạn chương trình sở hữu** — chương trình CPI chương trình token `WithdrawExcessLamports` (discriminant 38), ký như PDA đó.
* **Một kho SOL được bọc** — `WithdrawExcessLamports` từ chối các tài khoản gốc, vì vậy chương trình `SyncNative` trước tiên (cái mà gấp phần dư được quyên góp vào `amount` được bọc), đo lường chính xác bao nhiêu số tiền được bọc tăng lên, `UnwrapLamports` cho delta đó, và sau đó khẳng định số dư được bọc trở lại giá trị trước khi đồng bộ hóa của nó. Nếu kiểm tra đó không thành công, toàn bộ hướng dẫn sẽ hoàn nguyên với `LamportsCalculateError`. Đây là lý do tại sao kho vault phía SOL của một nhóm giữ lại tính thanh khoản đầy đủ thông qua một lần quét.
* **Một tài khoản trạng thái do chương trình sở hữu** — `AmmInfo`, `PoolState`, `AmmConfig`, `ObservationState`, một `PlatformConfig`, v.v. Một chương trình có thể ghi nợ các tài khoản của riêng nó trực tiếp, vì vậy nó di chuyển số dư xuống `rent.minimum_balance(data_len)` mà không có CPI nào cả.

Các tài khoản do bất cứ điều gì khác sở hữu được bỏ qua im lặng, vì vậy chuyển một tài khoản không liên quan là vô hại thay vì chết.

Chuỗi SOL được bọc đáng để sao chép nếu bạn nắm giữ các tài khoản gốc của riêng bạn: đó là cách duy nhất để lấy phần dư ra khỏi một tài khoản wSOL mà không thay đổi những gì tài khoản báo cáo là số dư token của nó.

<Note>
  **Những đường dẫn này phụ thuộc vào chương trình token được triển khai, không phải phiên bản crate.** Cả ba chương trình đều mã hóa tay các hướng dẫn token — một byte `38` duy nhất cho `WithdrawExcessLamports`, `45` cộng với `COption<u64>` cho `UnwrapLamports` — và gửi chúng đến chương trình token bất kỳ sở hữu tài khoản nguồn. Cả hai hướng dẫn đều tồn tại trong các chương trình SPL Token và Token-2022 hiện tại trên mainnet. Một trình xác thực cục bộ hoặc bộ kiểm tra chạy bản dựng SPL Token được gói cũ hơn không triển khai chúng, và một lần quét chống lại nó không thành công trên một discriminator không xác định thay vì bất cứ điều gì trong chương trình Raydium. Kiểm tra các đường dẫn này chống lại một chương trình token được sao chép từ mainnet.
</Note>

### Những gì vẫn không thể được hoàn lại tại chỗ

Tiền thuê của một vị trí CLMM không thay đổi bởi tất cả điều này — nó trở lại khi vị trí được đóng, như bảng trên nói. Tương tự đối với mint cơ sở LaunchLab: hướng dẫn khởi tạo thu hồi `MintTokens` trong cùng một cuộc gọi mà nó mint cung cấp, vì vậy không có khóa nào có thể bao giờ ký `WithdrawExcessLamports` cho mint đó và tiền thuê của nó bị mắc kẹt bằng thiết kế.

## Bạn nên hoàn lại ngay bây giờ hay chờ đợi?

Cả hai đều tốt, và sự khác biệt là nhỏ bằng cách nào:

* **Phần dư không đi đâu.** Nó nằm trong các tài khoản của bạn. Không có gì hết hạn, không có gì được quét, không có thời hạn nào áp dụng.
* **Chờ đợi kép.** Mỗi bước phát hành thêm từ các tài khoản tương tự, và một lần quét sau bước 5 chi phí tương tự trong phí như một lần quét hôm nay.
* **Hoàn lại ngay bây giờ không từ bỏ các bước sau.** Một tài khoản bạn quét hôm nay chỉ ở mức tối thiểu hiện tại; bước tiếp theo làm cho nó bị tài trợ quá mức lại và bạn có thể quét nó lại.

Chi phí thực sự duy nhất của việc hoàn lại sớm là phí cơ sở, và chi phí thực sự duy nhất của việc chờ đợi là lamports vẫn bất động lâu hơn.

## Đọc thêm

<CardGroup cols={2}>
  <Card title="SIMD-0437" icon="file-code" href="https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0437-incremental-rent-reduction.md">
    Đề xuất chính nó — năm cổng tính năng và lý do cho việc bước giảm.
  </Card>

  <Card title="Tiền thuê giảm" icon="book" href="https://solana.com/upgrades/reduced-rent">
    Trang triển khai của Solana: bước hiện tại, lịch trình, và những gì thay đổi cho các tài khoản mới.
  </Card>

  <Card title="Giảm tiền thuê: một phân tích được hỗ trợ bởi dữ liệu" icon="chart-line" href="https://solana.com/news/rent-reduction-deep-dive">
    Kinh tế, và rủi ro tăng trưởng trạng thái mà triển khai từng bước được thiết kế để quản lý.
  </Card>

  <Card title="Account model" icon="database" href="/vi/solana-fundamentals/account-model">
    Cách các tài khoản Solana được tài trợ, sở hữu, và đóng — nền tảng cho mọi thứ ở trên.
  </Card>
</CardGroup>
