Get address

Address · Reads onchain state

Returns everything Plug knows about an address at the identity level: its metadata and the signal flags the indexing graph has raised on it. The response is the address as the indexer sees it, not as a wallet does. Graph signals classify what the address is (a contract, a token, a router, a known entity) and how it behaves, derived from indexed history rather than a registry someone maintains by hand. Requesting an address that has never been seen queues it for indexing immediately, so a cold address warms up by being asked about. Reach for it as the first call in any flow that starts from a raw address: resolving what something is before deciding which of the other surfaces to read next.

Send a request

Response

{
links: {
self: string
prev: string | undefined
next: string | undefined
} | undefined
headers: unknown | undefined
data: {
chain_id: number
address: string
token_id: string | undefined
standard: string | undefined
name: string | undefined
symbol: string | undefined
decimals: number | undefined
icon: string | undefined
description: string | undefined
status: string | undefined
attributes: Record<string, string | self> | undefined
balance: {
int: string
float: string | undefined
decimals: number | undefined
value: string | undefined
} | undefined
price: effects | undefined
relationships: Record<string, ({
chain_id: number | undefined
address: string | undefined
token_id: string
name: string | undefined
symbol: string | undefined
decimals: number | undefined
standard: string | undefined
status: string | undefined
icon: string | undefined
description: string | undefined
attributes: Record<string, string | self> | undefined
balance: {
int: string
float: string | undefined
decimals: number | undefined
value: string | undefined
} | undefined
})[]> | undefined
tokens: ({
chain_id: number | undefined
address: string | undefined
token_id: string
name: string | undefined
symbol: string | undefined
decimals: number | undefined
standard: string | undefined
status: string | undefined
icon: string | undefined
description: string | undefined
attributes: Record<string, string | self> | undefined
balance: {
int: string
float: string | undefined
decimals: number | undefined
value: string | undefined
} | undefined
})[] | undefined
visibility: string | undefined
actions: ({
protocol: string
action: string
capability: {
value: string
label: string
description: string
} | undefined
})[] | undefined
} | null
}

Code samples

Language

Claude

Prompt

Call the Plug API endpoint "Get address".
## Endpoint
GET /address/{address}/
Base URL: https://api.plug.to
## Description
Returns everything Plug knows about an address at the identity level: its metadata and the signal flags the indexing graph has raised on it.
The response is the address as the indexer sees it, not as a wallet does. Graph signals classify what the address is (a contract, a token, a router, a known entity) and how it behaves, derived from indexed history rather than a registry someone maintains by hand. Requesting an address that has never been seen queues it for indexing immediately, so a cold address warms up by being asked about.
Reach for it as the first call in any flow that starts from a raw address: resolving what something is before deciding which of the other surfaces to read next.
## Path Parameters
- address (string, required) — The EVM address to get information for. In the case that you request an address we have never indexed, we will immediately index it.
Current value: 0x62180042606624f02d8a130da8a3171e9b33894d
## Headers
- Accept (string, required) — For a typical single-time JSON response, set this to application/json. To receive realtime updates through a stream, set this to text/event-stream. (default: application/json) [application/json, text/event-stream]
Current value: application/json
## Response Schema
- links (object, optional)
- self (string, required)
- prev (string, optional)
- next (string, optional)
- headers (unknown, optional)
- data (object, optional)
- chain_id (integer, required)
- address (string, required)
- token_id (string, optional)
- standard (string, optional)
- name (string, optional)
- symbol (string, optional)
- decimals (integer, optional)
- icon (string, optional)
- description (string, optional)
- status (string, optional)
- attributes (Record<string, string | self>, optional) — Arbitrarily nested map holding everything indexed about this entry beyond its identity: section keys group leaves, and a leaf key may carry a display format after a colon (value:money, rate:percentage). Sections seen in production include net (value, rate, balance), supply, borrow, stake, lp, position, portfolio, media (image, animation, html), and address (backfill_percentage); the set is protocol-defined and open, so read what is present rather than assuming a fixed shape. Every yield, rate, health, and position number the product displays lives here and nowhere else: an entry with no attributes is not an entry without those numbers, it is an entry whose attributes were not requested or not indexed.
- balance (object, optional)
- int (string, required)
- float (string, optional)
- decimals (integer, optional)
- value (string, optional)
- price (effects, optional)
- relationships (Record<string, array>, optional)
- tokens (array
- chain_id (integer, optional)
- address (string, optional)
- token_id (string, required)
- name (string, optional)
- symbol (string, optional)
- decimals (integer, optional)
- standard (string, optional)
- status (string, optional)
- icon (string, optional)
- description (string, optional)
- attributes (Record<string, string | self>, optional) — Arbitrarily nested map holding everything indexed about this entry beyond its identity: section keys group leaves, and a leaf key may carry a display format after a colon (value:money, rate:percentage). Sections seen in production include net (value, rate, balance), supply, borrow, stake, lp, position, portfolio, media (image, animation, html), and address (backfill_percentage); the set is protocol-defined and open, so read what is present rather than assuming a fixed shape. Every yield, rate, health, and position number the product displays lives here and nowhere else: an entry with no attributes is not an entry without those numbers, it is an entry whose attributes were not requested or not indexed.
- balance (object, optional)
- int (string, required)
- float (string, optional)
- decimals (integer, optional)
- value (string, optional), optional)
- visibility (string, optional)
- actions (array
- protocol (string, required)
- action (string, required)
- capability (object, optional)
- value (string, required)
- label (string, required)
- description (string, required), optional)
## Example Request
GET https://api.plug.to/address/0x62180042606624f02d8a130da8a3171e9b33894d/