diff --git a/runtimes/google/ipc/benchmark/benchmark_test.go b/runtimes/google/ipc/benchmark/benchmark_test.go
index 67e36c5..d8d16d3 100644
--- a/runtimes/google/ipc/benchmark/benchmark_test.go
+++ b/runtimes/google/ipc/benchmark/benchmark_test.go
@@ -8,8 +8,8 @@
 	"v.io/core/veyron/lib/testutil/benchmark"
 	_ "v.io/core/veyron/profiles/static"
 
-	"v.io/core/veyron2"
-	"v.io/core/veyron2/context"
+	"v.io/v23"
+	"v.io/v23/context"
 )
 
 var (
@@ -103,11 +103,11 @@
 func TestMain(m *testing.M) {
 	// We do not use defer here since this program will exit at the end of
 	// this function through os.Exit().
-	var shutdown veyron2.Shutdown
+	var shutdown v23.Shutdown
 	ctx, shutdown = testutil.InitForTest()
 
 	var serverStop func()
-	serverAddr, serverStop = StartServer(ctx, veyron2.GetListenSpec(ctx))
+	serverAddr, serverStop = StartServer(ctx, v23.GetListenSpec(ctx))
 
 	// Create a VC to exclude the VC setup time from the benchmark.
 	CallEcho(&testing.B{}, ctx, serverAddr, 1, 0, benchmark.NewStats(1))
diff --git a/runtimes/google/ipc/benchmark/bmclient/main.go b/runtimes/google/ipc/benchmark/bmclient/main.go
index f3145cf..fdba600 100644
--- a/runtimes/google/ipc/benchmark/bmclient/main.go
+++ b/runtimes/google/ipc/benchmark/bmclient/main.go
@@ -12,8 +12,8 @@
 	_ "v.io/core/veyron/profiles"
 	"v.io/core/veyron/runtimes/google/ipc/benchmark"
 
-	"v.io/core/veyron2"
-	"v.io/core/veyron2/vlog"
+	"v.io/v23"
+	"v.io/v23/vlog"
 )
 
 var (
@@ -28,7 +28,7 @@
 )
 
 func main() {
-	ctx, shutdown := veyron2.Init()
+	ctx, shutdown := v23.Init()
 	defer shutdown()
 
 	if *chunkCntMux > 0 && *payloadSizeMux > 0 {
diff --git a/runtimes/google/ipc/benchmark/bmserver/main.go b/runtimes/google/ipc/benchmark/bmserver/main.go
index 85e915d..35a374c 100644
--- a/runtimes/google/ipc/benchmark/bmserver/main.go
+++ b/runtimes/google/ipc/benchmark/bmserver/main.go
@@ -6,15 +6,15 @@
 	_ "v.io/core/veyron/profiles/roaming"
 	"v.io/core/veyron/runtimes/google/ipc/benchmark"
 
-	"v.io/core/veyron2"
-	"v.io/core/veyron2/vlog"
+	"v.io/v23"
+	"v.io/v23/vlog"
 )
 
 func main() {
-	ctx, shutdown := veyron2.Init()
+	ctx, shutdown := v23.Init()
 	defer shutdown()
 
-	addr, stop := benchmark.StartServer(ctx, veyron2.GetListenSpec(ctx))
+	addr, stop := benchmark.StartServer(ctx, v23.GetListenSpec(ctx))
 	vlog.Infof("Listening on %s", addr)
 	defer stop()
 	<-signals.ShutdownOnSignals(ctx)
diff --git a/runtimes/google/ipc/benchmark/client.go b/runtimes/google/ipc/benchmark/client.go
index c29f942..3a6fbef 100644
--- a/runtimes/google/ipc/benchmark/client.go
+++ b/runtimes/google/ipc/benchmark/client.go
@@ -8,8 +8,8 @@
 
 	"v.io/core/veyron/lib/testutil/benchmark"
 
-	"v.io/core/veyron2/context"
-	"v.io/core/veyron2/vlog"
+	"v.io/v23/context"
+	"v.io/v23/vlog"
 )
 
 // CallEcho calls 'Echo' method 'iterations' times with the given payload size.
diff --git a/runtimes/google/ipc/benchmark/glob/glob_test.go b/runtimes/google/ipc/benchmark/glob/glob_test.go
index e23a809..46a7306 100644
--- a/runtimes/google/ipc/benchmark/glob/glob_test.go
+++ b/runtimes/google/ipc/benchmark/glob/glob_test.go
@@ -4,11 +4,11 @@
 	"fmt"
 	"testing"
 
-	"v.io/core/veyron2"
-	"v.io/core/veyron2/context"
-	"v.io/core/veyron2/ipc"
-	"v.io/core/veyron2/naming"
-	"v.io/core/veyron2/security"
+	"v.io/v23"
+	"v.io/v23/context"
+	"v.io/v23/ipc"
+	"v.io/v23/naming"
+	"v.io/v23/security"
 
 	"v.io/core/veyron/lib/testutil"
 	_ "v.io/core/veyron/profiles"
@@ -79,11 +79,11 @@
 }
 
 func startServer(b *testing.B, ctx *context.T, obj interface{}) (string, func(), error) {
-	server, err := veyron2.NewServer(ctx)
+	server, err := v23.NewServer(ctx)
 	if err != nil {
 		return "", nil, fmt.Errorf("failed to start server: %v", err)
 	}
-	endpoints, err := server.Listen(veyron2.GetListenSpec(ctx))
+	endpoints, err := server.Listen(v23.GetListenSpec(ctx))
 	if err != nil {
 		return "", nil, fmt.Errorf("failed to listen: %v", err)
 	}
@@ -133,7 +133,7 @@
 }
 
 func globClient(b *testing.B, ctx *context.T, name string) (int, error) {
-	client := veyron2.GetClient(ctx)
+	client := v23.GetClient(ctx)
 	call, err := client.StartCall(ctx, name, ipc.GlobMethod, []interface{}{"*"})
 	if err != nil {
 		return 0, err
diff --git a/runtimes/google/ipc/benchmark/server.go b/runtimes/google/ipc/benchmark/server.go
index 65926a4..6c5696a 100644
--- a/runtimes/google/ipc/benchmark/server.go
+++ b/runtimes/google/ipc/benchmark/server.go
@@ -3,10 +3,10 @@
 import (
 	"v.io/core/veyron/security/flag"
 
-	"v.io/core/veyron2"
-	"v.io/core/veyron2/context"
-	"v.io/core/veyron2/ipc"
-	"v.io/core/veyron2/vlog"
+	"v.io/v23"
+	"v.io/v23/context"
+	"v.io/v23/ipc"
+	"v.io/v23/vlog"
 )
 
 type impl struct {
@@ -32,7 +32,7 @@
 // server listens to the given protocol and address, and returns the veyron
 // address of the server and a callback function to stop the server.
 func StartServer(ctx *context.T, listenSpec ipc.ListenSpec) (string, func()) {
-	server, err := veyron2.NewServer(ctx)
+	server, err := v23.NewServer(ctx)
 	if err != nil {
 		vlog.Fatalf("NewServer failed: %v", err)
 	}
diff --git a/runtimes/google/ipc/benchmark/service.vdl b/runtimes/google/ipc/benchmark/service.vdl
index 3f42b77..3e9f0ea 100644
--- a/runtimes/google/ipc/benchmark/service.vdl
+++ b/runtimes/google/ipc/benchmark/service.vdl
@@ -3,7 +3,7 @@
 package benchmark
 
 import (
-	"v.io/core/veyron2/services/security/access"
+	"v.io/v23/services/security/access"
 )
 
 type Benchmark interface {
diff --git a/runtimes/google/ipc/benchmark/service.vdl.go b/runtimes/google/ipc/benchmark/service.vdl.go
index 97bc4d0..8f1c1e9 100644
--- a/runtimes/google/ipc/benchmark/service.vdl.go
+++ b/runtimes/google/ipc/benchmark/service.vdl.go
@@ -8,13 +8,13 @@
 import (
 	// VDL system imports
 	"io"
-	"v.io/core/veyron2"
-	"v.io/core/veyron2/context"
-	"v.io/core/veyron2/ipc"
-	"v.io/core/veyron2/vdl"
+	"v.io/v23"
+	"v.io/v23/context"
+	"v.io/v23/ipc"
+	"v.io/v23/vdl"
 
 	// VDL user imports
-	"v.io/core/veyron2/services/security/access"
+	"v.io/v23/services/security/access"
 )
 
 // BenchmarkClientMethods is the client interface
@@ -52,7 +52,7 @@
 	if c.client != nil {
 		return c.client
 	}
-	return veyron2.GetClient(ctx)
+	return v23.GetClient(ctx)
 }
 
 func (c implBenchmarkClientStub) Echo(ctx *context.T, i0 []byte, opts ...ipc.CallOpt) (o0 []byte, err error) {
diff --git a/runtimes/google/ipc/blessings_cache.go b/runtimes/google/ipc/blessings_cache.go
index 1c19b40..ac71eee 100644
--- a/runtimes/google/ipc/blessings_cache.go
+++ b/runtimes/google/ipc/blessings_cache.go
@@ -7,8 +7,8 @@
 	"sync"
 
 	"v.io/core/veyron/runtimes/google/ipc/stream"
-	"v.io/core/veyron2/ipc"
-	"v.io/core/veyron2/security"
+	"v.io/v23/ipc"
+	"v.io/v23/security"
 )
 
 // clientEncodeBlessings gets or inserts the blessings into the cache.
diff --git a/runtimes/google/ipc/cancel_test.go b/runtimes/google/ipc/cancel_test.go
index a528795..4883bb3 100644
--- a/runtimes/google/ipc/cancel_test.go
+++ b/runtimes/google/ipc/cancel_test.go
@@ -7,11 +7,11 @@
 	tnaming "v.io/core/veyron/runtimes/google/testing/mocks/naming"
 
 	"v.io/core/veyron/runtimes/google/ipc/stream"
-	"v.io/core/veyron2/context"
-	"v.io/core/veyron2/ipc"
-	"v.io/core/veyron2/naming"
-	"v.io/core/veyron2/security"
-	"v.io/core/veyron2/vlog"
+	"v.io/v23/context"
+	"v.io/v23/ipc"
+	"v.io/v23/naming"
+	"v.io/v23/security"
+	"v.io/v23/vlog"
 )
 
 type fakeAuthorizer int
diff --git a/runtimes/google/ipc/client.go b/runtimes/google/ipc/client.go
index eeb9ef5..9eee69b 100644
--- a/runtimes/google/ipc/client.go
+++ b/runtimes/google/ipc/client.go
@@ -12,17 +12,17 @@
 	"time"
 
 	"v.io/core/veyron/runtimes/google/ipc/stream"
-	"v.io/core/veyron2/context"
-	"v.io/core/veyron2/i18n"
-	"v.io/core/veyron2/ipc"
-	"v.io/core/veyron2/naming"
-	"v.io/core/veyron2/options"
-	"v.io/core/veyron2/security"
-	"v.io/core/veyron2/vdl"
-	"v.io/core/veyron2/verror"
-	"v.io/core/veyron2/vlog"
-	"v.io/core/veyron2/vom"
-	"v.io/core/veyron2/vtrace"
+	"v.io/v23/context"
+	"v.io/v23/i18n"
+	"v.io/v23/ipc"
+	"v.io/v23/naming"
+	"v.io/v23/options"
+	"v.io/v23/security"
+	"v.io/v23/vdl"
+	"v.io/v23/verror"
+	"v.io/v23/vlog"
+	"v.io/v23/vom"
+	"v.io/v23/vtrace"
 
 	"v.io/core/veyron/runtimes/google/ipc/stream/vc"
 	"v.io/core/veyron/runtimes/google/ipc/version"
diff --git a/runtimes/google/ipc/client_test.go b/runtimes/google/ipc/client_test.go
index 1fa37b7..8ec67b2 100644
--- a/runtimes/google/ipc/client_test.go
+++ b/runtimes/google/ipc/client_test.go
@@ -10,13 +10,13 @@
 	"testing"
 	"time"
 
-	"v.io/core/veyron2"
-	"v.io/core/veyron2/context"
-	"v.io/core/veyron2/ipc"
-	"v.io/core/veyron2/naming"
-	"v.io/core/veyron2/options"
-	"v.io/core/veyron2/verror"
-	"v.io/core/veyron2/vlog"
+	"v.io/v23"
+	"v.io/v23/context"
+	"v.io/v23/ipc"
+	"v.io/v23/naming"
+	"v.io/v23/options"
+	"v.io/v23/verror"
+	"v.io/v23/vlog"
 
 	"v.io/core/veyron/lib/expect"
 	"v.io/core/veyron/lib/flags/consts"
@@ -32,9 +32,9 @@
 	modules.RegisterChild("ping", "<name>", childPing)
 }
 
-func newCtx() (*context.T, veyron2.Shutdown) {
+func newCtx() (*context.T, v23.Shutdown) {
 	ctx, shutdown := testutil.InitForTest()
-	veyron2.GetNamespace(ctx).CacheCtl(naming.DisableCache(true))
+	v23.GetNamespace(ctx).CacheCtl(naming.DisableCache(true))
 	return ctx, shutdown
 }
 
@@ -70,7 +70,7 @@
 		t.Fatalf("%s", rootSession.Error())
 	}
 	sh.SetVar(consts.NamespaceRootPrefix, rootName)
-	if err = veyron2.GetNamespace(ctx).SetRoots(rootName); err != nil {
+	if err = v23.GetNamespace(ctx).SetRoots(rootName); err != nil {
 		t.Fatalf("unexpected error setting namespace roots: %s", err)
 	}
 
@@ -91,7 +91,7 @@
 }
 
 func numServers(t *testing.T, ctx *context.T, name string) int {
-	me, err := veyron2.GetNamespace(ctx).Resolve(ctx, name)
+	me, err := v23.GetNamespace(ctx).Resolve(ctx, name)
 	if err != nil {
 		return 0
 	}
@@ -126,7 +126,7 @@
 		// 203.0.113.0 is TEST-NET-3 from RFC5737
 		ep := naming.FormatEndpoint("tcp", fmt.Sprintf("203.0.113.%d:443", i))
 		n := naming.JoinAddressName(ep, "")
-		if err := veyron2.GetNamespace(ctx).Mount(ctx, "echoServer", n, time.Hour); err != nil {
+		if err := v23.GetNamespace(ctx).Mount(ctx, "echoServer", n, time.Hour); err != nil {
 			t.Fatalf("unexpected error: %s", err)
 		}
 	}
@@ -157,7 +157,7 @@
 	defer shutdown()
 	ctx, _ = context.WithTimeout(ctx, 100*time.Millisecond)
 	name := naming.JoinAddressName(naming.FormatEndpoint("tcp", "203.0.113.10:443"), "")
-	client := veyron2.GetClient(ctx)
+	client := v23.GetClient(ctx)
 	_, err := client.StartCall(ctx, name, "echo", []interface{}{"args don't matter"})
 	if !verror.Is(err, verror.ErrTimeout.ID) {
 		t.Fatalf("wrong error: %s", err)
@@ -167,10 +167,10 @@
 func childPing(stdin io.Reader, stdout, stderr io.Writer, env map[string]string, args ...string) error {
 	ctx, shutdown := testutil.InitForTest()
 	defer shutdown()
-	veyron2.GetNamespace(ctx).CacheCtl(naming.DisableCache(true))
+	v23.GetNamespace(ctx).CacheCtl(naming.DisableCache(true))
 
 	name := args[0]
-	call, err := veyron2.GetClient(ctx).StartCall(ctx, name, "Ping", nil)
+	call, err := v23.GetClient(ctx).StartCall(ctx, name, "Ping", nil)
 	if err != nil {
 		fmt.Errorf("unexpected error: %s", err)
 	}
@@ -183,14 +183,14 @@
 }
 
 func initServer(t *testing.T, ctx *context.T) (string, func()) {
-	server, err := veyron2.NewServer(ctx)
+	server, err := v23.NewServer(ctx)
 	if err != nil {
 		t.Fatalf("unexpected error: %s", err)
 	}
 	done := make(chan struct{})
 	deferFn := func() { close(done); server.Stop() }
 
-	eps, err := server.Listen(veyron2.GetListenSpec(ctx))
+	eps, err := server.Listen(v23.GetListenSpec(ctx))
 	if err != nil {
 		t.Fatalf("unexpected error: %s", err)
 	}
@@ -219,7 +219,7 @@
 	name, fn := initServer(t, ctx)
 	defer fn()
 	ctx, _ = context.WithTimeout(ctx, time.Millisecond)
-	call, err := veyron2.GetClient(ctx).StartCall(ctx, name, "Sleep", nil)
+	call, err := v23.GetClient(ctx).StartCall(ctx, name, "Sleep", nil)
 	if err != nil {
 		testForVerror(t, err, verror.ErrTimeout)
 		return
@@ -234,14 +234,14 @@
 	name, fn := initServer(t, ctx)
 	defer fn()
 
-	call, err := veyron2.GetClient(ctx).StartCall(ctx, name, "Sleep", []interface{}{"too many args"})
+	call, err := v23.GetClient(ctx).StartCall(ctx, name, "Sleep", []interface{}{"too many args"})
 	if err != nil {
 		t.Fatalf("unexpected error: %s", err)
 	}
 	err = call.Finish()
 	testForVerror(t, err, verror.ErrBadProtocol)
 
-	call, err = veyron2.GetClient(ctx).StartCall(ctx, name, "Ping", nil)
+	call, err = v23.GetClient(ctx).StartCall(ctx, name, "Ping", nil)
 	if err != nil {
 		t.Fatalf("unexpected error: %s", err)
 	}
@@ -258,11 +258,11 @@
 	name, fn := initServer(t, ctx)
 	defer fn()
 
-	ctx1, err := veyron2.SetPrincipal(ctx, tsecurity.NewPrincipal("test-blessing"))
+	ctx1, err := v23.SetPrincipal(ctx, tsecurity.NewPrincipal("test-blessing"))
 	if err != nil {
 		t.Fatal(err)
 	}
-	call, err := veyron2.GetClient(ctx1).StartCall(ctx1, name, "Sleep", nil)
+	call, err := v23.GetClient(ctx1).StartCall(ctx1, name, "Sleep", nil)
 	if err != nil {
 		t.Fatalf("unexpected error: %s", err)
 	}
@@ -277,7 +277,7 @@
 	defer fn()
 
 	ctx, cancel := context.WithCancel(ctx)
-	call, err := veyron2.GetClient(ctx).StartCall(ctx, name, "Sleep", nil)
+	call, err := v23.GetClient(ctx).StartCall(ctx, name, "Sleep", nil)
 	if err != nil {
 		t.Fatalf("unexpected error: %s", err)
 	}
@@ -295,7 +295,7 @@
 	defer fn()
 
 	ctx, cancel := context.WithCancel(ctx)
-	call, err := veyron2.GetClient(ctx).StartCall(ctx, name, "Sleep", nil)
+	call, err := v23.GetClient(ctx).StartCall(ctx, name, "Sleep", nil)
 	if err != nil {
 		t.Fatalf("unexpected error: %s", err)
 	}
@@ -328,7 +328,7 @@
 	}
 	go startServer()
 
-	call, err := veyron2.GetClient(ctx).StartCall(ctx, name, "Echo", []interface{}{"hello"})
+	call, err := v23.GetClient(ctx).StartCall(ctx, name, "Echo", []interface{}{"hello"})
 	if err != nil {
 		t.Fatalf("unexpected error: %s", err)
 	}
@@ -370,7 +370,7 @@
 
 	want := 10
 	ctx, _ = context.WithTimeout(ctx, 300*time.Millisecond)
-	call, err := veyron2.GetClient(ctx).StartCall(ctx, name, "Source", []interface{}{want})
+	call, err := v23.GetClient(ctx).StartCall(ctx, name, "Source", []interface{}{want})
 	if err != nil {
 		if !verror.Is(err, verror.ErrTimeout.ID) {
 			t.Fatalf("verror should be a timeout not %s: stack %s",
@@ -403,7 +403,7 @@
 	name, fn := initServer(t, ctx)
 	defer fn()
 
-	call, err := veyron2.GetClient(ctx).StartCall(ctx, name, "Sink", nil)
+	call, err := v23.GetClient(ctx).StartCall(ctx, name, "Sink", nil)
 	if err != nil {
 		t.Fatalf("unexpected error: %s", err)
 	}
@@ -435,7 +435,7 @@
 	defer fn()
 	name := "noservers"
 	ctx, _ = context.WithTimeout(ctx, 1000*time.Millisecond)
-	call, err := veyron2.GetClient(ctx).StartCall(ctx, name, "Sleep", nil)
+	call, err := v23.GetClient(ctx).StartCall(ctx, name, "Sleep", nil)
 	if err != nil {
 		testForVerror(t, err, verror.ErrNoServers)
 		return
@@ -447,12 +447,12 @@
 func TestNoMountTable(t *testing.T) {
 	ctx, shutdown := newCtx()
 	defer shutdown()
-	veyron2.GetNamespace(ctx).SetRoots()
+	v23.GetNamespace(ctx).SetRoots()
 	name := "a_mount_table_entry"
 
 	// If there is no mount table, then we'll get a NoServers error message.
 	ctx, _ = context.WithTimeout(ctx, 300*time.Millisecond)
-	_, err := veyron2.GetClient(ctx).StartCall(ctx, name, "Sleep", nil)
+	_, err := v23.GetClient(ctx).StartCall(ctx, name, "Sleep", nil)
 	testForVerror(t, err, verror.ErrNoServers)
 }
 
@@ -463,7 +463,7 @@
 	ctx, shutdown := testutil.InitForTest()
 	defer shutdown()
 
-	sh, err := modules.NewShell(ctx, veyron2.GetPrincipal(ctx))
+	sh, err := modules.NewShell(ctx, v23.GetPrincipal(ctx))
 	if err != nil {
 		t.Fatalf("unexpected error: %s", err)
 	}
@@ -480,7 +480,7 @@
 
 	makeCall := func(ctx *context.T, opts ...ipc.CallOpt) (string, error) {
 		ctx, _ = context.WithDeadline(ctx, time.Now().Add(10*time.Second))
-		call, err := veyron2.GetClient(ctx).StartCall(ctx, serverName, "Echo", []interface{}{"bratman"}, opts...)
+		call, err := v23.GetClient(ctx).StartCall(ctx, serverName, "Echo", []interface{}{"bratman"}, opts...)
 		if err != nil {
 			return "", fmt.Errorf("START: %s", err)
 		}
diff --git a/runtimes/google/ipc/debug_test.go b/runtimes/google/ipc/debug_test.go
index e53554a..ec76b6d 100644
--- a/runtimes/google/ipc/debug_test.go
+++ b/runtimes/google/ipc/debug_test.go
@@ -6,10 +6,10 @@
 	"sort"
 	"testing"
 
-	"v.io/core/veyron2/ipc"
-	"v.io/core/veyron2/naming"
-	"v.io/core/veyron2/options"
-	"v.io/core/veyron2/vlog"
+	"v.io/v23/ipc"
+	"v.io/v23/naming"
+	"v.io/v23/options"
+	"v.io/v23/vlog"
 
 	"v.io/core/veyron/lib/stats"
 	tsecurity "v.io/core/veyron/lib/testutil/security"
diff --git a/runtimes/google/ipc/default_authorizer.go b/runtimes/google/ipc/default_authorizer.go
index 8fed8d9..6785793 100644
--- a/runtimes/google/ipc/default_authorizer.go
+++ b/runtimes/google/ipc/default_authorizer.go
@@ -1,7 +1,7 @@
 package ipc
 
 import (
-	"v.io/core/veyron2/security"
+	"v.io/v23/security"
 )
 
 // defaultAuthorizer implements a security.Authorizer with an authorization
diff --git a/runtimes/google/ipc/default_authorizer_test.go b/runtimes/google/ipc/default_authorizer_test.go
index 45af448..bbd19e7 100644
--- a/runtimes/google/ipc/default_authorizer_test.go
+++ b/runtimes/google/ipc/default_authorizer_test.go
@@ -4,9 +4,9 @@
 	"testing"
 
 	vsecurity "v.io/core/veyron/security"
-	"v.io/core/veyron2"
-	"v.io/core/veyron2/context"
-	"v.io/core/veyron2/security"
+	"v.io/v23"
+	"v.io/v23/context"
+	"v.io/v23/security"
 )
 
 func TestDefaultAuthorizer(t *testing.T) {
@@ -75,7 +75,7 @@
 			U(bob, B(che, "family")),
 			true}, // {ali, bob/friend, che/friend} talking to {bob, che/family}
 	}
-	ctx, shutdown := veyron2.Init()
+	ctx, shutdown := v23.Init()
 	defer shutdown()
 	for _, test := range tests {
 		err := authorizer.Authorize(&mockSecurityContext{
diff --git a/runtimes/google/ipc/discharges.go b/runtimes/google/ipc/discharges.go
index c3db3fa..dab6861 100644
--- a/runtimes/google/ipc/discharges.go
+++ b/runtimes/google/ipc/discharges.go
@@ -5,12 +5,12 @@
 
 	"v.io/core/veyron/runtimes/google/ipc/stream/vc"
 
-	"v.io/core/veyron2/context"
-	"v.io/core/veyron2/ipc"
-	"v.io/core/veyron2/security"
-	"v.io/core/veyron2/vdl"
-	"v.io/core/veyron2/vlog"
-	"v.io/core/veyron2/vtrace"
+	"v.io/v23/context"
+	"v.io/v23/ipc"
+	"v.io/v23/security"
+	"v.io/v23/vdl"
+	"v.io/v23/vlog"
+	"v.io/v23/vtrace"
 )
 
 // discharger implements vc.DischargeClient.
diff --git a/runtimes/google/ipc/errors.vdl b/runtimes/google/ipc/errors.vdl
index 8a1118c..e3b55e3 100644
--- a/runtimes/google/ipc/errors.vdl
+++ b/runtimes/google/ipc/errors.vdl
@@ -1,6 +1,6 @@
 package ipc
 
-import "v.io/core/veyron2/security"
+import "v.io/v23/security"
 
 error (
 	InvalidBlessings(remote []string, remoteErr []security.RejectedBlessing, local []string, localErr []security.RejectedBlessing) {
diff --git a/runtimes/google/ipc/errors.vdl.go b/runtimes/google/ipc/errors.vdl.go
index 820833a..be47167 100644
--- a/runtimes/google/ipc/errors.vdl.go
+++ b/runtimes/google/ipc/errors.vdl.go
@@ -5,12 +5,12 @@
 
 import (
 	// VDL system imports
-	"v.io/core/veyron2/context"
-	"v.io/core/veyron2/i18n"
-	"v.io/core/veyron2/verror"
+	"v.io/v23/context"
+	"v.io/v23/i18n"
+	"v.io/v23/verror"
 
 	// VDL user imports
-	"v.io/core/veyron2/security"
+	"v.io/v23/security"
 )
 
 var (
diff --git a/runtimes/google/ipc/full_test.go b/runtimes/google/ipc/full_test.go
index 811c8b9..13d3b1e 100644
--- a/runtimes/google/ipc/full_test.go
+++ b/runtimes/google/ipc/full_test.go
@@ -16,17 +16,17 @@
 	"time"
 
 	"v.io/core/veyron/runtimes/google/ipc/stream"
-	"v.io/core/veyron2/context"
-	"v.io/core/veyron2/ipc"
-	"v.io/core/veyron2/naming"
-	"v.io/core/veyron2/options"
-	"v.io/core/veyron2/security"
-	"v.io/core/veyron2/services/security/access"
-	"v.io/core/veyron2/uniqueid"
-	"v.io/core/veyron2/vdl"
-	"v.io/core/veyron2/verror"
-	"v.io/core/veyron2/vlog"
-	"v.io/core/veyron2/vtrace"
+	"v.io/v23/context"
+	"v.io/v23/ipc"
+	"v.io/v23/naming"
+	"v.io/v23/options"
+	"v.io/v23/security"
+	"v.io/v23/services/security/access"
+	"v.io/v23/uniqueid"
+	"v.io/v23/vdl"
+	"v.io/v23/verror"
+	"v.io/v23/vlog"
+	"v.io/v23/vtrace"
 
 	"v.io/core/veyron/lib/flags"
 	"v.io/core/veyron/lib/netstate"
diff --git a/runtimes/google/ipc/glob_test.go b/runtimes/google/ipc/glob_test.go
index 9d6fd45..4ae5dd2 100644
--- a/runtimes/google/ipc/glob_test.go
+++ b/runtimes/google/ipc/glob_test.go
@@ -6,11 +6,11 @@
 	"strings"
 	"testing"
 
-	"v.io/core/veyron2"
-	"v.io/core/veyron2/context"
-	"v.io/core/veyron2/ipc"
-	"v.io/core/veyron2/naming"
-	"v.io/core/veyron2/security"
+	"v.io/v23"
+	"v.io/v23/context"
+	"v.io/v23/ipc"
+	"v.io/v23/naming"
+	"v.io/v23/security"
 
 	"v.io/core/veyron/lib/glob"
 	"v.io/core/veyron/lib/testutil"
@@ -18,11 +18,11 @@
 )
 
 func startServer(ctx *context.T, tree *node) (string, func(), error) {
-	server, err := veyron2.NewServer(ctx)
+	server, err := v23.NewServer(ctx)
 	if err != nil {
 		return "", nil, fmt.Errorf("failed to start debug server: %v", err)
 	}
-	endpoints, err := server.Listen(veyron2.GetListenSpec(ctx))
+	endpoints, err := server.Listen(v23.GetListenSpec(ctx))
 	if err != nil {
 		return "", nil, fmt.Errorf("failed to listen: %v", err)
 	}
diff --git a/runtimes/google/ipc/protocols/tcp/init.go b/runtimes/google/ipc/protocols/tcp/init.go
index 9010368..e1b0891 100644
--- a/runtimes/google/ipc/protocols/tcp/init.go
+++ b/runtimes/google/ipc/protocols/tcp/init.go
@@ -6,8 +6,8 @@
 
 	"v.io/core/veyron/lib/tcputil"
 
-	"v.io/core/veyron2/ipc"
-	"v.io/core/veyron2/vlog"
+	"v.io/v23/ipc"
+	"v.io/v23/vlog"
 )
 
 func init() {
diff --git a/runtimes/google/ipc/protocols/ws/init.go b/runtimes/google/ipc/protocols/ws/init.go
index 0ad45b5..f218ca0 100644
--- a/runtimes/google/ipc/protocols/ws/init.go
+++ b/runtimes/google/ipc/protocols/ws/init.go
@@ -1,7 +1,7 @@
 package websocket
 
 import (
-	"v.io/core/veyron2/ipc"
+	"v.io/v23/ipc"
 
 	"v.io/core/veyron/lib/websocket"
 )
diff --git a/runtimes/google/ipc/protocols/wsh/init.go b/runtimes/google/ipc/protocols/wsh/init.go
index 7345adf..146a723 100644
--- a/runtimes/google/ipc/protocols/wsh/init.go
+++ b/runtimes/google/ipc/protocols/wsh/init.go
@@ -3,7 +3,7 @@
 package wsh
 
 import (
-	"v.io/core/veyron2/ipc"
+	"v.io/v23/ipc"
 
 	"v.io/core/veyron/lib/websocket"
 )
diff --git a/runtimes/google/ipc/protocols/wsh_nacl/init.go b/runtimes/google/ipc/protocols/wsh_nacl/init.go
index cd10734..a038a6d 100644
--- a/runtimes/google/ipc/protocols/wsh_nacl/init.go
+++ b/runtimes/google/ipc/protocols/wsh_nacl/init.go
@@ -3,7 +3,7 @@
 package wsh_nacl
 
 import (
-	"v.io/core/veyron2/ipc"
+	"v.io/v23/ipc"
 
 	"v.io/core/veyron/lib/websocket"
 )
diff --git a/runtimes/google/ipc/proxy_test.go b/runtimes/google/ipc/proxy_test.go
index 3606d46..4ac7f3c 100644
--- a/runtimes/google/ipc/proxy_test.go
+++ b/runtimes/google/ipc/proxy_test.go
@@ -9,13 +9,13 @@
 	"testing"
 	"time"
 
-	"v.io/core/veyron2/context"
-	"v.io/core/veyron2/ipc"
-	"v.io/core/veyron2/naming"
-	"v.io/core/veyron2/options"
-	"v.io/core/veyron2/security"
-	"v.io/core/veyron2/verror"
-	"v.io/core/veyron2/vtrace"
+	"v.io/v23/context"
+	"v.io/v23/ipc"
+	"v.io/v23/naming"
+	"v.io/v23/options"
+	"v.io/v23/security"
+	"v.io/v23/verror"
+	"v.io/v23/vtrace"
 
 	"v.io/core/veyron/lib/expect"
 	"v.io/core/veyron/lib/flags"
diff --git a/runtimes/google/ipc/reserved.go b/runtimes/google/ipc/reserved.go
index 3ea6276..409ca18 100644
--- a/runtimes/google/ipc/reserved.go
+++ b/runtimes/google/ipc/reserved.go
@@ -4,14 +4,14 @@
 	"strings"
 	"time"
 
-	"v.io/core/veyron2/context"
-	"v.io/core/veyron2/ipc"
-	"v.io/core/veyron2/naming"
-	"v.io/core/veyron2/security"
-	"v.io/core/veyron2/services/security/access"
-	"v.io/core/veyron2/vdl"
-	"v.io/core/veyron2/vdl/vdlroot/src/signature"
-	"v.io/core/veyron2/vlog"
+	"v.io/v23/context"
+	"v.io/v23/ipc"
+	"v.io/v23/naming"
+	"v.io/v23/security"
+	"v.io/v23/services/security/access"
+	"v.io/v23/vdl"
+	"v.io/v23/vdl/vdlroot/src/signature"
+	"v.io/v23/vlog"
 
 	"v.io/core/veyron/lib/glob"
 )
diff --git a/runtimes/google/ipc/resolve_internal_test.go b/runtimes/google/ipc/resolve_internal_test.go
index 0d3268d..637e4c6 100644
--- a/runtimes/google/ipc/resolve_internal_test.go
+++ b/runtimes/google/ipc/resolve_internal_test.go
@@ -1,7 +1,7 @@
 package ipc
 
 import (
-	"v.io/core/veyron2/ipc"
+	"v.io/v23/ipc"
 )
 
 func InternalServerResolveToEndpoint(s ipc.Server, name string) (string, error) {
diff --git a/runtimes/google/ipc/resolve_test.go b/runtimes/google/ipc/resolve_test.go
index d7b5261..973ed3b 100644
--- a/runtimes/google/ipc/resolve_test.go
+++ b/runtimes/google/ipc/resolve_test.go
@@ -5,8 +5,8 @@
 	"testing"
 	"time"
 
-	"v.io/core/veyron2"
-	"v.io/core/veyron2/naming"
+	"v.io/v23"
+	"v.io/v23/naming"
 
 	"v.io/core/veyron/lib/expect"
 	"v.io/core/veyron/lib/modules"
@@ -37,7 +37,7 @@
 	ctx, shutdown := testutil.InitForTest()
 	defer shutdown()
 
-	ns := veyron2.GetNamespace(ctx)
+	ns := v23.GetNamespace(ctx)
 	ns.SetRoots(root)
 
 	proxyEp, _ := inaming.NewEndpoint("proxy.v.io:123")
@@ -47,7 +47,7 @@
 		t.Fatalf("ns.Mount failed: %s", err)
 	}
 
-	server, err := veyron2.NewServer(ctx)
+	server, err := v23.NewServer(ctx)
 	if err != nil {
 		t.Fatalf("runtime.NewServer failed: %s", err)
 	}
diff --git a/runtimes/google/ipc/server.go b/runtimes/google/ipc/server.go
index 5b8a8bb..36545a0 100644
--- a/runtimes/google/ipc/server.go
+++ b/runtimes/google/ipc/server.go
@@ -11,18 +11,18 @@
 	"time"
 
 	"v.io/core/veyron/runtimes/google/ipc/stream"
-	"v.io/core/veyron2/config"
-	"v.io/core/veyron2/context"
-	"v.io/core/veyron2/ipc"
-	"v.io/core/veyron2/naming"
-	"v.io/core/veyron2/options"
-	"v.io/core/veyron2/security"
-	"v.io/core/veyron2/services/security/access"
-	"v.io/core/veyron2/vdl"
-	"v.io/core/veyron2/verror"
-	"v.io/core/veyron2/vlog"
-	"v.io/core/veyron2/vom"
-	"v.io/core/veyron2/vtrace"
+	"v.io/v23/config"
+	"v.io/v23/context"
+	"v.io/v23/ipc"
+	"v.io/v23/naming"
+	"v.io/v23/options"
+	"v.io/v23/security"
+	"v.io/v23/services/security/access"
+	"v.io/v23/vdl"
+	"v.io/v23/verror"
+	"v.io/v23/vlog"
+	"v.io/v23/vom"
+	"v.io/v23/vtrace"
 
 	"v.io/core/veyron/lib/netstate"
 	"v.io/core/veyron/lib/stats"
diff --git a/runtimes/google/ipc/server_test.go b/runtimes/google/ipc/server_test.go
index 320f9e1..23b002a 100644
--- a/runtimes/google/ipc/server_test.go
+++ b/runtimes/google/ipc/server_test.go
@@ -7,13 +7,13 @@
 	"testing"
 	"time"
 
-	"v.io/core/veyron2/config"
-	"v.io/core/veyron2/context"
-	"v.io/core/veyron2/ipc"
-	"v.io/core/veyron2/naming"
-	"v.io/core/veyron2/security"
-	"v.io/core/veyron2/verror"
-	"v.io/core/veyron2/vlog"
+	"v.io/v23/config"
+	"v.io/v23/context"
+	"v.io/v23/ipc"
+	"v.io/v23/naming"
+	"v.io/v23/security"
+	"v.io/v23/verror"
+	"v.io/v23/vlog"
 
 	"v.io/core/veyron/lib/netstate"
 	tsecurity "v.io/core/veyron/lib/testutil/security"
diff --git a/runtimes/google/ipc/signature_test.go b/runtimes/google/ipc/signature_test.go
index 12215eb..24b5cd6 100644
--- a/runtimes/google/ipc/signature_test.go
+++ b/runtimes/google/ipc/signature_test.go
@@ -5,24 +5,24 @@
 	"reflect"
 	"testing"
 
-	"v.io/core/veyron2"
-	"v.io/core/veyron2/context"
-	"v.io/core/veyron2/ipc"
-	"v.io/core/veyron2/ipc/reserved"
-	"v.io/core/veyron2/naming"
-	"v.io/core/veyron2/vdl"
-	"v.io/core/veyron2/vdl/vdlroot/src/signature"
+	"v.io/v23"
+	"v.io/v23/context"
+	"v.io/v23/ipc"
+	"v.io/v23/ipc/reserved"
+	"v.io/v23/naming"
+	"v.io/v23/vdl"
+	"v.io/v23/vdl/vdlroot/src/signature"
 
 	"v.io/core/veyron/lib/testutil"
 	_ "v.io/core/veyron/profiles"
 )
 
 func startSigServer(ctx *context.T, sig sigImpl) (string, func(), error) {
-	server, err := veyron2.NewServer(ctx)
+	server, err := v23.NewServer(ctx)
 	if err != nil {
 		return "", nil, fmt.Errorf("failed to start sig server: %v", err)
 	}
-	eps, err := server.Listen(veyron2.GetListenSpec(ctx))
+	eps, err := server.Listen(v23.GetListenSpec(ctx))
 	if err != nil {
 		return "", nil, fmt.Errorf("failed to listen: %v", err)
 	}
diff --git a/runtimes/google/ipc/simple_test.go b/runtimes/google/ipc/simple_test.go
index f8546e8..b393244 100644
--- a/runtimes/google/ipc/simple_test.go
+++ b/runtimes/google/ipc/simple_test.go
@@ -5,8 +5,8 @@
 	"testing"
 	"time"
 
-	"v.io/core/veyron2"
-	"v.io/core/veyron2/ipc"
+	"v.io/v23"
+	"v.io/v23/ipc"
 )
 
 type simple struct {
@@ -71,7 +71,7 @@
 	name, fn := initServer(t, ctx)
 	defer fn()
 
-	client := veyron2.GetClient(ctx)
+	client := v23.GetClient(ctx)
 	call, err := client.StartCall(ctx, name, "Ping", nil)
 	if err != nil {
 		t.Fatalf("unexpected error: %s", err)
@@ -92,7 +92,7 @@
 	defer fn()
 
 	inc := 1
-	call, err := veyron2.GetClient(ctx).StartCall(ctx, name, "Inc", []interface{}{inc})
+	call, err := v23.GetClient(ctx).StartCall(ctx, name, "Inc", []interface{}{inc})
 	if err != nil {
 		t.Fatalf("unexpected error: %s", err)
 	}
diff --git a/runtimes/google/ipc/sort_endpoints.go b/runtimes/google/ipc/sort_endpoints.go
index 53817fa..29d738f 100644
--- a/runtimes/google/ipc/sort_endpoints.go
+++ b/runtimes/google/ipc/sort_endpoints.go
@@ -5,8 +5,8 @@
 	"net"
 	"sort"
 
-	"v.io/core/veyron2/naming"
-	"v.io/core/veyron2/vlog"
+	"v.io/v23/naming"
+	"v.io/v23/vlog"
 
 	"v.io/core/veyron/lib/netstate"
 	"v.io/core/veyron/runtimes/google/ipc/version"
diff --git a/runtimes/google/ipc/sort_internal_test.go b/runtimes/google/ipc/sort_internal_test.go
index f7a1419..cdf3bd8 100644
--- a/runtimes/google/ipc/sort_internal_test.go
+++ b/runtimes/google/ipc/sort_internal_test.go
@@ -6,8 +6,8 @@
 	"strings"
 	"testing"
 
-	"v.io/core/veyron2/ipc/version"
-	"v.io/core/veyron2/naming"
+	"v.io/v23/ipc/version"
+	"v.io/v23/naming"
 )
 
 func servers2names(servers []naming.MountedServer) []string {
diff --git a/runtimes/google/ipc/stats.go b/runtimes/google/ipc/stats.go
index dbcdda4..f07561e 100644
--- a/runtimes/google/ipc/stats.go
+++ b/runtimes/google/ipc/stats.go
@@ -8,7 +8,7 @@
 	"v.io/core/veyron/lib/stats/counter"
 	"v.io/core/veyron/lib/stats/histogram"
 
-	"v.io/core/veyron2/naming"
+	"v.io/v23/naming"
 )
 
 type ipcStats struct {
diff --git a/runtimes/google/ipc/stream/benchmark/dial_vc.go b/runtimes/google/ipc/stream/benchmark/dial_vc.go
index 387e392..489be38 100644
--- a/runtimes/google/ipc/stream/benchmark/dial_vc.go
+++ b/runtimes/google/ipc/stream/benchmark/dial_vc.go
@@ -8,8 +8,8 @@
 	_ "v.io/core/veyron/profiles/static"
 	"v.io/core/veyron/runtimes/google/ipc/stream/manager"
 
-	"v.io/core/veyron2/naming"
-	"v.io/core/veyron2/options"
+	"v.io/v23/naming"
+	"v.io/v23/options"
 )
 
 // benchmarkDialVC measures VC creation time over the underlying VIF.
diff --git a/runtimes/google/ipc/stream/benchmark/dial_vif.go b/runtimes/google/ipc/stream/benchmark/dial_vif.go
index 6413925..62b6bd5 100644
--- a/runtimes/google/ipc/stream/benchmark/dial_vif.go
+++ b/runtimes/google/ipc/stream/benchmark/dial_vif.go
@@ -8,8 +8,8 @@
 	"v.io/core/veyron/lib/testutil/benchmark"
 	"v.io/core/veyron/runtimes/google/ipc/stream/vif"
 
-	"v.io/core/veyron2/naming"
-	"v.io/core/veyron2/options"
+	"v.io/v23/naming"
+	"v.io/v23/options"
 )
 
 // benchmarkDialVIF measures VIF creation time over the underlying net connection.
diff --git a/runtimes/google/ipc/stream/benchmark/throughput_flow.go b/runtimes/google/ipc/stream/benchmark/throughput_flow.go
index 0aa00fe..8ab5def 100644
--- a/runtimes/google/ipc/stream/benchmark/throughput_flow.go
+++ b/runtimes/google/ipc/stream/benchmark/throughput_flow.go
@@ -7,8 +7,8 @@
 	"v.io/core/veyron/runtimes/google/ipc/stream/manager"
 
 	"v.io/core/veyron/runtimes/google/ipc/stream"
-	"v.io/core/veyron2/naming"
-	"v.io/core/veyron2/options"
+	"v.io/v23/naming"
+	"v.io/v23/options"
 )
 
 const (
diff --git a/runtimes/google/ipc/stream/manager/listener.go b/runtimes/google/ipc/stream/manager/listener.go
index be0a658..7b89f71 100644
--- a/runtimes/google/ipc/stream/manager/listener.go
+++ b/runtimes/google/ipc/stream/manager/listener.go
@@ -13,10 +13,10 @@
 	inaming "v.io/core/veyron/runtimes/google/naming"
 
 	"v.io/core/veyron/runtimes/google/ipc/stream"
-	"v.io/core/veyron2/naming"
-	"v.io/core/veyron2/verror"
-	"v.io/core/veyron2/vlog"
-	"v.io/core/veyron2/vom"
+	"v.io/v23/naming"
+	"v.io/v23/verror"
+	"v.io/v23/vlog"
+	"v.io/v23/vom"
 )
 
 var errListenerIsClosed = errors.New("Listener has been Closed")
diff --git a/runtimes/google/ipc/stream/manager/manager.go b/runtimes/google/ipc/stream/manager/manager.go
index 8e1d16e..ca08ba1 100644
--- a/runtimes/google/ipc/stream/manager/manager.go
+++ b/runtimes/google/ipc/stream/manager/manager.go
@@ -9,10 +9,10 @@
 	"sync"
 	"time"
 
-	"v.io/core/veyron2/ipc"
-	"v.io/core/veyron2/naming"
-	"v.io/core/veyron2/verror"
-	"v.io/core/veyron2/vlog"
+	"v.io/v23/ipc"
+	"v.io/v23/naming"
+	"v.io/v23/verror"
+	"v.io/v23/vlog"
 
 	"v.io/core/veyron/lib/stats"
 	"v.io/core/veyron/runtimes/google/ipc/stream"
diff --git a/runtimes/google/ipc/stream/manager/manager_test.go b/runtimes/google/ipc/stream/manager/manager_test.go
index cd8ac68..2947930 100644
--- a/runtimes/google/ipc/stream/manager/manager_test.go
+++ b/runtimes/google/ipc/stream/manager/manager_test.go
@@ -13,10 +13,10 @@
 	"time"
 
 	"v.io/core/veyron/runtimes/google/ipc/stream"
-	"v.io/core/veyron2/ipc"
-	"v.io/core/veyron2/naming"
-	"v.io/core/veyron2/security"
-	"v.io/core/veyron2/vlog"
+	"v.io/v23/ipc"
+	"v.io/v23/naming"
+	"v.io/v23/security"
+	"v.io/v23/vlog"
 
 	"v.io/core/veyron/lib/expect"
 	"v.io/core/veyron/lib/modules"
diff --git a/runtimes/google/ipc/stream/message/control.go b/runtimes/google/ipc/stream/message/control.go
index e7f3f1a..6cdf9f8 100644
--- a/runtimes/google/ipc/stream/message/control.go
+++ b/runtimes/google/ipc/stream/message/control.go
@@ -8,7 +8,7 @@
 	"v.io/core/veyron/runtimes/google/ipc/stream/id"
 	"v.io/core/veyron/runtimes/google/ipc/version"
 	inaming "v.io/core/veyron/runtimes/google/naming"
-	"v.io/core/veyron2/naming"
+	"v.io/v23/naming"
 )
 
 // Control is the interface implemented by all control messages.
diff --git a/runtimes/google/ipc/stream/message/message.go b/runtimes/google/ipc/stream/message/message.go
index 9746efb..0015964 100644
--- a/runtimes/google/ipc/stream/message/message.go
+++ b/runtimes/google/ipc/stream/message/message.go
@@ -67,7 +67,7 @@
 	"v.io/core/veyron/runtimes/google/ipc/stream/crypto"
 	"v.io/core/veyron/runtimes/google/ipc/stream/id"
 	"v.io/core/veyron/runtimes/google/lib/iobuf"
-	"v.io/core/veyron2/vlog"
+	"v.io/v23/vlog"
 )
 
 const (
diff --git a/runtimes/google/ipc/stream/message/message_test.go b/runtimes/google/ipc/stream/message/message_test.go
index d4433eb..dd8bc1c 100644
--- a/runtimes/google/ipc/stream/message/message_test.go
+++ b/runtimes/google/ipc/stream/message/message_test.go
@@ -8,7 +8,7 @@
 
 	"v.io/core/veyron/runtimes/google/ipc/version"
 	"v.io/core/veyron/runtimes/google/lib/iobuf"
-	"v.io/core/veyron2/naming"
+	"v.io/v23/naming"
 )
 
 // testControlCipher is a super-simple cipher that xor's each byte of the
diff --git a/runtimes/google/ipc/stream/model.go b/runtimes/google/ipc/stream/model.go
index a7c4f08..b98e3db 100644
--- a/runtimes/google/ipc/stream/model.go
+++ b/runtimes/google/ipc/stream/model.go
@@ -3,8 +3,8 @@
 import (
 	"io"
 
-	"v.io/core/veyron2/naming"
-	"v.io/core/veyron2/security"
+	"v.io/v23/naming"
+	"v.io/v23/security"
 )
 
 // Flow is the interface for a flow-controlled channel multiplexed on a Virtual
diff --git a/runtimes/google/ipc/stream/proxy/protocol.vdl.go b/runtimes/google/ipc/stream/proxy/protocol.vdl.go
index 818fc20..5a85fb1 100644
--- a/runtimes/google/ipc/stream/proxy/protocol.vdl.go
+++ b/runtimes/google/ipc/stream/proxy/protocol.vdl.go
@@ -5,7 +5,7 @@
 
 import (
 	// VDL system imports
-	"v.io/core/veyron2/vdl"
+	"v.io/v23/vdl"
 )
 
 // Request is the message sent by a server to request that the proxy route
diff --git a/runtimes/google/ipc/stream/proxy/proxy.go b/runtimes/google/ipc/stream/proxy/proxy.go
index 5c2f9c7..c1fbd18 100644
--- a/runtimes/google/ipc/stream/proxy/proxy.go
+++ b/runtimes/google/ipc/stream/proxy/proxy.go
@@ -6,12 +6,12 @@
 	"net"
 	"sync"
 
-	"v.io/core/veyron2/ipc"
-	"v.io/core/veyron2/naming"
-	"v.io/core/veyron2/security"
-	"v.io/core/veyron2/verror"
-	"v.io/core/veyron2/vlog"
-	"v.io/core/veyron2/vom"
+	"v.io/v23/ipc"
+	"v.io/v23/naming"
+	"v.io/v23/security"
+	"v.io/v23/verror"
+	"v.io/v23/vlog"
+	"v.io/v23/vom"
 
 	"v.io/core/veyron/runtimes/google/ipc/stream/crypto"
 	"v.io/core/veyron/runtimes/google/ipc/stream/id"
diff --git a/runtimes/google/ipc/stream/proxy/proxy_test.go b/runtimes/google/ipc/stream/proxy/proxy_test.go
index 86920f7..3c8c283 100644
--- a/runtimes/google/ipc/stream/proxy/proxy_test.go
+++ b/runtimes/google/ipc/stream/proxy/proxy_test.go
@@ -9,7 +9,7 @@
 	"testing"
 
 	"v.io/core/veyron/runtimes/google/ipc/stream"
-	"v.io/core/veyron2/naming"
+	"v.io/v23/naming"
 
 	tsecurity "v.io/core/veyron/lib/testutil/security"
 	_ "v.io/core/veyron/profiles"
diff --git a/runtimes/google/ipc/stream/vc/auth.go b/runtimes/google/ipc/stream/vc/auth.go
index a176017..bb7a256 100644
--- a/runtimes/google/ipc/stream/vc/auth.go
+++ b/runtimes/google/ipc/stream/vc/auth.go
@@ -9,10 +9,10 @@
 	"v.io/core/veyron/runtimes/google/ipc/stream/crypto"
 	"v.io/core/veyron/runtimes/google/lib/iobuf"
 
-	"v.io/core/veyron2/context"
-	"v.io/core/veyron2/ipc/version"
-	"v.io/core/veyron2/security"
-	"v.io/core/veyron2/vom"
+	"v.io/v23/context"
+	"v.io/v23/ipc/version"
+	"v.io/v23/security"
+	"v.io/v23/vom"
 )
 
 var (
diff --git a/runtimes/google/ipc/stream/vc/errors.vdl b/runtimes/google/ipc/stream/vc/errors.vdl
index fe6e864..9f4814f 100644
--- a/runtimes/google/ipc/stream/vc/errors.vdl
+++ b/runtimes/google/ipc/stream/vc/errors.vdl
@@ -1,7 +1,7 @@
 package vc
 
 import (
-	"v.io/core/veyron2/security"
+	"v.io/v23/security"
 )
 
 error (
diff --git a/runtimes/google/ipc/stream/vc/errors.vdl.go b/runtimes/google/ipc/stream/vc/errors.vdl.go
index 08fb82f..a7de1e4 100644
--- a/runtimes/google/ipc/stream/vc/errors.vdl.go
+++ b/runtimes/google/ipc/stream/vc/errors.vdl.go
@@ -5,12 +5,12 @@
 
 import (
 	// VDL system imports
-	"v.io/core/veyron2/context"
-	"v.io/core/veyron2/i18n"
-	"v.io/core/veyron2/verror"
+	"v.io/v23/context"
+	"v.io/v23/i18n"
+	"v.io/v23/verror"
 
 	// VDL user imports
-	"v.io/core/veyron2/security"
+	"v.io/v23/security"
 )
 
 var (
diff --git a/runtimes/google/ipc/stream/vc/flow.go b/runtimes/google/ipc/stream/vc/flow.go
index f2cd456..b86ffba 100644
--- a/runtimes/google/ipc/stream/vc/flow.go
+++ b/runtimes/google/ipc/stream/vc/flow.go
@@ -2,8 +2,8 @@
 
 import (
 	"v.io/core/veyron/runtimes/google/ipc/stream"
-	"v.io/core/veyron2/naming"
-	"v.io/core/veyron2/security"
+	"v.io/v23/naming"
+	"v.io/v23/security"
 )
 
 type flow struct {
diff --git a/runtimes/google/ipc/stream/vc/init.go b/runtimes/google/ipc/stream/vc/init.go
index 2655b9b..efa0cab 100644
--- a/runtimes/google/ipc/stream/vc/init.go
+++ b/runtimes/google/ipc/stream/vc/init.go
@@ -6,8 +6,8 @@
 	"crypto/rand"
 	"fmt"
 
-	"v.io/core/veyron2/security"
-	"v.io/core/veyron2/vlog"
+	"v.io/v23/security"
+	"v.io/v23/vlog"
 )
 
 var AnonymousPrincipal security.Principal
diff --git a/runtimes/google/ipc/stream/vc/listener_test.go b/runtimes/google/ipc/stream/vc/listener_test.go
index 1ebb9e7..6cabc70 100644
--- a/runtimes/google/ipc/stream/vc/listener_test.go
+++ b/runtimes/google/ipc/stream/vc/listener_test.go
@@ -4,8 +4,8 @@
 	"testing"
 
 	"v.io/core/veyron/runtimes/google/ipc/stream"
-	"v.io/core/veyron2/naming"
-	"v.io/core/veyron2/security"
+	"v.io/v23/naming"
+	"v.io/v23/security"
 )
 
 type noopFlow struct{}
diff --git a/runtimes/google/ipc/stream/vc/vc.go b/runtimes/google/ipc/stream/vc/vc.go
index 074bc72..5c45530 100644
--- a/runtimes/google/ipc/stream/vc/vc.go
+++ b/runtimes/google/ipc/stream/vc/vc.go
@@ -18,13 +18,13 @@
 	vsync "v.io/core/veyron/runtimes/google/lib/sync"
 
 	"v.io/core/veyron/runtimes/google/ipc/stream"
-	"v.io/core/veyron2/context"
-	"v.io/core/veyron2/ipc/version"
-	"v.io/core/veyron2/naming"
-	"v.io/core/veyron2/options"
-	"v.io/core/veyron2/security"
-	"v.io/core/veyron2/vlog"
-	"v.io/core/veyron2/vtrace"
+	"v.io/v23/context"
+	"v.io/v23/ipc/version"
+	"v.io/v23/naming"
+	"v.io/v23/options"
+	"v.io/v23/security"
+	"v.io/v23/vlog"
+	"v.io/v23/vtrace"
 )
 
 var (
diff --git a/runtimes/google/ipc/stream/vc/vc_test.go b/runtimes/google/ipc/stream/vc/vc_test.go
index 382dcc4..8d401b8 100644
--- a/runtimes/google/ipc/stream/vc/vc_test.go
+++ b/runtimes/google/ipc/stream/vc/vc_test.go
@@ -22,11 +22,11 @@
 	"v.io/core/veyron/runtimes/google/lib/iobuf"
 
 	"v.io/core/veyron/runtimes/google/ipc/stream"
-	"v.io/core/veyron2/context"
-	"v.io/core/veyron2/ipc/version"
-	"v.io/core/veyron2/naming"
-	"v.io/core/veyron2/options"
-	"v.io/core/veyron2/security"
+	"v.io/v23/context"
+	"v.io/v23/ipc/version"
+	"v.io/v23/naming"
+	"v.io/v23/options"
+	"v.io/v23/security"
 )
 
 //go:generate v23 test generate
diff --git a/runtimes/google/ipc/stream/vif/auth.go b/runtimes/google/ipc/stream/vif/auth.go
index b14069b..f02d085 100644
--- a/runtimes/google/ipc/stream/vif/auth.go
+++ b/runtimes/google/ipc/stream/vif/auth.go
@@ -14,10 +14,10 @@
 	"v.io/core/veyron/runtimes/google/ipc/stream/vc"
 	"v.io/core/veyron/runtimes/google/ipc/version"
 	"v.io/core/veyron/runtimes/google/lib/iobuf"
-	"v.io/core/veyron2/context"
-	ipcversion "v.io/core/veyron2/ipc/version"
-	"v.io/core/veyron2/options"
-	"v.io/core/veyron2/security"
+	"v.io/v23/context"
+	ipcversion "v.io/v23/ipc/version"
+	"v.io/v23/options"
+	"v.io/v23/security"
 )
 
 var (
diff --git a/runtimes/google/ipc/stream/vif/set_test.go b/runtimes/google/ipc/stream/vif/set_test.go
index d2ee78f..274f8c7 100644
--- a/runtimes/google/ipc/stream/vif/set_test.go
+++ b/runtimes/google/ipc/stream/vif/set_test.go
@@ -9,7 +9,7 @@
 	"testing"
 
 	"v.io/core/veyron/runtimes/google/ipc/stream/vif"
-	"v.io/core/veyron2/naming"
+	"v.io/v23/naming"
 )
 
 func TestSetWithPipes(t *testing.T) {
diff --git a/runtimes/google/ipc/stream/vif/vif.go b/runtimes/google/ipc/stream/vif/vif.go
index f65189a..68e93ed 100644
--- a/runtimes/google/ipc/stream/vif/vif.go
+++ b/runtimes/google/ipc/stream/vif/vif.go
@@ -26,10 +26,10 @@
 	"v.io/core/veyron/runtimes/google/lib/pcqueue"
 	vsync "v.io/core/veyron/runtimes/google/lib/sync"
 	"v.io/core/veyron/runtimes/google/lib/upcqueue"
-	"v.io/core/veyron2/naming"
-	"v.io/core/veyron2/verror"
-	"v.io/core/veyron2/vlog"
-	"v.io/core/veyron2/vtrace"
+	"v.io/v23/naming"
+	"v.io/v23/verror"
+	"v.io/v23/vlog"
+	"v.io/v23/vtrace"
 )
 
 const pkgPath = "v.io/core/veyron/runtimes/google/ipc/stream/vif"
diff --git a/runtimes/google/ipc/stream/vif/vif_test.go b/runtimes/google/ipc/stream/vif/vif_test.go
index 8b7a06d..738c416 100644
--- a/runtimes/google/ipc/stream/vif/vif_test.go
+++ b/runtimes/google/ipc/stream/vif/vif_test.go
@@ -23,8 +23,8 @@
 	iversion "v.io/core/veyron/runtimes/google/ipc/version"
 
 	"v.io/core/veyron/runtimes/google/ipc/stream"
-	"v.io/core/veyron2/ipc/version"
-	"v.io/core/veyron2/naming"
+	"v.io/v23/ipc/version"
+	"v.io/v23/naming"
 )
 
 //go:generate v23 test generate
diff --git a/runtimes/google/ipc/testutil_test.go b/runtimes/google/ipc/testutil_test.go
index 280b33f..6c43a06 100644
--- a/runtimes/google/ipc/testutil_test.go
+++ b/runtimes/google/ipc/testutil_test.go
@@ -4,8 +4,8 @@
 	"reflect"
 	"testing"
 
-	"v.io/core/veyron2/security"
-	"v.io/core/veyron2/verror"
+	"v.io/v23/security"
+	"v.io/v23/verror"
 )
 
 func makeResultPtrs(ins []interface{}) []interface{} {
diff --git a/runtimes/google/ipc/version/version.go b/runtimes/google/ipc/version/version.go
index 542fd63..16d8395 100644
--- a/runtimes/google/ipc/version/version.go
+++ b/runtimes/google/ipc/version/version.go
@@ -5,8 +5,8 @@
 
 	inaming "v.io/core/veyron/runtimes/google/naming"
 
-	"v.io/core/veyron2/ipc/version"
-	"v.io/core/veyron2/naming"
+	"v.io/v23/ipc/version"
+	"v.io/v23/naming"
 )
 
 // Range represents a range of IPC versions.
diff --git a/runtimes/google/ipc/version/version_test.go b/runtimes/google/ipc/version/version_test.go
index dcc388a..5b6d850 100644
--- a/runtimes/google/ipc/version/version_test.go
+++ b/runtimes/google/ipc/version/version_test.go
@@ -5,8 +5,8 @@
 
 	inaming "v.io/core/veyron/runtimes/google/naming"
 
-	"v.io/core/veyron2/ipc/version"
-	"v.io/core/veyron2/naming"
+	"v.io/v23/ipc/version"
+	"v.io/v23/naming"
 )
 
 func TestCommonVersion(t *testing.T) {
