diff --git a/bdk-ffi/src/bdk.udl b/bdk-ffi/src/bdk.udl
index 29dbcdec..616232cc 100644
--- a/bdk-ffi/src/bdk.udl
+++ b/bdk-ffi/src/bdk.udl
@@ -587,6 +587,9 @@ interface Descriptor {
   constructor([ByRef] DescriptorPublicKey public_key, string fingerprint, KeychainKind keychain, Network network);
 
   string to_string_with_secret();
+
+/// Whether or not this key has multiple derivation paths.
+  boolean is_multipath();
 };
 
 // ------------------------------------------------------------------------
diff --git a/bdk-ffi/src/descriptor.rs b/bdk-ffi/src/descriptor.rs
index 413df82a..5ea809af 100644
--- a/bdk-ffi/src/descriptor.rs
+++ b/bdk-ffi/src/descriptor.rs
@@ -266,6 +266,10 @@ impl Descriptor {
         let key_map = &self.key_map;
         descriptor.to_string_with_secret(key_map)
     }
+
+    pub(crate) fn is_multipath(&self) -> bool {
+        self.extended_descriptor.is_multipath()
+    }
 }
 
 impl Display for Descriptor {