diff --git a/src/dht/provide.js b/src/dht/provide.js
index <HASH>..<HASH> 100644
--- a/src/dht/provide.js
+++ b/src/dht/provide.js
@@ -1,6 +1,7 @@
 'use strict'
 
 const promisify = require('promisify-es6')
+const CID = require('cids')
 
 module.exports = (send) => {
   return promisify((cids, opts, callback) => {
@@ -20,6 +21,13 @@ module.exports = (send) => {
       cids = [cids]
     }
 
+    // Validate CID(s) and serialize
+    try {
+      cids = cids.map(cid => new CID(cid).toBaseEncodedString('base58btc'))
+    } catch (err) {
+      return callback(err)
+    }
+
     send({
       path: 'dht/provide',
       args: cids,
validates and serializes cid argument to provide