diff --git a/app/components/ExternalIps.tsx b/app/components/ExternalIps.tsx
new file mode 100644
index 0000000000..294882ca9b
--- /dev/null
+++ b/app/components/ExternalIps.tsx
@@ -0,0 +1,50 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, you can obtain one at https://mozilla.org/MPL/2.0/.
+ *
+ * Copyright Oxide Computer Company
+ */
+
+import { useApiQuery } from '@oxide/api'
+import { EmptyCell, SkeletonCell } from '@oxide/table'
+import { CopyToClipboard } from '@oxide/ui'
+import { intersperse } from '@oxide/util'
+
+type InstanceSelector = { project: string; instance: string }
+
+export function ExternalIps({ project, instance }: InstanceSelector) {
+ const { data, isPending } = useApiQuery('instanceExternalIpList', {
+ path: { instance },
+ query: { project },
+ })
+ if (isPending) return