diff --git a/coreapi.go b/coreapi.go
index 894ffb3..722c00a 100644
--- a/coreapi.go
+++ b/coreapi.go
@@ -44,6 +44,9 @@ type CoreAPI interface {
 	// PubSub returns an implementation of PubSub API
 	PubSub() PubSubAPI
 
+	// Routing returns an implementation of Routing API
+	Routing() RoutingAPI
+
 	// ResolvePath resolves the path using Unixfs resolver
 	ResolvePath(context.Context, path.Path) (path.Resolved, error)
 
diff --git a/routing.go b/routing.go
new file mode 100644
index 0000000..a28ceb9
--- /dev/null
+++ b/routing.go
@@ -0,0 +1,14 @@
+package iface
+
+import (
+	"context"
+)
+
+// RoutingAPI specifies the interface to the routing layer.
+type RoutingAPI interface {
+	// Get retrieves the best value for a given key
+	Get(context.Context, string) ([]byte, error)
+
+	// Put sets a value for a given key
+	Put(ctx context.Context, key string, value []byte) error
+}