curl --request GET \
--url https://nexus.gerowallet.io/api/addresses/decode/{address} \
--header 'X-Api-Key: <api-key>'import requests
url = "https://nexus.gerowallet.io/api/addresses/decode/{address}"
headers = {"X-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Api-Key': '<api-key>'}};
fetch('https://nexus.gerowallet.io/api/addresses/decode/{address}', 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://nexus.gerowallet.io/api/addresses/decode/{address}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://nexus.gerowallet.io/api/addresses/decode/{address}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://nexus.gerowallet.io/api/addresses/decode/{address}")
.header("X-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://nexus.gerowallet.io/api/addresses/decode/{address}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body""{
"error": "Not a valid Cardano address"
}Decode a Cardano address into its credentials
Splits a Cardano address into its structural parts: era, network, type and the payment / stake credentials. Accepts Shelley-era bech32 (addr1, addr_test1, stake1, stake_test1) and Byron-era base58 (Ddz, Ae2). This is pure computation on the address string, with no chain lookup: the network query parameter is accepted for consistency with the rest of the API and ignored, and the reported network is the one the address itself encodes. Byron addresses report era and type ‘byron’ with no credentials, because their spending data is a CBOR-enveloped key hash rather than a Shelley credential, and with no network: Byron encodes it as an optional protocol-magic attribute inside that envelope, which is not parsed here, so the field is omitted rather than guessed. Pointer addresses report the payment credential only; the (slot, txIndex, certIndex) pointer target is not resolved.
curl --request GET \
--url https://nexus.gerowallet.io/api/addresses/decode/{address} \
--header 'X-Api-Key: <api-key>'import requests
url = "https://nexus.gerowallet.io/api/addresses/decode/{address}"
headers = {"X-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Api-Key': '<api-key>'}};
fetch('https://nexus.gerowallet.io/api/addresses/decode/{address}', 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://nexus.gerowallet.io/api/addresses/decode/{address}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://nexus.gerowallet.io/api/addresses/decode/{address}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://nexus.gerowallet.io/api/addresses/decode/{address}")
.header("X-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://nexus.gerowallet.io/api/addresses/decode/{address}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body""{
"error": "Not a valid Cardano address"
}Authorizations
API key (programmatic access — recommended)
Send your API key in the X-Api-Key header. Keys start with nxs_ and are
created in the dashboard (or via POST /api/keys with a session JWT).
Each key is scoped to one chain and one network (for example
CARDANO_MAINNET), fixed at creation time. It cannot query a different network
on the same chain, and it cannot query a different chain at all. A mismatched
network parameter returns 400 Network Mismatch. Create one key per chain
and network under the same account.
This is the credential most integrations should use.
Path Parameters
1 - 200^[a-zA-Z0-9_]+$Query Parameters
Accepted and ignored. Decoding never consults a network.
Response
Address decoded
Decoded components of a Cardano address
The address exactly as decoded (whitespace-trimmed)
"addr1qx2fxv2umyhttkxyxp8x0dlpdt3k6cwng5pxj3jhsydzer3n0d3vllmyqwsx5wktcd8cc3sq835lu7drv2xwl2wywfgse35a3x"
Address-format era. Every post-Byron format is 'shelley'.
shelley, byron "shelley"
Network the address encodes. Absent for Byron addresses: Byron carries its network as an optional protocol-magic attribute inside the address's CBOR envelope, and that parsing is not performed here, so the network is reported as undetermined rather than guessed.
mainnet, testnet "mainnet"
Address type
base, enterprise, pointer, reward, byron "base"
Payment (spending) credential. Null for reward and Byron addresses.
Show child attributes
Show child attributes
Stake (delegation) credential. Null for enterprise, pointer and Byron addresses. For a reward address this holds the address's single credential and paymentCredential is null.
Show child attributes
Show child attributes