Skip to main content
Build a profile containing balances, label and entity fields, and a v2 funding record for one Solana address.

Prerequisites

  • An API key with the Data API scope, exported as RANGE_API_KEY. Use the shared quickstart for key setup and Bearer authentication.
  • Python 3.10 or later and httpx for the complete script: python -m pip install httpx.
  • Address 2kkSm4in18qXS1drfBvdpEULaiJ6k1ovXJd6T7aAzX2x on solana. See Cross-Chain Lookup for tracing transfers.
  • The Solana USDC mint EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v, also listed in Test inputs. The balance request supplies this mint; the recorded response also contains other tokens.
  • This sequence uses /v1/address/balance, /v1/address, and /v2/address/fundedBy. Check coverage for each operation.

1. Read balances without losing precision

Call GET /v1/address/balance.
Recorded HTTP 200 on October 21, 2026, abbreviated:
The recorded lookup is ok. Preserve base_amount and amount_string as strings when storing or displaying the profile. Preserve usd_string as a string when available; this valuation is optional and can be absent or null. Keep missing or null valuations distinct from zero, as described in Quantities and USD values. Keep decimals and denom with each balance. Continue with the same address and network.

2. Read label and entity attribution

Use GET /v1/address for attribution without adding the risk score returned by the separate address-info operation.
Recorded HTTP 200 on October 21, 2026:
This response identifies the requested address and network, while name_tag, entity, and entity_name are empty strings. Record those as missing attribution. An empty label does not mean the address lookup failed or establish who controls the address. Continue with the same input pair.

3. Read the v2 funding record

Call GET /v2/address/fundedBy.
Recorded HTTP 200 on October 21, 2026, abbreviated:
Keep address.address, address.network, network, tx_hash, time, amount, and token as the returned funding record. Here, both returned network fields are base, even though the lookup input is solana. They are not echoes of the requested network. Preserve the amount string "10000". This profile records what v2 returns. It does not establish an original funder, and it makes no equivalence claim about the v1 funding operation.

A lookup with no funding record

The shared CCTP program input produces a different outcome:
Recorded HTTP 404 on October 21, 2026:
Store this as no funding record returned by this lookup. It does not prove that the address was never funded. The script below uses the successful input and stops on an HTTP error.

Complete script

Save this as profile_address.py, then run python profile_address.py with RANGE_API_KEY set. It retains balance and funding strings without converting them to floating point.
The script succeeds when the balance lookup is ok, the attribution response identifies the requested address and network, and the v2 funding lookup returns a record. For this sample, the profile has empty attribution fields and a funding record on base; balances can change. See Working with responses for response conventions, coverage for operation and network availability, and Errors and rate limits for failures and retry guidance.
Last modified on November 9, 2026