Please note that the Airdrop method is subject to limits set by Solana. For more tools for getting Devnet SOL, check out our Guide on : A Complete Guide to Airdropping Test SOL on Solana
Parameters
- addressstring
The address of the account to receive lamports, as a base-58 encoded string
- lamportsinteger
The lamports to airdrop, as a u64
- objectobject
The configuration object with the following fields:
- commitmentstring
The level of commitment required for the query. The options include:
- finalizedstring
The node will query the most recent block the cluster has recognized as finalized
- confirmedstring
The node will query the most recent block that has been voted on by the supermajority of the cluster
- processedstring
The node will query its most recent block. Note that the block may not be complete
Returns
- result
The transaction signature of the airdrop, as a base-58 encoded string
Request
1curl https://docs-demo.solana-mainnet.quiknode.pro/ \2-X POST \3-H "Content-Type: application/json" \4--data '{"jsonrpc":"2.0", "id":1, "method":"requestAirdrop", "params": ["YOUR_WALLET_ADDRESS", 1000000000]}'
1curl https://docs-demo.solana-mainnet.quiknode.pro/ \2-X POST \3-H "Content-Type: application/json" \4--data '{"jsonrpc":"2.0", "id":1, "method":"requestAirdrop", "params": ["YOUR_WALLET_ADDRESS", 1000000000]}'
1require "uri"2require "json"3require "net/http"45url = URI("https://docs-demo.solana-mainnet.quiknode.pro/")67https = Net::HTTP.new(url.host, url.port)8https.use_ssl = true910request = Net::HTTP::Post.new(url)11request["Content-Type"] = "application/json"12request.body = JSON.dump({13"jsonrpc": "2.0",14"id": 1,15"method": "requestAirdrop",16"params": [17"YOUR_WALLET_ADDRESS",18100000000019]20})2122response = https.request(request)23puts response.read_body24
1require "uri"2require "json"3require "net/http"45url = URI("https://docs-demo.solana-mainnet.quiknode.pro/")67https = Net::HTTP.new(url.host, url.port)8https.use_ssl = true910request = Net::HTTP::Post.new(url)11request["Content-Type"] = "application/json"12request.body = JSON.dump({13"jsonrpc": "2.0",14"id": 1,15"method": "requestAirdrop",16"params": [17"YOUR_WALLET_ADDRESS",18100000000019]20})2122response = https.request(request)23puts response.read_body24
1const web3 = require("@solana/web3.js");2(async () => {3const url = "https://docs-demo.solana-mainnet.quiknode.pro/";4const solana = new web3.Connection(url);5console.log(6await solana.requestAirdrop(7new web3.PublicKey("YOUR_WALLET_ADDRESS"),810000000009)10);11})();12
1const web3 = require("@solana/web3.js");2(async () => {3const url = "https://docs-demo.solana-mainnet.quiknode.pro/";4const solana = new web3.Connection(url);5console.log(6await solana.requestAirdrop(7new web3.PublicKey("YOUR_WALLET_ADDRESS"),810000000009)10);11})();12
1import { createSolanaRpc, address, lamports } from "@solana/kit";23(async () => {4const solanaRpc = createSolanaRpc("https://docs-demo.solana-mainnet.quiknode.pro/");5const walletAddress = address("YOUR_WALLET_ADDRESS");6const airdropAmount = lamports(BigInt(1_000_000_000));78try {9const airdropSignature = await solanaRpc.requestAirdrop(walletAddress, airdropAmount).send();10console.log(airdropSignature);11} catch (error) {12console.error("Error requesting airdrop:", error);13}14})();15
1import { createSolanaRpc, address, lamports } from "@solana/kit";23(async () => {4const solanaRpc = createSolanaRpc("https://docs-demo.solana-mainnet.quiknode.pro/");5const walletAddress = address("YOUR_WALLET_ADDRESS");6const airdropAmount = lamports(BigInt(1_000_000_000));78try {9const airdropSignature = await solanaRpc.requestAirdrop(walletAddress, airdropAmount).send();10console.log(airdropSignature);11} catch (error) {12console.error("Error requesting airdrop:", error);13}14})();15
1from solana.rpc.api import Client2from solana.publickey import PublicKey3print(solana_client.request_airdrop(PublicKey("YOUR_WALLET_ADDRESS"), 1000000000))
1from solana.rpc.api import Client2from solana.publickey import PublicKey3print(solana_client.request_airdrop(PublicKey("YOUR_WALLET_ADDRESS"), 1000000000))
1use reqwest::header;2use reqwest::Client;3use std::error::Error;45#[tokio::main]6async fn main() -> Result<(), Box<dyn Error>> {7let mut headers = header::HeaderMap::new();8headers.insert("Content-Type", "application/json".parse().unwrap());910let client = Client::new();11let json_data = r#"12{13"jsonrpc": "2.0",14"id": 1,15"method": "requestAirdrop",16"params": [17"YOUR_WALLET_ADDRESS",18100000000019]20}21"#;22let response = client23.post("https://docs-demo.solana-mainnet.quiknode.pro/")24.headers(headers)25.body(json_data)26.send()27.await?;2829let body = response.text().await?;30println!("{}", body);3132Ok(())33}
1use reqwest::header;2use reqwest::Client;3use std::error::Error;45#[tokio::main]6async fn main() -> Result<(), Box<dyn Error>> {7let mut headers = header::HeaderMap::new();8headers.insert("Content-Type", "application/json".parse().unwrap());910let client = Client::new();11let json_data = r#"12{13"jsonrpc": "2.0",14"id": 1,15"method": "requestAirdrop",16"params": [17"YOUR_WALLET_ADDRESS",18100000000019]20}21"#;22let response = client23.post("https://docs-demo.solana-mainnet.quiknode.pro/")24.headers(headers)25.body(json_data)26.send()27.await?;2829let body = response.text().await?;30println!("{}", body);3132Ok(())33}
1import { QuicknodeSdk } from '@quicknode/sdk'23const qn = new QuicknodeSdk({})45const result = await qn.rpc.call(6'requestAirdrop',7[8"YOUR_WALLET_ADDRESS",9100000000010],11undefined,12'https://docs-demo.solana-mainnet.quiknode.pro/'13)1415console.log(result)
1import { QuicknodeSdk } from '@quicknode/sdk'23const qn = new QuicknodeSdk({})45const result = await qn.rpc.call(6'requestAirdrop',7[8"YOUR_WALLET_ADDRESS",9100000000010],11undefined,12'https://docs-demo.solana-mainnet.quiknode.pro/'13)1415console.log(result)
1import asyncio2from quicknode_sdk import QuicknodeSdk, SdkFullConfig34async def main():5qn = QuicknodeSdk(SdkFullConfig(api_key=None))6result = await qn.rpc.call(7"requestAirdrop",8[9"YOUR_WALLET_ADDRESS",10100000000011],12endpoint_url="https://docs-demo.solana-mainnet.quiknode.pro/",13)14print(result)1516asyncio.run(main())
1import asyncio2from quicknode_sdk import QuicknodeSdk, SdkFullConfig34async def main():5qn = QuicknodeSdk(SdkFullConfig(api_key=None))6result = await qn.rpc.call(7"requestAirdrop",8[9"YOUR_WALLET_ADDRESS",10100000000011],12endpoint_url="https://docs-demo.solana-mainnet.quiknode.pro/",13)14print(result)1516asyncio.run(main())
1require "quicknode_sdk"23qn = QuicknodeSdk::SDK.from_config(api_key: nil)45result = qn.rpc.call(6method: "requestAirdrop",7params: [8"YOUR_WALLET_ADDRESS",9100000000010],11endpoint_url: "https://docs-demo.solana-mainnet.quiknode.pro/"12)1314puts result
1require "quicknode_sdk"23qn = QuicknodeSdk::SDK.from_config(api_key: nil)45result = qn.rpc.call(6method: "requestAirdrop",7params: [8"YOUR_WALLET_ADDRESS",9100000000010],11endpoint_url: "https://docs-demo.solana-mainnet.quiknode.pro/"12)1314puts result
1use quicknode_sdk::{QuicknodeSdk, SdkFullConfig};23#[tokio::main]4async fn main() -> Result<(), Box<dyn std::error::Error>> {5let qn = QuicknodeSdk::new(&SdkFullConfig::keyless())?;6let result = qn7.rpc8.call(9"requestAirdrop",10Some(serde_json::json!([11"YOUR_WALLET_ADDRESS",12100000000013])),14None,15Some("https://docs-demo.solana-mainnet.quiknode.pro/".into()),16)17.await?;1819println!("{result}");20Ok(())21}
1use quicknode_sdk::{QuicknodeSdk, SdkFullConfig};23#[tokio::main]4async fn main() -> Result<(), Box<dyn std::error::Error>> {5let qn = QuicknodeSdk::new(&SdkFullConfig::keyless())?;6let result = qn7.rpc8.call(9"requestAirdrop",10Some(serde_json::json!([11"YOUR_WALLET_ADDRESS",12100000000013])),14None,15Some("https://docs-demo.solana-mainnet.quiknode.pro/".into()),16)17.await?;1819println!("{result}");20Ok(())21}
Response
1{2"jsonrpc": "2.0",3"result": "5VERv8NMvzbJMEkV8xnrLkEaWRtSz9CosKDYjCJjBRnbJLgp8uirBgmQpjKhoR4tjF3ZpRzrFmBV6UjKdiSZkQUW",4"id": 15}
1{2"jsonrpc": "2.0",3"result": "5VERv8NMvzbJMEkV8xnrLkEaWRtSz9CosKDYjCJjBRnbJLgp8uirBgmQpjKhoR4tjF3ZpRzrFmBV6UjKdiSZkQUW",4"id": 15}
Don't have an account yet?
Create your Quicknode endpoint in seconds and start building
Get started for free