diff --git a/assets/app.js b/assets/app.js
index a75c28f..09a520f 100644
--- a/assets/app.js
+++ b/assets/app.js
@@ -29,6 +29,7 @@ import './styles/03-components/spinner.css';
import './styles/03-components/a2hs.css';
import './styles/03-components/og.css';
import './styles/03-components/nostr-previews.css';
+import './styles/03-components/nip05-badge.css';
import './styles/03-components/picture-event.css';
import './styles/03-components/search.css';
import './styles/03-components/image-upload.css';
diff --git a/assets/styles/03-components/nip05-badge.css b/assets/styles/03-components/nip05-badge.css
new file mode 100644
index 0000000..5c1ed52
--- /dev/null
+++ b/assets/styles/03-components/nip05-badge.css
@@ -0,0 +1,29 @@
+/* NIP-05 Badge Component Styles */
+
+.nip05-badge {
+ display: inline-flex;
+ align-items: center;
+ gap: 0.25rem;
+ padding: 0.125rem 0.5rem;
+ background-color: rgba(34, 197, 94, 0.1);
+ border: 1px solid rgba(34, 197, 94, 0.3);
+ border-radius: 0.375rem;
+ font-size: 0.875rem;
+ color: rgb(22, 163, 74);
+ font-weight: 500;
+}
+
+.nip05-badge.verified {
+ cursor: help;
+}
+
+.nip05-identifier {
+ white-space: nowrap;
+}
+
+@media (max-width: 640px) {
+ .nip05-identifier {
+ max-width: 150px;
+ }
+}
+
diff --git a/documentation/nip05-badge-component.md b/documentation/nip05-badge-component.md
new file mode 100644
index 0000000..dda6680
--- /dev/null
+++ b/documentation/nip05-badge-component.md
@@ -0,0 +1,197 @@
+# NIP-05 Badge Component
+
+## Overview
+
+The NIP-05 Badge component is a live Twig component that verifies NIP-05 identifiers (DNS-based internet identifiers for Nostr keys) and displays them as a verified badge when the verification succeeds.
+
+## Features
+
+- ✅ **Automatic verification**: Fetches and validates `.well-known/nostr.json` from the specified domain
+- ✅ **Security compliant**: Follows NIP-05 security constraints (no redirect following)
+- ✅ **Cached results**: Verification results are cached for 1 hour to reduce network requests
+- ✅ **Relay discovery**: Extracts and stores relay information when available
+- ✅ **Display formatting**: Automatically formats root identifiers (`_@domain.com` → `domain.com`)
+- ✅ **Graceful failures**: Shows nothing when verification fails (no badge displayed)
+- ✅ **Character validation**: Only accepts valid NIP-05 local-part characters (a-z0-9-_.)
+
+## Usage
+
+### Basic Usage
+
+```twig
+{# In any Twig template #}
+