Starknet testnet is migrating to Sepolia. Read more.

Demos
Starknet.ID

Starknet.ID

This example shows how to lookup Starknet.ID addresses and names.

Lookup address

Lookup a Starknet address by its Starknet ID.

Address:

Lookup address

Use the useStarkAddress to map a Starknet.ID name to a wallet address.

lookup-address.tsx

_31
import { useStarkName } from "@starknet-react/core";
_31
_31
function MyComponent() {
_31
const [starknetId, setStarknetId] = useState<string>("");
_31
const debouncedStarknetId = useDebounce(starknetId, 500);
_31
_31
const { data, error, isLoading } = useStarkAddress({
_31
name: debouncedStarknetId,
_31
});
_31
_31
return (
_31
<div className="space-y-2">
_31
<div className="space-y-1">
_31
<Label htmlFor="starknet-id">Starknet ID</Label>
_31
<Input
_31
id="starknet-id"
_31
placeholder="vitalik.stark"
_31
value={starknetId}
_31
onChange={(evt) => setStarknetId(evt.target.value)}
_31
/>
_31
</div>
_31
<div className="space-y-1">
_31
{isLoading ? (
_31
<Loader2 className="h-4 w-4 mr-2 animate-spin" />
_31
) : (
_31
<p>Address: {data}</p>
_31
)}
_31
</div>
_31
</div>
_31
);
_31
}

Lookup name

Use the useStarkName hook to lookup the Starknet.ID associated with a Starknet address.

lookup-name.tsx

_33
import { useStarkAddress } from "@starknet-react/core";
_33
_33
function MyComponent() {
_33
const [address, setAddress] = useState<string>(
_33
"0x00a00373a00352aa367058555149b573322910d54fcdf3a926e3e56d0dcb4b0c"
_33
);
_33
const debounceAddress = useDebounce(address, 500);
_33
_33
const { data, error, isLoading } = useStarkName({
_33
address: debounceAddress,
_33
});
_33
_33
return (
_33
<div className="space-y-2">
_33
<div className="space-y-1">
_33
<Label htmlFor="address">Address</Label>
_33
<Input
_33
id="address"
_33
placeholder="0x0508...8775"
_33
value={address}
_33
onChange={(evt) => setAddress(evt.target.value)}
_33
/>
_33
</div>
_33
<div className="space-y-1">
_33
{isLoading ? (
_33
<Loader2 className="h-4 w-4 mr-2 animate-spin" />
_33
) : (
_33
<p>Name: {data}</p>
_33
)}
_33
</div>
_33
</div>
_33
);
_33
}

Lookup Stark profile

Use the useStarkProfile hook to lookup the Starknet.ID associated data with a Starknet address.

lookup-stark-profile.tsx

_42
import { useStarkProfile } from "@starknet-react/core";
_42
_42
function MyComponent() {
_42
const [address, setAddress] = useState<string>(
_42
"0x00a00373a00352aa367058555149b573322910d54fcdf3a926e3e56d0dcb4b0c"
_42
);
_42
_42
const debounceAddress = useDebounce(address, 500);
_42
_42
const { data, error, isLoading } = useStarkProfile({
_42
address: debounceAddress,
_42
});
_42
_42
return (
_42
<div className="space-y-2">
_42
<div className="space-y-1">
_42
<Label htmlFor="address">Address</Label>
_42
<Input
_42
id="address"
_42
placeholder="0x0508...8775"
_42
value={address}
_42
onChange={(evt) => setAddress(evt.target.value)}
_42
/>
_42
</div>
_42
<div className="space-y-1">
_42
{isLoading ? (
_42
<Loader2 className="h-4 w-4 mr-2 animate-spin" />
_42
) : (
_42
<>
_42
<p>Name: {data?.name}</p>
_42
<p>Discord id: {data?.discord}</p>
_42
<p>Twitter id: {data?.twitter}</p>
_42
<p>Github id: {data?.github}</p>
_42
<p>Proof of personhood verification: {data?.proofOfPersonhood}</p>
_42
<p>Profile picture metadata uri : {data?.profile}</p>
_42
<p>Profile picture uri : {data?.profilePicture}</p>
_42
</>
_42
)}
_42
</div>
_42
</div>
_42
);
_42
}