# Scaffold UI
> React components and hooks for Ethereum dApps
import React, { useMemo } from "react";
import { Address } from "@scaffold-ui/components";
import { DocsProvider } from "../../components/DocsProvider";
## Address Component
The `Address` component displays Ethereum addresses with automatic ENS resolution, avatar display, and block explorer linking.
### Import
```tsx
import { Address } from "@scaffold-ui/components";
```
### Props
| Prop | Type | Default | Description |
| -------------------- | ---------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ------------------------------------------------- |
| `address` | `Address` | - | The Ethereum address to display |
| `disableAddressLink` | `boolean` | `false` | Disable linking to block explorer |
| `format` | `"short" \| "long"` | `"short"` | Display format for the address |
| `size` | `"xs" \| "sm" \| "base" \| "lg" \| "xl" \| "2xl" \| "3xl"` | `"base"` | Size of the component |
| `onlyEnsOrAddress` | `boolean` | `false` | Show only ENS name or address (not both) |
| `chain` | `Chain` | First chain from [WagmiProvider](https://wagmi.sh/react/api/WagmiProvider) config or `mainnet` | Blockchain network for resolution |
| `style` | `CSSProperties` | - | Custom CSS styles (memoize to prevent re-renders) |
### Live Examples
#### Basic Usage
Please enter a valid email
}Short: {shortAddress}
Full with blockexplorer link:{" "} {checkSumAddress}
Short: {shortAddress}
Full with blockexplorer link:{" "} {checkSumAddress}
Resolving...
} {ensAddress && (Address: {ensAddress}
)}Resolving...
} {ensAddress && (Resolved Address: {ensAddress}
)} {ensName && (Resolving...
} {showError &&✗ Could not resolve ENS name
} {ensAddress &&✓ Resolved: {ensAddress}
}Balance: {displayUsdMode ? `$${balanceInUsd.toLocaleString()}` : `${formattedBalance.toLocaleString()} ETH`}
Balance: {displayUsdMode ? `$${balanceInUsd.toLocaleString()}` : `${formattedBalance.toLocaleString()} ETH`}
Fetching balance…
; if (isError) return (Could not fetch balance
Balance: {displayUsdMode ? `$${balanceInUsd.toLocaleString()}` : `${formattedBalance.toLocaleString()} ETH`}
Fetching balance…
; if (isError) return (Could not fetch balance
Balance: {displayUsdMode ? `$${balanceInUsd.toLocaleString()}` : `${formattedBalance.toLocaleString()} ETH`}
Fetching price...
) : (ETH: {valueInEth || "–"} | USD: {valueInUsd || "–"}
)}Fetching price...
) : (ETH: {valueInEth || "–"} | USD: {valueInUsd || "–"}
)}Price feed unavailable. Showing entered value: ${valueInUsd}
; } returnETH: {valueInEth || "–"} | USD: {valueInUsd || "–"}
; }Price feed unavailable. Showing entered value: ${valueInUsd}
; } returnETH: {valueInEth || "–"} | USD: {valueInUsd || "–"}
; } ```