tempo_fundAddress
curl --request POST \
--url https://rpc.moderato.tempo.xyz/ \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"method": "tempo_fundAddress",
"params": [
"0xc2F695613de0885dA3bdd18E8c317B9fAf7d4eba"
],
"id": 1
}
'import requests
url = "https://rpc.moderato.tempo.xyz/"
payload = {
"jsonrpc": "2.0",
"method": "tempo_fundAddress",
"params": ["0xc2F695613de0885dA3bdd18E8c317B9fAf7d4eba"],
"id": 1
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
jsonrpc: '2.0',
method: 'tempo_fundAddress',
params: ['0xc2F695613de0885dA3bdd18E8c317B9fAf7d4eba'],
id: 1
})
};
fetch('https://rpc.moderato.tempo.xyz/', 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://rpc.moderato.tempo.xyz/",
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([
'jsonrpc' => '2.0',
'method' => 'tempo_fundAddress',
'params' => [
'0xc2F695613de0885dA3bdd18E8c317B9fAf7d4eba'
],
'id' => 1
]),
CURLOPT_HTTPHEADER => [
"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://rpc.moderato.tempo.xyz/"
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"method\": \"tempo_fundAddress\",\n \"params\": [\n \"0xc2F695613de0885dA3bdd18E8c317B9fAf7d4eba\"\n ],\n \"id\": 1\n}")
req, _ := http.NewRequest("POST", url, payload)
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://rpc.moderato.tempo.xyz/")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"method\": \"tempo_fundAddress\",\n \"params\": [\n \"0xc2F695613de0885dA3bdd18E8c317B9fAf7d4eba\"\n ],\n \"id\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://rpc.moderato.tempo.xyz/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"jsonrpc\": \"2.0\",\n \"method\": \"tempo_fundAddress\",\n \"params\": [\n \"0xc2F695613de0885dA3bdd18E8c317B9fAf7d4eba\"\n ],\n \"id\": 1\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "<string>",
"id": 123,
"result": [
"<string>"
]
}Tempo node API
tempo_fundAddress | Tempo
Tempo API method that funds an address with testnet stablecoins. tempo_fundAddress JSON-RPC method available on the Tempo blockchain via Chainstack.
POST
/
tempo_fundAddress
curl --request POST \
--url https://rpc.moderato.tempo.xyz/ \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"method": "tempo_fundAddress",
"params": [
"0xc2F695613de0885dA3bdd18E8c317B9fAf7d4eba"
],
"id": 1
}
'import requests
url = "https://rpc.moderato.tempo.xyz/"
payload = {
"jsonrpc": "2.0",
"method": "tempo_fundAddress",
"params": ["0xc2F695613de0885dA3bdd18E8c317B9fAf7d4eba"],
"id": 1
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
jsonrpc: '2.0',
method: 'tempo_fundAddress',
params: ['0xc2F695613de0885dA3bdd18E8c317B9fAf7d4eba'],
id: 1
})
};
fetch('https://rpc.moderato.tempo.xyz/', 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://rpc.moderato.tempo.xyz/",
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([
'jsonrpc' => '2.0',
'method' => 'tempo_fundAddress',
'params' => [
'0xc2F695613de0885dA3bdd18E8c317B9fAf7d4eba'
],
'id' => 1
]),
CURLOPT_HTTPHEADER => [
"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://rpc.moderato.tempo.xyz/"
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"method\": \"tempo_fundAddress\",\n \"params\": [\n \"0xc2F695613de0885dA3bdd18E8c317B9fAf7d4eba\"\n ],\n \"id\": 1\n}")
req, _ := http.NewRequest("POST", url, payload)
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://rpc.moderato.tempo.xyz/")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"method\": \"tempo_fundAddress\",\n \"params\": [\n \"0xc2F695613de0885dA3bdd18E8c317B9fAf7d4eba\"\n ],\n \"id\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://rpc.moderato.tempo.xyz/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"jsonrpc\": \"2.0\",\n \"method\": \"tempo_fundAddress\",\n \"params\": [\n \"0xc2F695613de0885dA3bdd18E8c317B9fAf7d4eba\"\n ],\n \"id\": 1\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "<string>",
"id": 123,
"result": [
"<string>"
]
}Tempo API method that funds an address with testnet stablecoins. This is Tempo’s faucet mechanism — instead of a web UI, tokens are distributed via this RPC method.
Testnet only: This method is only available on the Tempo Moderato testnet via the public RPC endpoint (
https://rpc.moderato.tempo.xyz). It is not available on Chainstack endpoints or on mainnet. On mainnet, acquire stablecoins from issuers or ecosystem partners.Parameters
address— the address to fund with testnet stablecoins
Response
result— an array of transaction hashes, one for each funded token
Tokens funded
This method sends the following testnet stablecoins to your address:| Token | Address |
|---|---|
| pathUSD | 0x20c0000000000000000000000000000000000000 |
| AlphaUSD | 0x20c0000000000000000000000000000000000001 |
| BetaUSD | 0x20c0000000000000000000000000000000000002 |
| ThetaUSD | 0x20c0000000000000000000000000000000000003 |
tempo_fundAddress code examples
const ethers = require('ethers');
const NODE_URL = "https://rpc.moderato.tempo.xyz";
const provider = new ethers.JsonRpcProvider(NODE_URL);
const fundAddress = async (address) => {
const result = await provider.send("tempo_fundAddress", [address]);
console.log("Funding transaction hashes:");
result.forEach((hash, i) => {
console.log(` Token ${i + 1}: ${hash}`);
});
};
fundAddress("0xc2F695613de0885dA3bdd18E8c317B9fAf7d4eba");
from web3 import Web3
node_url = "https://rpc.moderato.tempo.xyz"
web3 = Web3(Web3.HTTPProvider(node_url))
result = web3.provider.make_request("tempo_fundAddress", ["0xc2F695613de0885dA3bdd18E8c317B9fAf7d4eba"])
print("Funding transaction hashes:")
for i, tx_hash in enumerate(result['result']):
print(f" Token {i + 1}: {tx_hash}")
curl -X POST "https://rpc.moderato.tempo.xyz" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "tempo_fundAddress",
"params": ["0xc2F695613de0885dA3bdd18E8c317B9fAf7d4eba"],
"id": 1
}'
Example response
{
"jsonrpc": "2.0",
"id": 1,
"result": [
"0x54340f261371117e7d5d39d241a48c595c0626871c38179248262b3a425dd71d",
"0x2d8840c6df9fdfe7cbcdca4a4d5b97cb1a520580e2a5be074eb018e2868808f6",
"0x5ec61f424fd34aa3faa57eb29204f95de7160bc35f892e358aa23c61e3640fe8",
"0xc946437b2fe84d0666bf158e0ed3b8d56f285c440b291b89ea1d2a3487319396"
]
}
Body
application/json
Last modified on May 18, 2026
Was this page helpful?
⌘I