diff --git a/apps/web/app/(basenames)/api/basenames/getUsernames/route.ts b/apps/web/app/(basenames)/api/basenames/getUsernames/route.ts index 04b335d4fcd..3da3098fb9e 100644 --- a/apps/web/app/(basenames)/api/basenames/getUsernames/route.ts +++ b/apps/web/app/(basenames)/api/basenames/getUsernames/route.ts @@ -1,12 +1,13 @@ import { NextRequest, NextResponse } from 'next/server'; +import { isAddress } from 'viem'; import type { ManagedAddressesResponse } from 'apps/web/src/types/ManagedAddresses'; import { cdpBaseUri } from 'apps/web/src/cdp/constants'; export async function GET(request: NextRequest) { const address = request.nextUrl.searchParams.get('address'); - if (!address) { - return NextResponse.json({ error: 'No address provided' }, { status: 400 }); + if (!address || !isAddress(address)) { + return NextResponse.json({ error: 'Invalid address provided' }, { status: 400 }); } const network = request.nextUrl.searchParams.get('network') ?? 'base-mainnet'; @@ -29,6 +30,10 @@ export async function GET(request: NextRequest) { }, }); + if (!response.ok) { + return NextResponse.json({ error: 'Failed to fetch usernames' }, { status: response.status }); + } + const data = (await response.json()) as ManagedAddressesResponse; return NextResponse.json(data, { status: 200 });