Parallel Universe
  • Learn
    • Introduction to PUT
    • Getting started with PUT
  • Architecture
    • What is a PUT Cluster?
    • Clusters
      • PUT Clusters
      • RPC Endpoints
      • Benchmark a Cluster
      • Performance Metrics
    • Consensus
      • Synchronization
      • Leader Rotation
      • Fork Generation
      • Managing Forks
      • Turbine Block Propagation
      • Commitment Status
      • Secure Vote Signing
      • Stake Delegation and Rewards
    • Validators
      • Overview
      • TPU
      • TVU
      • Blockstore
      • Gossip Service
      • The Runtime
  • CLI
    • Command-line Guide
    • Install the PUT Tool Suite
    • Command-line Wallets
      • Command Line Wallets
      • Paper Wallet
      • File System Wallet
      • Support / Troubleshooting
    • Using PUT CLI
    • Connecting to a Cluster
    • Send and Receive Tokens
    • Staking
    • Deploy a Program
    • Offline Transaction Signing
    • Durable Transaction Nonces
    • CLI Usage Reference
  • Developers
    • Get Started
      • Hello World
      • Local development
      • Rust program
    • Core Concepts
      • Accounts
      • Transactions
        • Overview
        • Versioned Transactions
        • Address Lookup Tables
      • Programs
      • Rent
      • Calling between programs
      • Runtime
    • Clients
      • JSON RPC API -1
      • JSON RPC API -2
      • JSON RPC API -3
      • Web3 JavaScript API
      • Web3 API Reference
      • Rust API
    • Writing Programs
      • Overview
      • Developing with Rust
      • Deploying
      • Debugging
      • Program Examples
      • FAQ
    • Native Programs
      • Overview
      • Sysvar Cluster Data
    • Local Development
      • PUT Test Validator
    • Backward Compatibility Policy
  • Validators
    • Running a Validator
    • Getting Started
      • Validator Requirements
    • Voting Setup
      • Starting a Validator
      • Vote Account Management
      • Staking
      • Monitoring a Validator
      • Publishing Validator Info
      • Failover Setup
      • Troubleshooting
    • Geyser
      • Geyser Plugins
  • Staking
    • Staking on PUT
    • Stake Account Structure
  • Integrations
    • Add PUT to Your Exchange
    • Retrying Transactions
  • Library
    • Introduction
    • Token Program
    • Associated Token Account Program
    • Memo Program
    • Name Service
    • Feature Proposal Program
    • NFT Program
      • Overview
      • Interface
      • Usage Guidelines
        • Create a new NFT-Mint
        • Cast NFT
        • Transfer an NFT
        • Change account status
        • Permission settings
        • Query Interface
        • Continuous casting
        • Change the Mint attribute
      • Operation Overview
        • Create a new NFT-Mint
        • Transfer NFT
        • Destroy
        • Freeze NFT accounts
        • Update
    • PUT multi-sign program
      • Overview
      • Interface
      • Usage Guidelines
        • Create a multi-signature account
        • Create a proposal account
        • Vote proposal
        • Verify Proposal
        • Add-singer
        • Remove-signer
      • Operation Overview
        • Create a multi-signature account
        • Create a proposal account
        • Vote
        • Verify
        • Add-singer
        • Remove-signer
  • PUT Privacy Policy
Powered by GitBook
On this page
  • What is rent?
  • Rent rate
  • Rent exempt
  • Garbage collection
  • Learn more about Rent
  1. Developers
  2. Core Concepts

Rent

What is rent?

The fee every PUT Account to store data on the blockchain is called "rent".

This time and space based fee is required to keep an account, and its therefore its data, alive on the blockchain since clusters must actively maintain this data.

All PUT Accounts (and therefore Programs) are required to maintain a high enough LAMPORT balance to become rent exempt and remain on the PUT blockchain.

When an Account no longer has enough LAMPORTS to pay its rent, it will be removed from the network in a process known as Garbage Collection.

Note:

Rent is different from transactions fees.

Rent is paid (or held in an Account) to keep data stored on the PUT blockchain.

Where as transaction fees are paid to process instructions on the network.

Rent rate

The PUT rent rate is set on a network wide basis, primarily based on the set LAMPORTS per byte per year.

Currently, the rent rate is a static amount and stored in the the Rent sysvar.

Rent exempt

Accounts that maintain a minimum LAMPORT balance greater than 2 years worth of rent payments are considered "rent exempt" and will not incur a rent collection.

At the time of writing this, new Accounts and Programs are required to be initialized with enough LAMPORTS to become rent-exempt.

The RPC endpoints have the ability to calculate this estimated rent exempt balance and is recommended to be used.

Every time an account's balance is reduced, a check is performed to see if the account is still rent exempt.

Transactions that would cause an account's balance to drop below the rent exempt threshold will fail.

Garbage collection

Accounts that do not maintain their rent exempt status, or have a balance high enough to pay rent, are removed from the network in a process known as garbage collection.

This process is done to help reduce the network wide storage of no longer used/maintained data.

You can learn more about garbage collection here in this implemented proposal.

Learn more about Rent

You can learn more about PUT Rent with the following articles and documentation:

  • Implemented Proposals - Rent

  • Implemented Proposals - Account Storage

PreviousProgramsNextCalling between programs

Last updated 2 years ago