Sepolia Faucet
curl --request POST \
--url https://api.chainstack.com/v1/faucet/sepolia \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"address": "0x1111111111111111111111111111111111111111"
}
'import requests
url = "https://api.chainstack.com/v1/faucet/sepolia"
payload = { "address": "0x1111111111111111111111111111111111111111" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({address: '0x1111111111111111111111111111111111111111'})
};
fetch('https://api.chainstack.com/v1/faucet/sepolia', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.chainstack.com/v1/faucet/sepolia",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'address' => '0x1111111111111111111111111111111111111111'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.chainstack.com/v1/faucet/sepolia"
payload := strings.NewReader("{\n \"address\": \"0x1111111111111111111111111111111111111111\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.chainstack.com/v1/faucet/sepolia")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"address\": \"0x1111111111111111111111111111111111111111\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.chainstack.com/v1/faucet/sepolia")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"address\": \"0x1111111111111111111111111111111111111111\"\n}"
response = http.request(request)
puts response.read_body{
"amountSent": 500000000000000000,
"transaction": "https://sepolia.etherscan.io/tx/0x1111111111111111111111111111111111111111111111111111111111111111"
}{
"error": {
"code": "<string>",
"message": "<string>",
"fields": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>"
},
"nextFaucetAvailable": "<string>"
}Faucet
Request Sepolia testnet ETH from the Chainstack faucet
Request free Sepolia testnet ETH from the Chainstack faucet using the Platform API. POST to /v1/faucet/sepolia with the destination wallet address.
POST
/
v1
/
faucet
/
sepolia
Sepolia Faucet
curl --request POST \
--url https://api.chainstack.com/v1/faucet/sepolia \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"address": "0x1111111111111111111111111111111111111111"
}
'import requests
url = "https://api.chainstack.com/v1/faucet/sepolia"
payload = { "address": "0x1111111111111111111111111111111111111111" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({address: '0x1111111111111111111111111111111111111111'})
};
fetch('https://api.chainstack.com/v1/faucet/sepolia', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.chainstack.com/v1/faucet/sepolia",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'address' => '0x1111111111111111111111111111111111111111'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.chainstack.com/v1/faucet/sepolia"
payload := strings.NewReader("{\n \"address\": \"0x1111111111111111111111111111111111111111\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.chainstack.com/v1/faucet/sepolia")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"address\": \"0x1111111111111111111111111111111111111111\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.chainstack.com/v1/faucet/sepolia")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"address\": \"0x1111111111111111111111111111111111111111\"\n}"
response = http.request(request)
puts response.read_body{
"amountSent": 500000000000000000,
"transaction": "https://sepolia.etherscan.io/tx/0x1111111111111111111111111111111111111111111111111111111111111111"
}{
"error": {
"code": "<string>",
"message": "<string>",
"fields": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>"
},
"nextFaucetAvailable": "<string>"
}Authorizations
Chainstack API uses API keys to authenticate requests. You can view and manage your API keys in the platform UI.
Your API keys carry many privileges, so be sure to keep them secure!
Provide your API key as the Authorization header. The value of the header consists of Bearer prefix and secret key generated through the platform UI.
curl -X GET 'https://api.chainstack.com/v1/organization/' \
--header 'Authorization: Bearer FX7CWlLg.FMpAO8cgCX2N7s41EncRru2nb5CmTZUt'
All API requests must be made over HTTPS.
Body
application/json
Address to send tokens to.
Last modified on May 4, 2026
Was this page helpful?
⌘I