getPrimaryDomain
curl --request POST \
--url 'https://rpc-mainnet.solanatracker.io/?api_key=' \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": 1,
"method": "getPrimaryDomain",
"params": [
"9aoUCn5J4sxhvYERCVwVnakPQxyXTHQVXe86CUJYxY8p"
]
}
'import requests
url = "https://rpc-mainnet.solanatracker.io/?api_key="
payload = {
"jsonrpc": "2.0",
"id": 1,
"method": "getPrimaryDomain",
"params": ["9aoUCn5J4sxhvYERCVwVnakPQxyXTHQVXe86CUJYxY8p"]
}
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',
id: 1,
method: 'getPrimaryDomain',
params: ['9aoUCn5J4sxhvYERCVwVnakPQxyXTHQVXe86CUJYxY8p']
})
};
fetch('https://rpc-mainnet.solanatracker.io/?api_key=', 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-mainnet.solanatracker.io/?api_key=",
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',
'id' => 1,
'method' => 'getPrimaryDomain',
'params' => [
'9aoUCn5J4sxhvYERCVwVnakPQxyXTHQVXe86CUJYxY8p'
]
]),
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-mainnet.solanatracker.io/?api_key="
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"id\": 1,\n \"method\": \"getPrimaryDomain\",\n \"params\": [\n \"9aoUCn5J4sxhvYERCVwVnakPQxyXTHQVXe86CUJYxY8p\"\n ]\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-mainnet.solanatracker.io/?api_key=")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"id\": 1,\n \"method\": \"getPrimaryDomain\",\n \"params\": [\n \"9aoUCn5J4sxhvYERCVwVnakPQxyXTHQVXe86CUJYxY8p\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://rpc-mainnet.solanatracker.io/?api_key=")
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 \"id\": 1,\n \"method\": \"getPrimaryDomain\",\n \"params\": [\n \"9aoUCn5J4sxhvYERCVwVnakPQxyXTHQVXe86CUJYxY8p\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": 1,
"result": {
"context": {
"slot": 423867852,
"apiVersion": "3.0.0"
},
"value": {
"wallet": "9aoUCn5J4sxhvYERCVwVnakPQxyXTHQVXe86CUJYxY8p",
"domain": "solanatracker.sol"
}
}
}SNS Domains
getPrimaryDomain
Returns the primary .sol domain for a wallet (Solscan-style favourite domain). Resolves in a single RPC call instead of chaining getAccountInfo / getMultipleAccounts.
POST
/
getPrimaryDomain
curl --request POST \
--url 'https://rpc-mainnet.solanatracker.io/?api_key=' \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": 1,
"method": "getPrimaryDomain",
"params": [
"9aoUCn5J4sxhvYERCVwVnakPQxyXTHQVXe86CUJYxY8p"
]
}
'import requests
url = "https://rpc-mainnet.solanatracker.io/?api_key="
payload = {
"jsonrpc": "2.0",
"id": 1,
"method": "getPrimaryDomain",
"params": ["9aoUCn5J4sxhvYERCVwVnakPQxyXTHQVXe86CUJYxY8p"]
}
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',
id: 1,
method: 'getPrimaryDomain',
params: ['9aoUCn5J4sxhvYERCVwVnakPQxyXTHQVXe86CUJYxY8p']
})
};
fetch('https://rpc-mainnet.solanatracker.io/?api_key=', 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-mainnet.solanatracker.io/?api_key=",
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',
'id' => 1,
'method' => 'getPrimaryDomain',
'params' => [
'9aoUCn5J4sxhvYERCVwVnakPQxyXTHQVXe86CUJYxY8p'
]
]),
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-mainnet.solanatracker.io/?api_key="
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"id\": 1,\n \"method\": \"getPrimaryDomain\",\n \"params\": [\n \"9aoUCn5J4sxhvYERCVwVnakPQxyXTHQVXe86CUJYxY8p\"\n ]\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-mainnet.solanatracker.io/?api_key=")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"id\": 1,\n \"method\": \"getPrimaryDomain\",\n \"params\": [\n \"9aoUCn5J4sxhvYERCVwVnakPQxyXTHQVXe86CUJYxY8p\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://rpc-mainnet.solanatracker.io/?api_key=")
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 \"id\": 1,\n \"method\": \"getPrimaryDomain\",\n \"params\": [\n \"9aoUCn5J4sxhvYERCVwVnakPQxyXTHQVXe86CUJYxY8p\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": 1,
"result": {
"context": {
"slot": 423867852,
"apiVersion": "3.0.0"
},
"value": {
"wallet": "9aoUCn5J4sxhvYERCVwVnakPQxyXTHQVXe86CUJYxY8p",
"domain": "solanatracker.sol"
}
}
}⚡ Powered by Solana Ridge DBResolve a wallet’s primary
.sol domain (Solscan-style favourite domain) in a single RPC call. Returns the display name with .sol suffix, or null if no primary domain is set or the favourite is no longer owned.Replaces the need to chain getAccountInfo and getMultipleAccounts for SNS resolution.This method costs 1 credit per call.
Authorizations
Body
application/json
The JSON-RPC protocol version.
Available options:
2.0 Example:
"2.0"
A unique identifier for the request.
Example:
"1"
The name of the RPC method to invoke.
Available options:
getPrimaryDomain Example:
"getPrimaryDomain"
Required array length:
1 elementWallet public key.
Was this page helpful?
⌘I