diff --git a/.golangci.yml b/.golangci.yml
index d0578aae1b21..ed2e69937c83 100644
--- a/.golangci.yml
+++ b/.golangci.yml
@@ -54,7 +54,7 @@ issues:
     - text: "ST1016:"
       linters:
         - stylecheck
-    - path: "legacy"
+    - path: "migrations"
       text: "SA1019:"
       linters:
         - staticcheck
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b5a6bad54d9a..ae5083ee86b8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -44,6 +44,7 @@ Ref: https://keepachangelog.com/en/1.0.0/
 
 ### API Breaking Changes
 
+* [\#9628](https://github.com/cosmos/cosmos-sdk/pull/9628) Rename `x/{mod}/legacy` to `x/{mod}/migrations`.
 * [\#9571](https://github.com/cosmos/cosmos-sdk/pull/9571) Implemented error handling for staking hooks, which now return an error on failure.
 * [\#9427](https://github.com/cosmos/cosmos-sdk/pull/9427) Move simapp `FundAccount` and `FundModuleAccount` to `x/bank/testutil`
 * (client/tx) [\#9421](https://github.com/cosmos/cosmos-sdk/pull/9421/) `BuildUnsignedTx`, `BuildSimTx`, `PrintUnsignedStdTx` functions are moved to
@@ -59,6 +60,7 @@ Ref: https://keepachangelog.com/en/1.0.0/
 * [\#9371](https://github.com/cosmos/cosmos-sdk/pull/9371) Non-zero default fees/Server will error if there's an empty value for min-gas-price in app.toml
 
 ### Improvements
+
 * (cli) [\#9593](https://github.com/cosmos/cosmos-sdk/pull/9593) Check if chain-id is blank before verifying signatures in multisign and error.
 
 ### Bug Fixes
diff --git a/baseapp/baseapp.go b/baseapp/baseapp.go
index ba5ec2696e72..062a2bc8bf0a 100644
--- a/baseapp/baseapp.go
+++ b/baseapp/baseapp.go
@@ -19,7 +19,7 @@ import (
 	"github.com/cosmos/cosmos-sdk/store/rootmulti"
 	sdk "github.com/cosmos/cosmos-sdk/types"
 	sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
-	"github.com/cosmos/cosmos-sdk/x/auth/legacy/legacytx"
+	"github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
 )
 
 const (
diff --git a/baseapp/baseapp_test.go b/baseapp/baseapp_test.go
index ff307b105ff0..85d07661a3e0 100644
--- a/baseapp/baseapp_test.go
+++ b/baseapp/baseapp_test.go
@@ -29,7 +29,7 @@ import (
 	"github.com/cosmos/cosmos-sdk/testutil/testdata"
 	sdk "github.com/cosmos/cosmos-sdk/types"
 	sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
-	"github.com/cosmos/cosmos-sdk/x/auth/legacy/legacytx"
+	"github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
 )
 
 var (
diff --git a/client/tx/legacy.go b/client/tx/legacy.go
index b551ecebb81c..80626bd89635 100644
--- a/client/tx/legacy.go
+++ b/client/tx/legacy.go
@@ -6,7 +6,7 @@ import (
 	"github.com/cosmos/cosmos-sdk/client"
 	"github.com/cosmos/cosmos-sdk/codec"
 	sdk "github.com/cosmos/cosmos-sdk/types"
-	"github.com/cosmos/cosmos-sdk/x/auth/legacy/legacytx"
+	"github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
 	"github.com/cosmos/cosmos-sdk/x/auth/signing"
 )
 
diff --git a/client/tx/legacy_test.go b/client/tx/legacy_test.go
index 9a4993201d89..7172bfe26c3b 100644
--- a/client/tx/legacy_test.go
+++ b/client/tx/legacy_test.go
@@ -14,7 +14,7 @@ import (
 	"github.com/cosmos/cosmos-sdk/testutil/testdata"
 	"github.com/cosmos/cosmos-sdk/types"
 	signing2 "github.com/cosmos/cosmos-sdk/types/tx/signing"
-	"github.com/cosmos/cosmos-sdk/x/auth/legacy/legacytx"
+	"github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
 	"github.com/cosmos/cosmos-sdk/x/auth/signing"
 	"github.com/cosmos/cosmos-sdk/x/auth/tx"
 	banktypes "github.com/cosmos/cosmos-sdk/x/bank/types"
diff --git a/codec/amino_codec_test.go b/codec/amino_codec_test.go
index 0526661404d5..92d2722fc967 100644
--- a/codec/amino_codec_test.go
+++ b/codec/amino_codec_test.go
@@ -12,7 +12,7 @@ import (
 	"github.com/cosmos/cosmos-sdk/simapp"
 	"github.com/cosmos/cosmos-sdk/testutil/testdata"
 	"github.com/cosmos/cosmos-sdk/x/auth/client/rest"
-	"github.com/cosmos/cosmos-sdk/x/auth/legacy/legacytx"
+	"github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
 )
 
 func createTestCodec() *codec.LegacyAmino {
diff --git a/crypto/keys/multisig/multisig_test.go b/crypto/keys/multisig/multisig_test.go
index 93ef120fabd5..0a7319323be8 100644
--- a/crypto/keys/multisig/multisig_test.go
+++ b/crypto/keys/multisig/multisig_test.go
@@ -18,7 +18,7 @@ import (
 	"github.com/cosmos/cosmos-sdk/simapp"
 	sdk "github.com/cosmos/cosmos-sdk/types"
 	"github.com/cosmos/cosmos-sdk/types/tx/signing"
-	"github.com/cosmos/cosmos-sdk/x/auth/legacy/legacytx"
+	"github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
 )
 
 func TestNewMultiSig(t *testing.T) {
diff --git a/proto/cosmos/bank/v1beta1/bank.proto b/proto/cosmos/bank/v1beta1/bank.proto
index ad55835f720f..22ecf5fda031 100644
--- a/proto/cosmos/bank/v1beta1/bank.proto
+++ b/proto/cosmos/bank/v1beta1/bank.proto
@@ -52,7 +52,7 @@ message Supply {
   option (gogoproto.equal)           = true;
   option (gogoproto.goproto_getters) = false;
 
-  option (cosmos_proto.implements_interface) = "*github.com/cosmos/cosmos-sdk/x/bank/legacy/v040.SupplyI";
+  option (cosmos_proto.implements_interface) = "*github.com/cosmos/cosmos-sdk/x/bank/migrations/v040.SupplyI";
 
   repeated cosmos.base.v1beta1.Coin total = 1
       [(gogoproto.nullable) = false, (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins"];
diff --git a/simapp/params/amino.go b/simapp/params/amino.go
index 440c29f817ea..cdf86d0ea2e0 100644
--- a/simapp/params/amino.go
+++ b/simapp/params/amino.go
@@ -5,7 +5,7 @@ package params
 import (
 	"github.com/cosmos/cosmos-sdk/codec"
 	"github.com/cosmos/cosmos-sdk/codec/types"
-	"github.com/cosmos/cosmos-sdk/x/auth/legacy/legacytx"
+	"github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
 )
 
 // MakeTestEncodingConfig creates an EncodingConfig for an amino based test configuration.
diff --git a/types/simulation/types.go b/types/simulation/types.go
index 89e5c813772a..7efb64ba3149 100644
--- a/types/simulation/types.go
+++ b/types/simulation/types.go
@@ -8,7 +8,7 @@ import (
 	"github.com/cosmos/cosmos-sdk/baseapp"
 	"github.com/cosmos/cosmos-sdk/codec"
 	sdk "github.com/cosmos/cosmos-sdk/types"
-	"github.com/cosmos/cosmos-sdk/x/auth/legacy/legacytx"
+	"github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
 )
 
 type WeightedProposalContent interface {
diff --git a/x/auth/ante/basic.go b/x/auth/ante/basic.go
index 8ec0d68ec495..52c219f79e4d 100644
--- a/x/auth/ante/basic.go
+++ b/x/auth/ante/basic.go
@@ -7,7 +7,7 @@ import (
 	sdk "github.com/cosmos/cosmos-sdk/types"
 	sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
 	"github.com/cosmos/cosmos-sdk/types/tx/signing"
-	"github.com/cosmos/cosmos-sdk/x/auth/legacy/legacytx"
+	"github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
 	authsigning "github.com/cosmos/cosmos-sdk/x/auth/signing"
 )
 
diff --git a/x/auth/ante/setup.go b/x/auth/ante/setup.go
index 5f21aba8bd5c..6d6d4344c0c3 100644
--- a/x/auth/ante/setup.go
+++ b/x/auth/ante/setup.go
@@ -5,7 +5,7 @@ import (
 
 	sdk "github.com/cosmos/cosmos-sdk/types"
 	sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
-	"github.com/cosmos/cosmos-sdk/x/auth/legacy/legacytx"
+	"github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
 )
 
 var (
diff --git a/x/auth/ante/sigverify.go b/x/auth/ante/sigverify.go
index daa59d0b52d9..49de89b220fa 100644
--- a/x/auth/ante/sigverify.go
+++ b/x/auth/ante/sigverify.go
@@ -14,7 +14,7 @@ import (
 	sdk "github.com/cosmos/cosmos-sdk/types"
 	sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
 	"github.com/cosmos/cosmos-sdk/types/tx/signing"
-	"github.com/cosmos/cosmos-sdk/x/auth/legacy/legacytx"
+	"github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
 	authsigning "github.com/cosmos/cosmos-sdk/x/auth/signing"
 	"github.com/cosmos/cosmos-sdk/x/auth/types"
 )
diff --git a/x/auth/ante/sigverify_test.go b/x/auth/ante/sigverify_test.go
index 6e720ac20353..0ddd2d226e0f 100644
--- a/x/auth/ante/sigverify_test.go
+++ b/x/auth/ante/sigverify_test.go
@@ -16,7 +16,7 @@ import (
 	sdk "github.com/cosmos/cosmos-sdk/types"
 	"github.com/cosmos/cosmos-sdk/types/tx/signing"
 	"github.com/cosmos/cosmos-sdk/x/auth/ante"
-	"github.com/cosmos/cosmos-sdk/x/auth/legacy/legacytx"
+	"github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
 	"github.com/cosmos/cosmos-sdk/x/auth/types"
 )
 
diff --git a/x/auth/client/rest/broadcast.go b/x/auth/client/rest/broadcast.go
index 9f7d6fc559a5..9717573c3028 100644
--- a/x/auth/client/rest/broadcast.go
+++ b/x/auth/client/rest/broadcast.go
@@ -10,7 +10,7 @@ import (
 	"github.com/cosmos/cosmos-sdk/client/tx"
 	codectypes "github.com/cosmos/cosmos-sdk/codec/types"
 	"github.com/cosmos/cosmos-sdk/types/rest"
-	"github.com/cosmos/cosmos-sdk/x/auth/legacy/legacytx"
+	"github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
 )
 
 // BroadcastReq defines a tx broadcasting request.
diff --git a/x/auth/client/rest/decode.go b/x/auth/client/rest/decode.go
index 5b732fa0a19d..3c4f48818f30 100644
--- a/x/auth/client/rest/decode.go
+++ b/x/auth/client/rest/decode.go
@@ -10,7 +10,7 @@ import (
 	clienttx "github.com/cosmos/cosmos-sdk/client/tx"
 	sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
 	"github.com/cosmos/cosmos-sdk/types/rest"
-	"github.com/cosmos/cosmos-sdk/x/auth/legacy/legacytx"
+	"github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
 	"github.com/cosmos/cosmos-sdk/x/auth/signing"
 )
 
diff --git a/x/auth/client/rest/encode.go b/x/auth/client/rest/encode.go
index 638817801533..8e81fec5d983 100644
--- a/x/auth/client/rest/encode.go
+++ b/x/auth/client/rest/encode.go
@@ -10,7 +10,7 @@ import (
 	clientrest "github.com/cosmos/cosmos-sdk/client/rest"
 	"github.com/cosmos/cosmos-sdk/client/tx"
 	"github.com/cosmos/cosmos-sdk/types/rest"
-	"github.com/cosmos/cosmos-sdk/x/auth/legacy/legacytx"
+	"github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
 )
 
 // EncodeResp defines a tx encoding response.
diff --git a/x/auth/client/rest/rest_test.go b/x/auth/client/rest/rest_test.go
index a382306e3228..67b337a98cef 100644
--- a/x/auth/client/rest/rest_test.go
+++ b/x/auth/client/rest/rest_test.go
@@ -28,7 +28,7 @@ import (
 	authcli "github.com/cosmos/cosmos-sdk/x/auth/client/cli"
 	authrest "github.com/cosmos/cosmos-sdk/x/auth/client/rest"
 	authtest "github.com/cosmos/cosmos-sdk/x/auth/client/testutil"
-	"github.com/cosmos/cosmos-sdk/x/auth/legacy/legacytx"
+	"github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
 	bankcli "github.com/cosmos/cosmos-sdk/x/bank/client/testutil"
 	"github.com/cosmos/cosmos-sdk/x/bank/types"
 )
diff --git a/x/auth/client/tx.go b/x/auth/client/tx.go
index 47268e643902..fbba98d6870a 100644
--- a/x/auth/client/tx.go
+++ b/x/auth/client/tx.go
@@ -18,7 +18,7 @@ import (
 	sdk "github.com/cosmos/cosmos-sdk/types"
 	sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
 	"github.com/cosmos/cosmos-sdk/types/tx/signing"
-	"github.com/cosmos/cosmos-sdk/x/auth/legacy/legacytx"
+	"github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
 )
 
 // GasEstimateResponse defines a response definition for tx gas estimation.
diff --git a/x/auth/client/tx_test.go b/x/auth/client/tx_test.go
index 3e1d31383ddc..fc52206d6e07 100644
--- a/x/auth/client/tx_test.go
+++ b/x/auth/client/tx_test.go
@@ -16,7 +16,7 @@ import (
 	"github.com/cosmos/cosmos-sdk/testutil/testdata"
 	sdk "github.com/cosmos/cosmos-sdk/types"
 	authclient "github.com/cosmos/cosmos-sdk/x/auth/client"
-	"github.com/cosmos/cosmos-sdk/x/auth/legacy/legacytx"
+	"github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
 	authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
 )
 
diff --git a/x/auth/keeper/migrations.go b/x/auth/keeper/migrations.go
index d3ad7a2f8c5a..4cbc3694d181 100644
--- a/x/auth/keeper/migrations.go
+++ b/x/auth/keeper/migrations.go
@@ -3,7 +3,7 @@ package keeper
 import (
 	"github.com/gogo/protobuf/grpc"
 
-	v043 "github.com/cosmos/cosmos-sdk/x/auth/legacy/v043"
+	v043 "github.com/cosmos/cosmos-sdk/x/auth/migrations/v043"
 	"github.com/cosmos/cosmos-sdk/x/auth/types"
 
 	sdk "github.com/cosmos/cosmos-sdk/types"
diff --git a/x/auth/legacy/legacytx/amino_signing.go b/x/auth/migrations/legacytx/amino_signing.go
similarity index 100%
rename from x/auth/legacy/legacytx/amino_signing.go
rename to x/auth/migrations/legacytx/amino_signing.go
diff --git a/x/auth/legacy/legacytx/amino_signing_test.go b/x/auth/migrations/legacytx/amino_signing_test.go
similarity index 100%
rename from x/auth/legacy/legacytx/amino_signing_test.go
rename to x/auth/migrations/legacytx/amino_signing_test.go
diff --git a/x/auth/legacy/legacytx/codec.go b/x/auth/migrations/legacytx/codec.go
similarity index 100%
rename from x/auth/legacy/legacytx/codec.go
rename to x/auth/migrations/legacytx/codec.go
diff --git a/x/auth/legacy/legacytx/config_test.go b/x/auth/migrations/legacytx/config_test.go
similarity index 92%
rename from x/auth/legacy/legacytx/config_test.go
rename to x/auth/migrations/legacytx/config_test.go
index 95a37b1e4d43..406edfd435be 100644
--- a/x/auth/legacy/legacytx/config_test.go
+++ b/x/auth/migrations/legacytx/config_test.go
@@ -9,7 +9,7 @@ import (
 	cryptoAmino "github.com/cosmos/cosmos-sdk/crypto/codec"
 	"github.com/cosmos/cosmos-sdk/testutil/testdata"
 	sdk "github.com/cosmos/cosmos-sdk/types"
-	"github.com/cosmos/cosmos-sdk/x/auth/legacy/legacytx"
+	"github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
 	"github.com/cosmos/cosmos-sdk/x/auth/testutil"
 )
 
diff --git a/x/auth/legacy/legacytx/stdsig_test.go b/x/auth/migrations/legacytx/stdsig_test.go
similarity index 93%
rename from x/auth/legacy/legacytx/stdsig_test.go
rename to x/auth/migrations/legacytx/stdsig_test.go
index 3e1662ba9960..28d96710ed0b 100644
--- a/x/auth/legacy/legacytx/stdsig_test.go
+++ b/x/auth/migrations/legacytx/stdsig_test.go
@@ -8,7 +8,7 @@ import (
 	yaml "gopkg.in/yaml.v2"
 
 	"github.com/cosmos/cosmos-sdk/testutil/testdata"
-	"github.com/cosmos/cosmos-sdk/x/auth/legacy/legacytx"
+	"github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
 )
 
 func TestStdSignatureMarshalYAML(t *testing.T) {
diff --git a/x/auth/legacy/legacytx/stdsign.go b/x/auth/migrations/legacytx/stdsign.go
similarity index 100%
rename from x/auth/legacy/legacytx/stdsign.go
rename to x/auth/migrations/legacytx/stdsign.go
diff --git a/x/auth/legacy/legacytx/stdsignmsg.go b/x/auth/migrations/legacytx/stdsignmsg.go
similarity index 100%
rename from x/auth/legacy/legacytx/stdsignmsg.go
rename to x/auth/migrations/legacytx/stdsignmsg.go
diff --git a/x/auth/legacy/legacytx/stdtx.go b/x/auth/migrations/legacytx/stdtx.go
similarity index 100%
rename from x/auth/legacy/legacytx/stdtx.go
rename to x/auth/migrations/legacytx/stdtx.go
diff --git a/x/auth/legacy/legacytx/stdtx_builder.go b/x/auth/migrations/legacytx/stdtx_builder.go
similarity index 100%
rename from x/auth/legacy/legacytx/stdtx_builder.go
rename to x/auth/migrations/legacytx/stdtx_builder.go
diff --git a/x/auth/legacy/legacytx/stdtx_test.go b/x/auth/migrations/legacytx/stdtx_test.go
similarity index 100%
rename from x/auth/legacy/legacytx/stdtx_test.go
rename to x/auth/migrations/legacytx/stdtx_test.go
diff --git a/x/auth/legacy/v034/types.go b/x/auth/migrations/v034/types.go
similarity index 100%
rename from x/auth/legacy/v034/types.go
rename to x/auth/migrations/v034/types.go
diff --git a/x/auth/legacy/v038/types.go b/x/auth/migrations/v038/types.go
similarity index 99%
rename from x/auth/legacy/v038/types.go
rename to x/auth/migrations/v038/types.go
index 8bda3813f568..be782a05bfa6 100644
--- a/x/auth/legacy/v038/types.go
+++ b/x/auth/migrations/v038/types.go
@@ -20,7 +20,7 @@ import (
 	cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types"
 	sdk "github.com/cosmos/cosmos-sdk/types"
 	"github.com/cosmos/cosmos-sdk/types/bech32/legacybech32"
-	v034auth "github.com/cosmos/cosmos-sdk/x/auth/legacy/v034"
+	v034auth "github.com/cosmos/cosmos-sdk/x/auth/migrations/v034"
 )
 
 const (
diff --git a/x/auth/legacy/v039/types.go b/x/auth/migrations/v039/types.go
similarity index 99%
rename from x/auth/legacy/v039/types.go
rename to x/auth/migrations/v039/types.go
index 3de576f27ffa..0f4b7f6c15bc 100644
--- a/x/auth/legacy/v039/types.go
+++ b/x/auth/migrations/v039/types.go
@@ -15,8 +15,8 @@ import (
 	cryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec"
 	cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types"
 	sdk "github.com/cosmos/cosmos-sdk/types"
-	v034auth "github.com/cosmos/cosmos-sdk/x/auth/legacy/v034"
-	v038auth "github.com/cosmos/cosmos-sdk/x/auth/legacy/v038"
+	v034auth "github.com/cosmos/cosmos-sdk/x/auth/migrations/v034"
+	v038auth "github.com/cosmos/cosmos-sdk/x/auth/migrations/v038"
 )
 
 const (
diff --git a/x/auth/legacy/v040/migrate.go b/x/auth/migrations/v040/migrate.go
similarity index 98%
rename from x/auth/legacy/v040/migrate.go
rename to x/auth/migrations/v040/migrate.go
index 4ba3e0cb7c81..3c46f5b9acde 100644
--- a/x/auth/legacy/v040/migrate.go
+++ b/x/auth/migrations/v040/migrate.go
@@ -3,7 +3,7 @@ package v040
 import (
 	codectypes "github.com/cosmos/cosmos-sdk/codec/types"
 	sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
-	v039auth "github.com/cosmos/cosmos-sdk/x/auth/legacy/v039"
+	v039auth "github.com/cosmos/cosmos-sdk/x/auth/migrations/v039"
 	v040auth "github.com/cosmos/cosmos-sdk/x/auth/types"
 	v040vesting "github.com/cosmos/cosmos-sdk/x/auth/vesting/types"
 )
diff --git a/x/auth/legacy/v040/migrate_test.go b/x/auth/migrations/v040/migrate_test.go
similarity index 96%
rename from x/auth/legacy/v040/migrate_test.go
rename to x/auth/migrations/v040/migrate_test.go
index d666337b18dd..cc9bb532193a 100644
--- a/x/auth/legacy/v040/migrate_test.go
+++ b/x/auth/migrations/v040/migrate_test.go
@@ -10,10 +10,10 @@ import (
 	"github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1"
 	"github.com/cosmos/cosmos-sdk/simapp"
 	sdk "github.com/cosmos/cosmos-sdk/types"
-	v034 "github.com/cosmos/cosmos-sdk/x/auth/legacy/v034"
-	v038auth "github.com/cosmos/cosmos-sdk/x/auth/legacy/v038"
-	v039auth "github.com/cosmos/cosmos-sdk/x/auth/legacy/v039"
-	v040auth "github.com/cosmos/cosmos-sdk/x/auth/legacy/v040"
+	v034 "github.com/cosmos/cosmos-sdk/x/auth/migrations/v034"
+	v038auth "github.com/cosmos/cosmos-sdk/x/auth/migrations/v038"
+	v039auth "github.com/cosmos/cosmos-sdk/x/auth/migrations/v039"
+	v040auth "github.com/cosmos/cosmos-sdk/x/auth/migrations/v040"
 )
 
 func TestMigrate(t *testing.T) {
diff --git a/x/auth/legacy/v040/store.go b/x/auth/migrations/v040/store.go
similarity index 100%
rename from x/auth/legacy/v040/store.go
rename to x/auth/migrations/v040/store.go
diff --git a/x/auth/legacy/v040/types.go b/x/auth/migrations/v040/types.go
similarity index 100%
rename from x/auth/legacy/v040/types.go
rename to x/auth/migrations/v040/types.go
diff --git a/x/auth/legacy/v043/store.go b/x/auth/migrations/v043/store.go
similarity index 100%
rename from x/auth/legacy/v043/store.go
rename to x/auth/migrations/v043/store.go
diff --git a/x/auth/legacy/v043/store_test.go b/x/auth/migrations/v043/store_test.go
similarity index 100%
rename from x/auth/legacy/v043/store_test.go
rename to x/auth/migrations/v043/store_test.go
diff --git a/x/auth/signing/handler_map_test.go b/x/auth/signing/handler_map_test.go
index 041b8182e95a..5da162d3271f 100644
--- a/x/auth/signing/handler_map_test.go
+++ b/x/auth/signing/handler_map_test.go
@@ -8,7 +8,7 @@ import (
 	"github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1"
 	sdk "github.com/cosmos/cosmos-sdk/types"
 	signingtypes "github.com/cosmos/cosmos-sdk/types/tx/signing"
-	"github.com/cosmos/cosmos-sdk/x/auth/legacy/legacytx"
+	"github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
 	"github.com/cosmos/cosmos-sdk/x/auth/signing"
 	banktypes "github.com/cosmos/cosmos-sdk/x/bank/types"
 )
diff --git a/x/auth/signing/verify_test.go b/x/auth/signing/verify_test.go
index d3f2194c141d..4bff68ffb646 100644
--- a/x/auth/signing/verify_test.go
+++ b/x/auth/signing/verify_test.go
@@ -14,7 +14,7 @@ import (
 	"github.com/cosmos/cosmos-sdk/testutil/testdata"
 	sdk "github.com/cosmos/cosmos-sdk/types"
 	"github.com/cosmos/cosmos-sdk/x/auth/ante"
-	"github.com/cosmos/cosmos-sdk/x/auth/legacy/legacytx"
+	"github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
 	"github.com/cosmos/cosmos-sdk/x/auth/signing"
 	"github.com/cosmos/cosmos-sdk/x/auth/types"
 	"github.com/cosmos/cosmos-sdk/x/bank/testutil"
diff --git a/x/auth/tx/legacy_amino_json.go b/x/auth/tx/legacy_amino_json.go
index 090e3d864eab..ace31134e474 100644
--- a/x/auth/tx/legacy_amino_json.go
+++ b/x/auth/tx/legacy_amino_json.go
@@ -6,7 +6,7 @@ import (
 	sdk "github.com/cosmos/cosmos-sdk/types"
 	sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
 	signingtypes "github.com/cosmos/cosmos-sdk/types/tx/signing"
-	"github.com/cosmos/cosmos-sdk/x/auth/legacy/legacytx"
+	"github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
 	"github.com/cosmos/cosmos-sdk/x/auth/signing"
 )
 
diff --git a/x/auth/tx/legacy_amino_json_test.go b/x/auth/tx/legacy_amino_json_test.go
index 3db335286901..9a4f3ff70864 100644
--- a/x/auth/tx/legacy_amino_json_test.go
+++ b/x/auth/tx/legacy_amino_json_test.go
@@ -9,7 +9,7 @@ import (
 	"github.com/cosmos/cosmos-sdk/testutil/testdata"
 	sdk "github.com/cosmos/cosmos-sdk/types"
 	signingtypes "github.com/cosmos/cosmos-sdk/types/tx/signing"
-	"github.com/cosmos/cosmos-sdk/x/auth/legacy/legacytx"
+	"github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
 	"github.com/cosmos/cosmos-sdk/x/auth/signing"
 )
 
diff --git a/x/auth/types/codec.go b/x/auth/types/codec.go
index 629e2919d24d..4e5489042b8f 100644
--- a/x/auth/types/codec.go
+++ b/x/auth/types/codec.go
@@ -4,7 +4,7 @@ import (
 	"github.com/cosmos/cosmos-sdk/codec"
 	"github.com/cosmos/cosmos-sdk/codec/types"
 	cryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec"
-	"github.com/cosmos/cosmos-sdk/x/auth/legacy/legacytx"
+	"github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
 )
 
 // RegisterLegacyAminoCodec registers the account interfaces and concrete types on the
diff --git a/x/authz/msgs.go b/x/authz/msgs.go
index e8ecde0553b4..5a8a6032b5da 100644
--- a/x/authz/msgs.go
+++ b/x/authz/msgs.go
@@ -9,7 +9,7 @@ import (
 	cdctypes "github.com/cosmos/cosmos-sdk/codec/types"
 	sdk "github.com/cosmos/cosmos-sdk/types"
 	sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
-	"github.com/cosmos/cosmos-sdk/x/auth/legacy/legacytx"
+	"github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
 )
 
 var (
diff --git a/x/bank/client/rest/tx_test.go b/x/bank/client/rest/tx_test.go
index 8406a2c2abdf..011122ed4bbb 100644
--- a/x/bank/client/rest/tx_test.go
+++ b/x/bank/client/rest/tx_test.go
@@ -10,7 +10,7 @@ import (
 	sdk "github.com/cosmos/cosmos-sdk/types"
 	"github.com/cosmos/cosmos-sdk/types/errors"
 	"github.com/cosmos/cosmos-sdk/types/rest"
-	"github.com/cosmos/cosmos-sdk/x/auth/legacy/legacytx"
+	"github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
 	authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
 	bankrest "github.com/cosmos/cosmos-sdk/x/bank/client/rest"
 	banktypes "github.com/cosmos/cosmos-sdk/x/bank/types"
diff --git a/x/bank/keeper/migrations.go b/x/bank/keeper/migrations.go
index e46b386b81a9..0ca384b64d9a 100644
--- a/x/bank/keeper/migrations.go
+++ b/x/bank/keeper/migrations.go
@@ -2,7 +2,7 @@ package keeper
 
 import (
 	sdk "github.com/cosmos/cosmos-sdk/types"
-	v043 "github.com/cosmos/cosmos-sdk/x/bank/legacy/v043"
+	v043 "github.com/cosmos/cosmos-sdk/x/bank/migrations/v043"
 )
 
 // Migrator is a struct for handling in-place store migrations.
diff --git a/x/bank/legacy/v036/types.go b/x/bank/migrations/v036/types.go
similarity index 100%
rename from x/bank/legacy/v036/types.go
rename to x/bank/migrations/v036/types.go
diff --git a/x/bank/legacy/v038/types.go b/x/bank/migrations/v038/types.go
similarity index 100%
rename from x/bank/legacy/v038/types.go
rename to x/bank/migrations/v038/types.go
diff --git a/x/bank/legacy/v040/keys.go b/x/bank/migrations/v040/keys.go
similarity index 95%
rename from x/bank/legacy/v040/keys.go
rename to x/bank/migrations/v040/keys.go
index 043c208b627c..a5674f397438 100644
--- a/x/bank/legacy/v040/keys.go
+++ b/x/bank/migrations/v040/keys.go
@@ -6,7 +6,7 @@ import (
 	"fmt"
 
 	sdk "github.com/cosmos/cosmos-sdk/types"
-	v040auth "github.com/cosmos/cosmos-sdk/x/auth/legacy/v040"
+	v040auth "github.com/cosmos/cosmos-sdk/x/auth/migrations/v040"
 )
 
 const (
diff --git a/x/bank/legacy/v040/migrate.go b/x/bank/migrations/v040/migrate.go
similarity index 83%
rename from x/bank/legacy/v040/migrate.go
rename to x/bank/migrations/v040/migrate.go
index 1c8d270e406a..9a7f82a0705c 100644
--- a/x/bank/legacy/v040/migrate.go
+++ b/x/bank/migrations/v040/migrate.go
@@ -1,9 +1,9 @@
 package v040
 
 import (
-	v039auth "github.com/cosmos/cosmos-sdk/x/auth/legacy/v039"
-	v036supply "github.com/cosmos/cosmos-sdk/x/bank/legacy/v036"
-	v038bank "github.com/cosmos/cosmos-sdk/x/bank/legacy/v038"
+	v039auth "github.com/cosmos/cosmos-sdk/x/auth/migrations/v039"
+	v036supply "github.com/cosmos/cosmos-sdk/x/bank/migrations/v036"
+	v038bank "github.com/cosmos/cosmos-sdk/x/bank/migrations/v038"
 	"github.com/cosmos/cosmos-sdk/x/bank/types"
 )
 
diff --git a/x/bank/legacy/v040/migrate_test.go b/x/bank/migrations/v040/migrate_test.go
similarity index 84%
rename from x/bank/legacy/v040/migrate_test.go
rename to x/bank/migrations/v040/migrate_test.go
index b00af1af2c3e..2a4053e9b44e 100644
--- a/x/bank/legacy/v040/migrate_test.go
+++ b/x/bank/migrations/v040/migrate_test.go
@@ -8,11 +8,11 @@ import (
 	"github.com/cosmos/cosmos-sdk/client"
 	"github.com/cosmos/cosmos-sdk/simapp"
 	sdk "github.com/cosmos/cosmos-sdk/types"
-	v038auth "github.com/cosmos/cosmos-sdk/x/auth/legacy/v038"
-	v039auth "github.com/cosmos/cosmos-sdk/x/auth/legacy/v039"
-	v036supply "github.com/cosmos/cosmos-sdk/x/bank/legacy/v036"
-	v038bank "github.com/cosmos/cosmos-sdk/x/bank/legacy/v038"
-	v040bank "github.com/cosmos/cosmos-sdk/x/bank/legacy/v040"
+	v038auth "github.com/cosmos/cosmos-sdk/x/auth/migrations/v038"
+	v039auth "github.com/cosmos/cosmos-sdk/x/auth/migrations/v039"
+	v036supply "github.com/cosmos/cosmos-sdk/x/bank/migrations/v036"
+	v038bank "github.com/cosmos/cosmos-sdk/x/bank/migrations/v038"
+	v040bank "github.com/cosmos/cosmos-sdk/x/bank/migrations/v040"
 )
 
 func TestMigrate(t *testing.T) {
diff --git a/x/bank/legacy/v040/types.go b/x/bank/migrations/v040/types.go
similarity index 100%
rename from x/bank/legacy/v040/types.go
rename to x/bank/migrations/v040/types.go
diff --git a/x/bank/legacy/v043/store.go b/x/bank/migrations/v043/store.go
similarity index 94%
rename from x/bank/legacy/v043/store.go
rename to x/bank/migrations/v043/store.go
index a57907b20560..1bca26db7c89 100644
--- a/x/bank/legacy/v043/store.go
+++ b/x/bank/migrations/v043/store.go
@@ -4,8 +4,8 @@ import (
 	"github.com/cosmos/cosmos-sdk/codec"
 	"github.com/cosmos/cosmos-sdk/store/prefix"
 	sdk "github.com/cosmos/cosmos-sdk/types"
-	v040auth "github.com/cosmos/cosmos-sdk/x/auth/legacy/v040"
-	v040bank "github.com/cosmos/cosmos-sdk/x/bank/legacy/v040"
+	v040auth "github.com/cosmos/cosmos-sdk/x/auth/migrations/v040"
+	v040bank "github.com/cosmos/cosmos-sdk/x/bank/migrations/v040"
 	"github.com/cosmos/cosmos-sdk/x/bank/types"
 )
 
diff --git a/x/bank/legacy/v043/store_test.go b/x/bank/migrations/v043/store_test.go
similarity index 94%
rename from x/bank/legacy/v043/store_test.go
rename to x/bank/migrations/v043/store_test.go
index 3473039a8d46..3538ac92b1d1 100644
--- a/x/bank/legacy/v043/store_test.go
+++ b/x/bank/migrations/v043/store_test.go
@@ -10,8 +10,8 @@ import (
 	"github.com/cosmos/cosmos-sdk/testutil"
 	"github.com/cosmos/cosmos-sdk/testutil/testdata"
 	sdk "github.com/cosmos/cosmos-sdk/types"
-	v040bank "github.com/cosmos/cosmos-sdk/x/bank/legacy/v040"
-	v043bank "github.com/cosmos/cosmos-sdk/x/bank/legacy/v043"
+	v040bank "github.com/cosmos/cosmos-sdk/x/bank/migrations/v040"
+	v043bank "github.com/cosmos/cosmos-sdk/x/bank/migrations/v043"
 	"github.com/cosmos/cosmos-sdk/x/bank/types"
 )
 
diff --git a/x/bank/module.go b/x/bank/module.go
index c43251acc253..b0daceaa1baf 100644
--- a/x/bank/module.go
+++ b/x/bank/module.go
@@ -22,7 +22,7 @@ import (
 	"github.com/cosmos/cosmos-sdk/x/bank/client/cli"
 	"github.com/cosmos/cosmos-sdk/x/bank/client/rest"
 	"github.com/cosmos/cosmos-sdk/x/bank/keeper"
-	v040 "github.com/cosmos/cosmos-sdk/x/bank/legacy/v040"
+	v040 "github.com/cosmos/cosmos-sdk/x/bank/migrations/v040"
 	"github.com/cosmos/cosmos-sdk/x/bank/simulation"
 	"github.com/cosmos/cosmos-sdk/x/bank/types"
 )
diff --git a/x/bank/types/bank.pb.go b/x/bank/types/bank.pb.go
index ff39b06c539b..623b8b626f4e 100644
--- a/x/bank/types/bank.pb.go
+++ b/x/bank/types/bank.pb.go
@@ -445,48 +445,48 @@ func init() {
 func init() { proto.RegisterFile("cosmos/bank/v1beta1/bank.proto", fileDescriptor_dd052eee12edf988) }
 
 var fileDescriptor_dd052eee12edf988 = []byte{
-	// 642 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x54, 0xbf, 0x6e, 0x13, 0x4f,
-	0x10, 0xf6, 0xc6, 0xb1, 0x7d, 0x59, 0xff, 0x7e, 0xcd, 0x12, 0xa1, 0x4b, 0x24, 0xee, 0xcc, 0x49,
-	0x20, 0x07, 0x11, 0x3b, 0x01, 0x0a, 0xe4, 0x06, 0xc9, 0xe1, 0x9f, 0x0b, 0x04, 0xba, 0x28, 0x42,
-	0x82, 0xc2, 0xda, 0xf3, 0x6d, 0xec, 0x55, 0xee, 0x76, 0x4f, 0xb7, 0x7b, 0x51, 0xee, 0x0d, 0x10,
-	0x05, 0x50, 0x52, 0xa6, 0xa6, 0x85, 0x87, 0x48, 0x19, 0x41, 0x43, 0x65, 0x90, 0xd3, 0x50, 0xe7,
-	0x09, 0xd0, 0xee, 0x9e, 0x1d, 0x47, 0x0a, 0x88, 0x82, 0x82, 0xea, 0xe6, 0x9b, 0xf9, 0xe6, 0x9b,
-	0xd1, 0xcc, 0xec, 0x41, 0x67, 0xc0, 0x45, 0xcc, 0x45, 0x3b, 0xc0, 0x6c, 0xaf, 0xbd, 0xbf, 0x19,
-	0x10, 0x89, 0x37, 0x35, 0x68, 0x25, 0x29, 0x97, 0x1c, 0x5d, 0x32, 0xf1, 0x96, 0x76, 0x15, 0xf1,
-	0xd5, 0xe5, 0x21, 0x1f, 0x72, 0x1d, 0x6f, 0x2b, 0xcb, 0x50, 0x57, 0x57, 0x0c, 0xb5, 0x6f, 0x02,
-	0x45, 0x9e, 0x09, 0x9d, 0x55, 0x11, 0x64, 0x56, 0x65, 0xc0, 0x29, 0x33, 0x71, 0xef, 0x0b, 0x80,
-	0xd5, 0x67, 0x38, 0xc5, 0xb1, 0x40, 0xbb, 0xf0, 0x3f, 0x41, 0x58, 0xd8, 0x27, 0x0c, 0x07, 0x11,
-	0x09, 0x6d, 0xd0, 0x28, 0x37, 0xeb, 0xb7, 0x1a, 0xad, 0x0b, 0xfa, 0x68, 0x6d, 0x13, 0x16, 0x3e,
-	0x30, 0xbc, 0xee, 0xd5, 0xd3, 0xb1, 0x7b, 0x25, 0xc7, 0x71, 0xd4, 0xf1, 0xe6, 0xf3, 0x6f, 0xf2,
-	0x98, 0x4a, 0x12, 0x27, 0x32, 0xf7, 0xfc, 0xba, 0x38, 0xe3, 0xa3, 0x97, 0x70, 0x39, 0x24, 0xbb,
-	0x38, 0x8b, 0x64, 0xff, 0x5c, 0xbd, 0x85, 0x06, 0x68, 0x5a, 0xdd, 0xb5, 0xd3, 0xb1, 0x7b, 0xcd,
-	0xa8, 0x5d, 0xc4, 0x9a, 0x57, 0x45, 0x05, 0x61, 0xae, 0x99, 0xce, 0xe2, 0xfb, 0x43, 0xb7, 0xe4,
-	0x3d, 0x82, 0xf5, 0x39, 0x27, 0x5a, 0x86, 0x95, 0x90, 0x30, 0x1e, 0xdb, 0xa0, 0x01, 0x9a, 0x4b,
-	0xbe, 0x01, 0xc8, 0x86, 0xb5, 0x73, 0xa5, 0xfd, 0x29, 0xec, 0x58, 0x4a, 0xe4, 0xc7, 0xa1, 0x0b,
-	0xbc, 0x37, 0x00, 0x56, 0x7a, 0x2c, 0xc9, 0xa4, 0x62, 0xe3, 0x30, 0x4c, 0x89, 0x10, 0x85, 0xca,
-	0x14, 0x22, 0x0c, 0x2b, 0x6a, 0xa0, 0xc2, 0x5e, 0xd0, 0x03, 0x5b, 0x39, 0x1b, 0x98, 0x20, 0xb3,
-	0x81, 0x6d, 0x71, 0xca, 0xba, 0x1b, 0x47, 0x63, 0xb7, 0xf4, 0xe1, 0x9b, 0xdb, 0x1c, 0x52, 0x39,
-	0xca, 0x82, 0xd6, 0x80, 0xc7, 0xc5, 0xb6, 0x8a, 0xcf, 0xba, 0x08, 0xf7, 0xda, 0x32, 0x4f, 0x88,
-	0xd0, 0x09, 0xc2, 0x37, 0xca, 0x1d, 0xeb, 0x95, 0x69, 0xa8, 0xe4, 0xbd, 0x05, 0xb0, 0xfa, 0x34,
-	0x93, 0xff, 0x50, 0x47, 0x1f, 0x01, 0xac, 0x6e, 0x67, 0x49, 0x12, 0xe5, 0xaa, 0xae, 0xe4, 0x12,
-	0x47, 0xc5, 0xe9, 0xfc, 0xdd, 0xba, 0x5a, 0xb9, 0xf3, 0xb0, 0xa8, 0x0b, 0x3e, 0x7f, 0x5a, 0xbf,
-	0x7b, 0xe3, 0xb7, 0xd9, 0x07, 0xe6, 0x69, 0x45, 0x64, 0x88, 0x07, 0x79, 0x7b, 0x7f, 0xe3, 0xce,
-	0x46, 0xcb, 0xf4, 0xd9, 0xb3, 0x81, 0xf7, 0x1c, 0x2e, 0xdd, 0x57, 0x57, 0xb0, 0xc3, 0xa8, 0xfc,
-	0xc5, 0x7d, 0xac, 0x42, 0x8b, 0x1c, 0x24, 0x9c, 0x11, 0x26, 0xf5, 0x81, 0xfc, 0xef, 0xcf, 0xb0,
-	0x9e, 0x7d, 0x44, 0xb1, 0x20, 0xc2, 0x2e, 0x37, 0xca, 0x7a, 0xf6, 0x06, 0x7a, 0xaf, 0x17, 0xa0,
-	0xf5, 0x84, 0x48, 0x1c, 0x62, 0x89, 0x51, 0x03, 0xd6, 0x43, 0x22, 0x06, 0x29, 0x4d, 0x24, 0xe5,
-	0xac, 0x90, 0x9f, 0x77, 0xa1, 0x7b, 0x8a, 0xc1, 0x78, 0xdc, 0xcf, 0x18, 0x95, 0xd3, 0x85, 0x39,
-	0x17, 0xbe, 0xb9, 0x59, 0xbf, 0x3e, 0x0c, 0xa7, 0xa6, 0x40, 0x08, 0x2e, 0xaa, 0xf1, 0xda, 0x65,
-	0xad, 0xad, 0x6d, 0xd5, 0x5d, 0x48, 0x45, 0x12, 0xe1, 0xdc, 0x5e, 0x34, 0x97, 0x51, 0x40, 0xc5,
-	0x66, 0x38, 0x26, 0x76, 0xc5, 0xb0, 0x95, 0x8d, 0x2e, 0xc3, 0xaa, 0xc8, 0xe3, 0x80, 0x47, 0x76,
-	0x55, 0x7b, 0x0b, 0x84, 0x56, 0x60, 0x39, 0x4b, 0xa9, 0x5d, 0x53, 0xce, 0x6e, 0x6d, 0x32, 0x76,
-	0xcb, 0x3b, 0x7e, 0xcf, 0x57, 0x3e, 0x74, 0x1d, 0x5a, 0x59, 0x4a, 0xfb, 0x23, 0x2c, 0x46, 0xb6,
-	0xa5, 0xe3, 0xf5, 0xc9, 0xd8, 0xad, 0xed, 0xf8, 0xbd, 0xc7, 0x58, 0x8c, 0xfc, 0x5a, 0x96, 0x52,
-	0x65, 0x74, 0xb7, 0x8e, 0x26, 0x0e, 0x38, 0x9e, 0x38, 0xe0, 0xfb, 0xc4, 0x01, 0xef, 0x4e, 0x9c,
-	0xd2, 0xf1, 0x89, 0x53, 0xfa, 0x7a, 0xe2, 0x94, 0x5e, 0xac, 0xfd, 0xc9, 0xea, 0xf4, 0xfe, 0x83,
-	0xaa, 0xfe, 0x53, 0xdd, 0xfe, 0x19, 0x00, 0x00, 0xff, 0xff, 0x5c, 0x64, 0xd4, 0xf7, 0x31, 0x05,
-	0x00, 0x00,
+	// 644 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x54, 0xc1, 0x6b, 0x13, 0x4f,
+	0x14, 0xce, 0x34, 0x4d, 0xb2, 0x9d, 0xfc, 0x7e, 0x97, 0xb1, 0xc8, 0xb6, 0xe0, 0x6e, 0x5c, 0x50,
+	0x52, 0xb1, 0x49, 0xab, 0x9e, 0x82, 0x20, 0xa4, 0x8a, 0x46, 0x10, 0x65, 0x4b, 0x11, 0xf4, 0x10,
+	0x26, 0x99, 0x69, 0x32, 0x74, 0x77, 0x66, 0xd9, 0x99, 0x2d, 0xcd, 0x7f, 0x20, 0x1e, 0xd4, 0xa3,
+	0xc7, 0x9e, 0x3d, 0x0b, 0xfe, 0x0b, 0x3d, 0x16, 0xbd, 0x78, 0x8a, 0x92, 0x5e, 0x3c, 0xf7, 0x2f,
+	0x90, 0x99, 0xd9, 0xa4, 0x29, 0x54, 0xf1, 0xe0, 0xc1, 0x53, 0xde, 0xf7, 0xde, 0xf7, 0xbe, 0xf7,
+	0xf1, 0xe6, 0x6d, 0xa0, 0xd7, 0x17, 0x32, 0x16, 0xb2, 0xd9, 0xc3, 0x7c, 0xaf, 0xb9, 0xbf, 0xd9,
+	0xa3, 0x0a, 0x6f, 0x1a, 0xd0, 0x48, 0x52, 0xa1, 0x04, 0xba, 0x64, 0xeb, 0x0d, 0x93, 0xca, 0xeb,
+	0xab, 0xcb, 0x03, 0x31, 0x10, 0xa6, 0xde, 0xd4, 0x91, 0xa5, 0xae, 0xae, 0x58, 0x6a, 0xd7, 0x16,
+	0xf2, 0x3e, 0x5b, 0x3a, 0x9b, 0x22, 0xe9, 0x6c, 0x4a, 0x5f, 0x30, 0x6e, 0xeb, 0xc1, 0x17, 0x00,
+	0xcb, 0xcf, 0x70, 0x8a, 0x63, 0x89, 0x76, 0xe1, 0x7f, 0x92, 0x72, 0xd2, 0xa5, 0x1c, 0xf7, 0x22,
+	0x4a, 0x5c, 0x50, 0x2b, 0xd6, 0xab, 0xb7, 0x6a, 0x8d, 0x0b, 0x7c, 0x34, 0xb6, 0x29, 0x27, 0x0f,
+	0x2c, 0xaf, 0x7d, 0xf5, 0x74, 0xec, 0x5f, 0x19, 0xe1, 0x38, 0x6a, 0x05, 0xf3, 0xfd, 0x37, 0x45,
+	0xcc, 0x14, 0x8d, 0x13, 0x35, 0x0a, 0xc2, 0xaa, 0x3c, 0xe3, 0xa3, 0x97, 0x70, 0x99, 0xd0, 0x5d,
+	0x9c, 0x45, 0xaa, 0x7b, 0x6e, 0xde, 0x42, 0x0d, 0xd4, 0x9d, 0xf6, 0xda, 0xe9, 0xd8, 0xbf, 0x66,
+	0xd5, 0x2e, 0x62, 0xcd, 0xab, 0xa2, 0x9c, 0x30, 0x67, 0xa6, 0xb5, 0xf8, 0xfe, 0xd0, 0x2f, 0x04,
+	0x0f, 0x61, 0x75, 0x2e, 0x89, 0x96, 0x61, 0x89, 0x50, 0x2e, 0x62, 0x17, 0xd4, 0x40, 0x7d, 0x29,
+	0xb4, 0x00, 0xb9, 0xb0, 0x72, 0x6e, 0x74, 0x38, 0x85, 0x2d, 0x47, 0x8b, 0xfc, 0x38, 0xf4, 0x41,
+	0xf0, 0x06, 0xc0, 0x52, 0x87, 0x27, 0x99, 0xd2, 0x6c, 0x4c, 0x48, 0x4a, 0xa5, 0xcc, 0x55, 0xa6,
+	0x10, 0x61, 0x58, 0xd2, 0x0b, 0x95, 0xee, 0x82, 0x59, 0xd8, 0xca, 0xd9, 0xc2, 0x24, 0x9d, 0x2d,
+	0x6c, 0x4b, 0x30, 0xde, 0xde, 0x38, 0x1a, 0xfb, 0x85, 0x0f, 0xdf, 0xfc, 0xfa, 0x80, 0xa9, 0x61,
+	0xd6, 0x6b, 0xf4, 0x45, 0x9c, 0xbf, 0x56, 0xfe, 0xb3, 0x2e, 0xc9, 0x5e, 0x53, 0x8d, 0x12, 0x2a,
+	0x4d, 0x83, 0x0c, 0xad, 0x72, 0xcb, 0x79, 0x65, 0x0d, 0x15, 0x82, 0xb7, 0x00, 0x96, 0x9f, 0x66,
+	0xea, 0x1f, 0x72, 0xf4, 0x09, 0xc0, 0xf2, 0x76, 0x96, 0x24, 0xd1, 0x48, 0xcf, 0x55, 0x42, 0xe1,
+	0x28, 0x3f, 0x9d, 0xbf, 0x3b, 0xd7, 0x28, 0xb7, 0x1e, 0xe7, 0x73, 0xc1, 0xe7, 0x8f, 0xeb, 0x77,
+	0x6f, 0xfc, 0xb6, 0xfb, 0xc0, 0x7e, 0x5a, 0x31, 0x1b, 0xa4, 0x58, 0x31, 0xc1, 0x65, 0x73, 0x7f,
+	0xe3, 0xce, 0x46, 0xc3, 0x7a, 0xed, 0xb8, 0x20, 0x78, 0x0e, 0x97, 0xee, 0xeb, 0x4b, 0xd8, 0xe1,
+	0x4c, 0xfd, 0xe2, 0x46, 0x56, 0xa1, 0x43, 0x0f, 0x12, 0xc1, 0x29, 0x57, 0xe6, 0x48, 0xfe, 0x0f,
+	0x67, 0xd8, 0xec, 0x3f, 0x62, 0x58, 0x52, 0xe9, 0x16, 0x6b, 0x45, 0xb3, 0x7f, 0x0b, 0x83, 0xd7,
+	0x0b, 0xd0, 0x79, 0x42, 0x15, 0x26, 0x58, 0x61, 0x54, 0x83, 0x55, 0x42, 0x65, 0x3f, 0x65, 0x89,
+	0x36, 0x91, 0xcb, 0xcf, 0xa7, 0xd0, 0x3d, 0xcd, 0xe0, 0x22, 0xee, 0x66, 0x9c, 0xa9, 0xe9, 0xa3,
+	0x79, 0x17, 0x7e, 0x77, 0x33, 0xbf, 0x21, 0x24, 0xd3, 0x50, 0x22, 0x04, 0x17, 0xf5, 0x8a, 0xdd,
+	0xa2, 0xd1, 0x36, 0xb1, 0x76, 0x47, 0x98, 0x4c, 0x22, 0x3c, 0x72, 0x17, 0xed, 0x75, 0xe4, 0x50,
+	0xb3, 0x39, 0x8e, 0xa9, 0x5b, 0xb2, 0x6c, 0x1d, 0xa3, 0xcb, 0xb0, 0x2c, 0x47, 0x71, 0x4f, 0x44,
+	0x6e, 0xd9, 0x64, 0x73, 0x84, 0x56, 0x60, 0x31, 0x4b, 0x99, 0x5b, 0xd1, 0xc9, 0x76, 0x65, 0x32,
+	0xf6, 0x8b, 0x3b, 0x61, 0x27, 0xd4, 0x39, 0x74, 0x1d, 0x3a, 0x59, 0xca, 0xba, 0x43, 0x2c, 0x87,
+	0xae, 0x63, 0xea, 0xd5, 0xc9, 0xd8, 0xaf, 0xec, 0x84, 0x9d, 0x47, 0x58, 0x0e, 0xc3, 0x4a, 0x96,
+	0x32, 0x1d, 0xb4, 0xb7, 0x8e, 0x26, 0x1e, 0x38, 0x9e, 0x78, 0xe0, 0xfb, 0xc4, 0x03, 0xef, 0x4e,
+	0xbc, 0xc2, 0xf1, 0x89, 0x57, 0xf8, 0x7a, 0xe2, 0x15, 0x5e, 0xac, 0xfd, 0xc9, 0xf3, 0x99, 0x1b,
+	0xe8, 0x95, 0xcd, 0xbf, 0xd5, 0xed, 0x9f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x6c, 0xba, 0x6c, 0x6b,
+	0x35, 0x05, 0x00, 0x00,
 }
 
 func (this *SendEnabled) Equal(that interface{}) bool {
diff --git a/x/crisis/legacy/v039/types.go b/x/crisis/migrations/v039/types.go
similarity index 100%
rename from x/crisis/legacy/v039/types.go
rename to x/crisis/migrations/v039/types.go
diff --git a/x/crisis/legacy/v040/migrate.go b/x/crisis/migrations/v040/migrate.go
similarity index 86%
rename from x/crisis/legacy/v040/migrate.go
rename to x/crisis/migrations/v040/migrate.go
index eb97ba9ee645..ed8255723ff6 100644
--- a/x/crisis/legacy/v040/migrate.go
+++ b/x/crisis/migrations/v040/migrate.go
@@ -1,7 +1,7 @@
 package v040
 
 import (
-	v039crisis "github.com/cosmos/cosmos-sdk/x/crisis/legacy/v039"
+	v039crisis "github.com/cosmos/cosmos-sdk/x/crisis/migrations/v039"
 	v040crisis "github.com/cosmos/cosmos-sdk/x/crisis/types"
 )
 
diff --git a/x/crisis/legacy/v040/types.go b/x/crisis/migrations/v040/types.go
similarity index 100%
rename from x/crisis/legacy/v040/types.go
rename to x/crisis/migrations/v040/types.go
diff --git a/x/distribution/keeper/migrations.go b/x/distribution/keeper/migrations.go
index 7f7273c650b7..7439dfbee4ef 100644
--- a/x/distribution/keeper/migrations.go
+++ b/x/distribution/keeper/migrations.go
@@ -2,7 +2,7 @@ package keeper
 
 import (
 	sdk "github.com/cosmos/cosmos-sdk/types"
-	v043 "github.com/cosmos/cosmos-sdk/x/distribution/legacy/v043"
+	v043 "github.com/cosmos/cosmos-sdk/x/distribution/migrations/v043"
 )
 
 // Migrator is a struct for handling in-place store migrations.
diff --git a/x/distribution/legacy/v034/types.go b/x/distribution/migrations/v034/types.go
similarity index 100%
rename from x/distribution/legacy/v034/types.go
rename to x/distribution/migrations/v034/types.go
diff --git a/x/distribution/legacy/v036/types.go b/x/distribution/migrations/v036/types.go
similarity index 97%
rename from x/distribution/legacy/v036/types.go
rename to x/distribution/migrations/v036/types.go
index 32431b7a0d47..df1e55a99350 100644
--- a/x/distribution/legacy/v036/types.go
+++ b/x/distribution/migrations/v036/types.go
@@ -10,9 +10,9 @@ import (
 
 	"github.com/cosmos/cosmos-sdk/codec"
 	sdk "github.com/cosmos/cosmos-sdk/types"
-	v034distr "github.com/cosmos/cosmos-sdk/x/distribution/legacy/v034"
+	v034distr "github.com/cosmos/cosmos-sdk/x/distribution/migrations/v034"
 	"github.com/cosmos/cosmos-sdk/x/distribution/types"
-	v036gov "github.com/cosmos/cosmos-sdk/x/gov/legacy/v036"
+	v036gov "github.com/cosmos/cosmos-sdk/x/gov/migrations/v036"
 )
 
 // ----------------------------------------------------------------------------
diff --git a/x/distribution/legacy/v038/types.go b/x/distribution/migrations/v038/types.go
similarity index 95%
rename from x/distribution/legacy/v038/types.go
rename to x/distribution/migrations/v038/types.go
index 0422472fbb49..cfdc0d508d99 100644
--- a/x/distribution/legacy/v038/types.go
+++ b/x/distribution/migrations/v038/types.go
@@ -5,8 +5,8 @@ package v038
 
 import (
 	sdk "github.com/cosmos/cosmos-sdk/types"
-	v034distr "github.com/cosmos/cosmos-sdk/x/distribution/legacy/v034"
-	v036distr "github.com/cosmos/cosmos-sdk/x/distribution/legacy/v036"
+	v034distr "github.com/cosmos/cosmos-sdk/x/distribution/migrations/v034"
+	v036distr "github.com/cosmos/cosmos-sdk/x/distribution/migrations/v036"
 )
 
 // DONTCOVER
diff --git a/x/distribution/legacy/v040/keys.go b/x/distribution/migrations/v040/keys.go
similarity index 99%
rename from x/distribution/legacy/v040/keys.go
rename to x/distribution/migrations/v040/keys.go
index 88a3c78079bb..c6978a9e31de 100644
--- a/x/distribution/legacy/v040/keys.go
+++ b/x/distribution/migrations/v040/keys.go
@@ -6,7 +6,7 @@ import (
 	"encoding/binary"
 
 	sdk "github.com/cosmos/cosmos-sdk/types"
-	v040auth "github.com/cosmos/cosmos-sdk/x/auth/legacy/v040"
+	v040auth "github.com/cosmos/cosmos-sdk/x/auth/migrations/v040"
 )
 
 const (
diff --git a/x/distribution/legacy/v040/migrate.go b/x/distribution/migrations/v040/migrate.go
similarity index 98%
rename from x/distribution/legacy/v040/migrate.go
rename to x/distribution/migrations/v040/migrate.go
index b0ba30bba861..a5024e44a4e7 100644
--- a/x/distribution/legacy/v040/migrate.go
+++ b/x/distribution/migrations/v040/migrate.go
@@ -1,7 +1,7 @@
 package v040
 
 import (
-	v038distribution "github.com/cosmos/cosmos-sdk/x/distribution/legacy/v038"
+	v038distribution "github.com/cosmos/cosmos-sdk/x/distribution/migrations/v038"
 	v040distribution "github.com/cosmos/cosmos-sdk/x/distribution/types"
 )
 
diff --git a/x/distribution/legacy/v043/helpers.go b/x/distribution/migrations/v043/helpers.go
similarity index 97%
rename from x/distribution/legacy/v043/helpers.go
rename to x/distribution/migrations/v043/helpers.go
index 141863beb946..9c3df57596cc 100644
--- a/x/distribution/legacy/v043/helpers.go
+++ b/x/distribution/migrations/v043/helpers.go
@@ -4,7 +4,7 @@ import (
 	"github.com/cosmos/cosmos-sdk/store/prefix"
 	sdk "github.com/cosmos/cosmos-sdk/types"
 	"github.com/cosmos/cosmos-sdk/types/address"
-	v040auth "github.com/cosmos/cosmos-sdk/x/auth/legacy/v040"
+	v040auth "github.com/cosmos/cosmos-sdk/x/auth/migrations/v040"
 )
 
 // MigratePrefixAddress is a helper function that migrates all keys of format:
diff --git a/x/distribution/legacy/v043/store.go b/x/distribution/migrations/v043/store.go
similarity index 91%
rename from x/distribution/legacy/v043/store.go
rename to x/distribution/migrations/v043/store.go
index 4448c59b75ff..3ec85d3a42e8 100644
--- a/x/distribution/legacy/v043/store.go
+++ b/x/distribution/migrations/v043/store.go
@@ -2,7 +2,7 @@ package v043
 
 import (
 	sdk "github.com/cosmos/cosmos-sdk/types"
-	v040distribution "github.com/cosmos/cosmos-sdk/x/distribution/legacy/v040"
+	v040distribution "github.com/cosmos/cosmos-sdk/x/distribution/migrations/v040"
 )
 
 // MigrateStore performs in-place store migrations from v0.40 to v0.43. The
diff --git a/x/distribution/legacy/v043/store_test.go b/x/distribution/migrations/v043/store_test.go
similarity index 93%
rename from x/distribution/legacy/v043/store_test.go
rename to x/distribution/migrations/v043/store_test.go
index c719d34ddb1e..9804e97d2f69 100644
--- a/x/distribution/legacy/v043/store_test.go
+++ b/x/distribution/migrations/v043/store_test.go
@@ -9,8 +9,8 @@ import (
 	"github.com/cosmos/cosmos-sdk/testutil"
 	"github.com/cosmos/cosmos-sdk/testutil/testdata"
 	sdk "github.com/cosmos/cosmos-sdk/types"
-	v040distribution "github.com/cosmos/cosmos-sdk/x/distribution/legacy/v040"
-	v043distribution "github.com/cosmos/cosmos-sdk/x/distribution/legacy/v043"
+	v040distribution "github.com/cosmos/cosmos-sdk/x/distribution/migrations/v040"
+	v043distribution "github.com/cosmos/cosmos-sdk/x/distribution/migrations/v043"
 	"github.com/cosmos/cosmos-sdk/x/distribution/types"
 )
 
diff --git a/x/evidence/legacy/v038/types.go b/x/evidence/migrations/v038/types.go
similarity index 100%
rename from x/evidence/legacy/v038/types.go
rename to x/evidence/migrations/v038/types.go
diff --git a/x/evidence/legacy/v040/migrate.go b/x/evidence/migrations/v040/migrate.go
similarity index 94%
rename from x/evidence/legacy/v040/migrate.go
rename to x/evidence/migrations/v040/migrate.go
index f848130f345c..1ddb1ac6f238 100644
--- a/x/evidence/legacy/v040/migrate.go
+++ b/x/evidence/migrations/v040/migrate.go
@@ -4,7 +4,7 @@ import (
 	"fmt"
 
 	codectypes "github.com/cosmos/cosmos-sdk/codec/types"
-	v038evidence "github.com/cosmos/cosmos-sdk/x/evidence/legacy/v038"
+	v038evidence "github.com/cosmos/cosmos-sdk/x/evidence/migrations/v038"
 	v040evidence "github.com/cosmos/cosmos-sdk/x/evidence/types"
 )
 
diff --git a/x/evidence/legacy/v040/migrate_test.go b/x/evidence/migrations/v040/migrate_test.go
similarity index 89%
rename from x/evidence/legacy/v040/migrate_test.go
rename to x/evidence/migrations/v040/migrate_test.go
index 02446439221a..aba5b81f9185 100644
--- a/x/evidence/legacy/v040/migrate_test.go
+++ b/x/evidence/migrations/v040/migrate_test.go
@@ -8,8 +8,8 @@ import (
 	"github.com/cosmos/cosmos-sdk/client"
 	"github.com/cosmos/cosmos-sdk/simapp"
 	sdk "github.com/cosmos/cosmos-sdk/types"
-	v038evidence "github.com/cosmos/cosmos-sdk/x/evidence/legacy/v038"
-	v040evidence "github.com/cosmos/cosmos-sdk/x/evidence/legacy/v040"
+	v038evidence "github.com/cosmos/cosmos-sdk/x/evidence/migrations/v038"
+	v040evidence "github.com/cosmos/cosmos-sdk/x/evidence/migrations/v040"
 )
 
 func TestMigrate(t *testing.T) {
diff --git a/x/evidence/legacy/v040/types.go b/x/evidence/migrations/v040/types.go
similarity index 100%
rename from x/evidence/legacy/v040/types.go
rename to x/evidence/migrations/v040/types.go
diff --git a/x/feegrant/msgs.go b/x/feegrant/msgs.go
index 63c29eb4eaeb..7ab47bb5d2cb 100644
--- a/x/feegrant/msgs.go
+++ b/x/feegrant/msgs.go
@@ -7,7 +7,7 @@ import (
 	"github.com/cosmos/cosmos-sdk/codec/types"
 	sdk "github.com/cosmos/cosmos-sdk/types"
 	sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
-	"github.com/cosmos/cosmos-sdk/x/auth/legacy/legacytx"
+	"github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
 )
 
 var (
diff --git a/x/genutil/client/cli/migrate.go b/x/genutil/client/cli/migrate.go
index 37e42ac4f704..3b8d9f5a0872 100644
--- a/x/genutil/client/cli/migrate.go
+++ b/x/genutil/client/cli/migrate.go
@@ -14,8 +14,8 @@ import (
 	"github.com/cosmos/cosmos-sdk/client/flags"
 	sdk "github.com/cosmos/cosmos-sdk/types"
 	"github.com/cosmos/cosmos-sdk/version"
-	v040 "github.com/cosmos/cosmos-sdk/x/genutil/legacy/v040"
-	v043 "github.com/cosmos/cosmos-sdk/x/genutil/legacy/v043"
+	v040 "github.com/cosmos/cosmos-sdk/x/genutil/migrations/v040"
+	v043 "github.com/cosmos/cosmos-sdk/x/genutil/migrations/v043"
 	"github.com/cosmos/cosmos-sdk/x/genutil/types"
 )
 
diff --git a/x/genutil/legacy/v039/types.go b/x/genutil/migrations/v039/types.go
similarity index 100%
rename from x/genutil/legacy/v039/types.go
rename to x/genutil/migrations/v039/types.go
diff --git a/x/genutil/legacy/v040/migrate.go b/x/genutil/migrations/v040/migrate.go
similarity index 81%
rename from x/genutil/legacy/v040/migrate.go
rename to x/genutil/migrations/v040/migrate.go
index a022d9fcf985..eb9686820981 100644
--- a/x/genutil/legacy/v040/migrate.go
+++ b/x/genutil/migrations/v040/migrate.go
@@ -3,30 +3,30 @@ package v040
 import (
 	"github.com/cosmos/cosmos-sdk/client"
 	"github.com/cosmos/cosmos-sdk/codec"
-	v039auth "github.com/cosmos/cosmos-sdk/x/auth/legacy/v039"
-	v040auth "github.com/cosmos/cosmos-sdk/x/auth/legacy/v040"
-	v036supply "github.com/cosmos/cosmos-sdk/x/bank/legacy/v036"
-	v038bank "github.com/cosmos/cosmos-sdk/x/bank/legacy/v038"
-	v040bank "github.com/cosmos/cosmos-sdk/x/bank/legacy/v040"
-	v039crisis "github.com/cosmos/cosmos-sdk/x/crisis/legacy/v039"
-	v040crisis "github.com/cosmos/cosmos-sdk/x/crisis/legacy/v040"
-	v036distr "github.com/cosmos/cosmos-sdk/x/distribution/legacy/v036"
-	v038distr "github.com/cosmos/cosmos-sdk/x/distribution/legacy/v038"
-	v040distr "github.com/cosmos/cosmos-sdk/x/distribution/legacy/v040"
-	v038evidence "github.com/cosmos/cosmos-sdk/x/evidence/legacy/v038"
-	v040evidence "github.com/cosmos/cosmos-sdk/x/evidence/legacy/v040"
-	v039genutil "github.com/cosmos/cosmos-sdk/x/genutil/legacy/v039"
+	v039auth "github.com/cosmos/cosmos-sdk/x/auth/migrations/v039"
+	v040auth "github.com/cosmos/cosmos-sdk/x/auth/migrations/v040"
+	v036supply "github.com/cosmos/cosmos-sdk/x/bank/migrations/v036"
+	v038bank "github.com/cosmos/cosmos-sdk/x/bank/migrations/v038"
+	v040bank "github.com/cosmos/cosmos-sdk/x/bank/migrations/v040"
+	v039crisis "github.com/cosmos/cosmos-sdk/x/crisis/migrations/v039"
+	v040crisis "github.com/cosmos/cosmos-sdk/x/crisis/migrations/v040"
+	v036distr "github.com/cosmos/cosmos-sdk/x/distribution/migrations/v036"
+	v038distr "github.com/cosmos/cosmos-sdk/x/distribution/migrations/v038"
+	v040distr "github.com/cosmos/cosmos-sdk/x/distribution/migrations/v040"
+	v038evidence "github.com/cosmos/cosmos-sdk/x/evidence/migrations/v038"
+	v040evidence "github.com/cosmos/cosmos-sdk/x/evidence/migrations/v040"
+	v039genutil "github.com/cosmos/cosmos-sdk/x/genutil/migrations/v039"
 	"github.com/cosmos/cosmos-sdk/x/genutil/types"
-	v036gov "github.com/cosmos/cosmos-sdk/x/gov/legacy/v036"
-	v040gov "github.com/cosmos/cosmos-sdk/x/gov/legacy/v040"
-	v039mint "github.com/cosmos/cosmos-sdk/x/mint/legacy/v039"
-	v040mint "github.com/cosmos/cosmos-sdk/x/mint/legacy/v040"
-	v036params "github.com/cosmos/cosmos-sdk/x/params/legacy/v036"
-	v039slashing "github.com/cosmos/cosmos-sdk/x/slashing/legacy/v039"
-	v040slashing "github.com/cosmos/cosmos-sdk/x/slashing/legacy/v040"
-	v038staking "github.com/cosmos/cosmos-sdk/x/staking/legacy/v038"
-	v040staking "github.com/cosmos/cosmos-sdk/x/staking/legacy/v040"
-	v038upgrade "github.com/cosmos/cosmos-sdk/x/upgrade/legacy/v038"
+	v036gov "github.com/cosmos/cosmos-sdk/x/gov/migrations/v036"
+	v040gov "github.com/cosmos/cosmos-sdk/x/gov/migrations/v040"
+	v039mint "github.com/cosmos/cosmos-sdk/x/mint/migrations/v039"
+	v040mint "github.com/cosmos/cosmos-sdk/x/mint/migrations/v040"
+	v036params "github.com/cosmos/cosmos-sdk/x/params/migrations/v036"
+	v039slashing "github.com/cosmos/cosmos-sdk/x/slashing/migrations/v039"
+	v040slashing "github.com/cosmos/cosmos-sdk/x/slashing/migrations/v040"
+	v038staking "github.com/cosmos/cosmos-sdk/x/staking/migrations/v038"
+	v040staking "github.com/cosmos/cosmos-sdk/x/staking/migrations/v040"
+	v038upgrade "github.com/cosmos/cosmos-sdk/x/upgrade/migrations/v038"
 )
 
 func migrateGenutil(oldGenState v039genutil.GenesisState) *types.GenesisState {
diff --git a/x/genutil/legacy/v040/types.go b/x/genutil/migrations/v040/types.go
similarity index 100%
rename from x/genutil/legacy/v040/types.go
rename to x/genutil/migrations/v040/types.go
diff --git a/x/genutil/legacy/v043/migrate.go b/x/genutil/migrations/v043/migrate.go
similarity index 87%
rename from x/genutil/legacy/v043/migrate.go
rename to x/genutil/migrations/v043/migrate.go
index 8dba9ffe60de..e96f95a68447 100644
--- a/x/genutil/legacy/v043/migrate.go
+++ b/x/genutil/migrations/v043/migrate.go
@@ -3,8 +3,8 @@ package v043
 import (
 	"github.com/cosmos/cosmos-sdk/client"
 	"github.com/cosmos/cosmos-sdk/x/genutil/types"
-	v040gov "github.com/cosmos/cosmos-sdk/x/gov/legacy/v040"
-	v043gov "github.com/cosmos/cosmos-sdk/x/gov/legacy/v043"
+	v040gov "github.com/cosmos/cosmos-sdk/x/gov/migrations/v040"
+	v043gov "github.com/cosmos/cosmos-sdk/x/gov/migrations/v043"
 	gov "github.com/cosmos/cosmos-sdk/x/gov/types"
 )
 
diff --git a/x/gov/client/utils/query_test.go b/x/gov/client/utils/query_test.go
index 30822c0d671c..f09ef3cf6767 100644
--- a/x/gov/client/utils/query_test.go
+++ b/x/gov/client/utils/query_test.go
@@ -13,7 +13,7 @@ import (
 	"github.com/cosmos/cosmos-sdk/client"
 	"github.com/cosmos/cosmos-sdk/simapp"
 	sdk "github.com/cosmos/cosmos-sdk/types"
-	"github.com/cosmos/cosmos-sdk/x/auth/legacy/legacytx"
+	"github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
 	"github.com/cosmos/cosmos-sdk/x/gov/client/utils"
 	"github.com/cosmos/cosmos-sdk/x/gov/types"
 )
diff --git a/x/gov/keeper/migrations.go b/x/gov/keeper/migrations.go
index cad01432bb7d..290e03cea5c6 100644
--- a/x/gov/keeper/migrations.go
+++ b/x/gov/keeper/migrations.go
@@ -2,7 +2,7 @@ package keeper
 
 import (
 	sdk "github.com/cosmos/cosmos-sdk/types"
-	v043 "github.com/cosmos/cosmos-sdk/x/gov/legacy/v043"
+	v043 "github.com/cosmos/cosmos-sdk/x/gov/migrations/v043"
 )
 
 // Migrator is a struct for handling in-place store migrations.
diff --git a/x/gov/legacy/v034/types.go b/x/gov/migrations/v034/types.go
similarity index 100%
rename from x/gov/legacy/v034/types.go
rename to x/gov/migrations/v034/types.go
diff --git a/x/gov/legacy/v036/types.go b/x/gov/migrations/v036/types.go
similarity index 98%
rename from x/gov/legacy/v036/types.go
rename to x/gov/migrations/v036/types.go
index 28b42657a0a5..f46d47f97b2e 100644
--- a/x/gov/legacy/v036/types.go
+++ b/x/gov/migrations/v036/types.go
@@ -11,7 +11,7 @@ import (
 
 	"github.com/cosmos/cosmos-sdk/codec"
 	sdk "github.com/cosmos/cosmos-sdk/types"
-	v034gov "github.com/cosmos/cosmos-sdk/x/gov/legacy/v034"
+	v034gov "github.com/cosmos/cosmos-sdk/x/gov/migrations/v034"
 )
 
 const (
diff --git a/x/gov/legacy/v040/keys.go b/x/gov/migrations/v040/keys.go
similarity index 98%
rename from x/gov/legacy/v040/keys.go
rename to x/gov/migrations/v040/keys.go
index b1559875bb1f..8fe2e4413d8f 100644
--- a/x/gov/legacy/v040/keys.go
+++ b/x/gov/migrations/v040/keys.go
@@ -8,7 +8,7 @@ import (
 	"time"
 
 	sdk "github.com/cosmos/cosmos-sdk/types"
-	v040auth "github.com/cosmos/cosmos-sdk/x/auth/legacy/v040"
+	v040auth "github.com/cosmos/cosmos-sdk/x/auth/migrations/v040"
 )
 
 const (
diff --git a/x/gov/legacy/v040/migrate.go b/x/gov/migrations/v040/migrate.go
similarity index 94%
rename from x/gov/legacy/v040/migrate.go
rename to x/gov/migrations/v040/migrate.go
index 3adedde50932..86d3e2b39a24 100644
--- a/x/gov/legacy/v040/migrate.go
+++ b/x/gov/migrations/v040/migrate.go
@@ -6,14 +6,14 @@ import (
 	proto "github.com/gogo/protobuf/proto"
 
 	codectypes "github.com/cosmos/cosmos-sdk/codec/types"
-	v036distr "github.com/cosmos/cosmos-sdk/x/distribution/legacy/v036"
+	v036distr "github.com/cosmos/cosmos-sdk/x/distribution/migrations/v036"
 	v040distr "github.com/cosmos/cosmos-sdk/x/distribution/types"
-	v034gov "github.com/cosmos/cosmos-sdk/x/gov/legacy/v034"
-	v036gov "github.com/cosmos/cosmos-sdk/x/gov/legacy/v036"
+	v034gov "github.com/cosmos/cosmos-sdk/x/gov/migrations/v034"
+	v036gov "github.com/cosmos/cosmos-sdk/x/gov/migrations/v036"
 	v040gov "github.com/cosmos/cosmos-sdk/x/gov/types"
-	v036params "github.com/cosmos/cosmos-sdk/x/params/legacy/v036"
+	v036params "github.com/cosmos/cosmos-sdk/x/params/migrations/v036"
 	v040params "github.com/cosmos/cosmos-sdk/x/params/types/proposal"
-	v038upgrade "github.com/cosmos/cosmos-sdk/x/upgrade/legacy/v038"
+	v038upgrade "github.com/cosmos/cosmos-sdk/x/upgrade/migrations/v038"
 	v040upgrade "github.com/cosmos/cosmos-sdk/x/upgrade/types"
 )
 
diff --git a/x/gov/legacy/v040/migrate_test.go b/x/gov/migrations/v040/migrate_test.go
similarity index 94%
rename from x/gov/legacy/v040/migrate_test.go
rename to x/gov/migrations/v040/migrate_test.go
index 2d399f38beb3..6aeace7b1444 100644
--- a/x/gov/legacy/v040/migrate_test.go
+++ b/x/gov/migrations/v040/migrate_test.go
@@ -9,11 +9,11 @@ import (
 	"github.com/cosmos/cosmos-sdk/client"
 	"github.com/cosmos/cosmos-sdk/simapp"
 	sdk "github.com/cosmos/cosmos-sdk/types"
-	v036distr "github.com/cosmos/cosmos-sdk/x/distribution/legacy/v036"
-	v036gov "github.com/cosmos/cosmos-sdk/x/gov/legacy/v036"
-	v040gov "github.com/cosmos/cosmos-sdk/x/gov/legacy/v040"
-	v036params "github.com/cosmos/cosmos-sdk/x/params/legacy/v036"
-	v038upgrade "github.com/cosmos/cosmos-sdk/x/upgrade/legacy/v038"
+	v036distr "github.com/cosmos/cosmos-sdk/x/distribution/migrations/v036"
+	v036gov "github.com/cosmos/cosmos-sdk/x/gov/migrations/v036"
+	v040gov "github.com/cosmos/cosmos-sdk/x/gov/migrations/v040"
+	v036params "github.com/cosmos/cosmos-sdk/x/params/migrations/v036"
+	v038upgrade "github.com/cosmos/cosmos-sdk/x/upgrade/migrations/v038"
 )
 
 func TestMigrate(t *testing.T) {
diff --git a/x/gov/legacy/v043/json.go b/x/gov/migrations/v043/json.go
similarity index 100%
rename from x/gov/legacy/v043/json.go
rename to x/gov/migrations/v043/json.go
diff --git a/x/gov/legacy/v043/json_test.go b/x/gov/migrations/v043/json_test.go
similarity index 98%
rename from x/gov/legacy/v043/json_test.go
rename to x/gov/migrations/v043/json_test.go
index 4fa05b941398..13762858e707 100644
--- a/x/gov/legacy/v043/json_test.go
+++ b/x/gov/migrations/v043/json_test.go
@@ -10,7 +10,7 @@ import (
 	"github.com/cosmos/cosmos-sdk/client"
 	"github.com/cosmos/cosmos-sdk/simapp"
 	sdk "github.com/cosmos/cosmos-sdk/types"
-	v043gov "github.com/cosmos/cosmos-sdk/x/gov/legacy/v043"
+	v043gov "github.com/cosmos/cosmos-sdk/x/gov/migrations/v043"
 	"github.com/cosmos/cosmos-sdk/x/gov/types"
 )
 
diff --git a/x/gov/legacy/v043/keys.go b/x/gov/migrations/v043/keys.go
similarity index 100%
rename from x/gov/legacy/v043/keys.go
rename to x/gov/migrations/v043/keys.go
diff --git a/x/gov/legacy/v043/store.go b/x/gov/migrations/v043/store.go
similarity index 100%
rename from x/gov/legacy/v043/store.go
rename to x/gov/migrations/v043/store.go
diff --git a/x/gov/legacy/v043/store_test.go b/x/gov/migrations/v043/store_test.go
similarity index 95%
rename from x/gov/legacy/v043/store_test.go
rename to x/gov/migrations/v043/store_test.go
index 3501395010e6..63c8a7257744 100644
--- a/x/gov/legacy/v043/store_test.go
+++ b/x/gov/migrations/v043/store_test.go
@@ -11,8 +11,8 @@ import (
 	"github.com/cosmos/cosmos-sdk/testutil"
 	"github.com/cosmos/cosmos-sdk/testutil/testdata"
 	sdk "github.com/cosmos/cosmos-sdk/types"
-	v040gov "github.com/cosmos/cosmos-sdk/x/gov/legacy/v040"
-	v043gov "github.com/cosmos/cosmos-sdk/x/gov/legacy/v043"
+	v040gov "github.com/cosmos/cosmos-sdk/x/gov/migrations/v040"
+	v043gov "github.com/cosmos/cosmos-sdk/x/gov/migrations/v043"
 	"github.com/cosmos/cosmos-sdk/x/gov/types"
 )
 
diff --git a/x/mint/legacy/v039/types.go b/x/mint/migrations/v039/types.go
similarity index 100%
rename from x/mint/legacy/v039/types.go
rename to x/mint/migrations/v039/types.go
diff --git a/x/mint/legacy/v040/migrate.go b/x/mint/migrations/v040/migrate.go
similarity index 93%
rename from x/mint/legacy/v040/migrate.go
rename to x/mint/migrations/v040/migrate.go
index b417c6828951..66eb0f000100 100644
--- a/x/mint/legacy/v040/migrate.go
+++ b/x/mint/migrations/v040/migrate.go
@@ -1,7 +1,7 @@
 package v040
 
 import (
-	v039mint "github.com/cosmos/cosmos-sdk/x/mint/legacy/v039"
+	v039mint "github.com/cosmos/cosmos-sdk/x/mint/migrations/v039"
 	v040mint "github.com/cosmos/cosmos-sdk/x/mint/types"
 )
 
diff --git a/x/mint/legacy/v040/types.go b/x/mint/migrations/v040/types.go
similarity index 100%
rename from x/mint/legacy/v040/types.go
rename to x/mint/migrations/v040/types.go
diff --git a/x/params/legacy/v036/types.go b/x/params/migrations/v036/types.go
similarity index 98%
rename from x/params/legacy/v036/types.go
rename to x/params/migrations/v036/types.go
index b71f1ffab844..0e0b408ddab5 100644
--- a/x/params/legacy/v036/types.go
+++ b/x/params/migrations/v036/types.go
@@ -8,7 +8,7 @@ import (
 	"strings"
 
 	"github.com/cosmos/cosmos-sdk/codec"
-	v036gov "github.com/cosmos/cosmos-sdk/x/gov/legacy/v036"
+	v036gov "github.com/cosmos/cosmos-sdk/x/gov/migrations/v036"
 )
 
 const (
diff --git a/x/slashing/keeper/migrations.go b/x/slashing/keeper/migrations.go
index 84f19c01ab7c..a9f74f6ace75 100644
--- a/x/slashing/keeper/migrations.go
+++ b/x/slashing/keeper/migrations.go
@@ -2,7 +2,7 @@ package keeper
 
 import (
 	sdk "github.com/cosmos/cosmos-sdk/types"
-	v043 "github.com/cosmos/cosmos-sdk/x/slashing/legacy/v043"
+	v043 "github.com/cosmos/cosmos-sdk/x/slashing/migrations/v043"
 )
 
 // Migrator is a struct for handling in-place store migrations.
diff --git a/x/slashing/legacy/v039/types.go b/x/slashing/migrations/v039/types.go
similarity index 100%
rename from x/slashing/legacy/v039/types.go
rename to x/slashing/migrations/v039/types.go
diff --git a/x/slashing/legacy/v040/keys.go b/x/slashing/migrations/v040/keys.go
similarity index 97%
rename from x/slashing/legacy/v040/keys.go
rename to x/slashing/migrations/v040/keys.go
index 02cefbc4525e..fe4cb52c5b83 100644
--- a/x/slashing/legacy/v040/keys.go
+++ b/x/slashing/migrations/v040/keys.go
@@ -6,7 +6,7 @@ import (
 	"encoding/binary"
 
 	sdk "github.com/cosmos/cosmos-sdk/types"
-	v040auth "github.com/cosmos/cosmos-sdk/x/auth/legacy/v040"
+	v040auth "github.com/cosmos/cosmos-sdk/x/auth/migrations/v040"
 )
 
 const (
diff --git a/x/slashing/legacy/v040/migrate.go b/x/slashing/migrations/v040/migrate.go
similarity index 97%
rename from x/slashing/legacy/v040/migrate.go
rename to x/slashing/migrations/v040/migrate.go
index ba494dcad14a..0dbd227425c0 100644
--- a/x/slashing/legacy/v040/migrate.go
+++ b/x/slashing/migrations/v040/migrate.go
@@ -3,7 +3,7 @@ package v040
 import (
 	"sort"
 
-	v039slashing "github.com/cosmos/cosmos-sdk/x/slashing/legacy/v039"
+	v039slashing "github.com/cosmos/cosmos-sdk/x/slashing/migrations/v039"
 	v040slashing "github.com/cosmos/cosmos-sdk/x/slashing/types"
 )
 
diff --git a/x/slashing/legacy/v040/migrate_test.go b/x/slashing/migrations/v040/migrate_test.go
similarity index 96%
rename from x/slashing/legacy/v040/migrate_test.go
rename to x/slashing/migrations/v040/migrate_test.go
index 03186634c038..2f2bc66615f2 100644
--- a/x/slashing/legacy/v040/migrate_test.go
+++ b/x/slashing/migrations/v040/migrate_test.go
@@ -9,8 +9,8 @@ import (
 	"github.com/cosmos/cosmos-sdk/client"
 	"github.com/cosmos/cosmos-sdk/simapp"
 	sdk "github.com/cosmos/cosmos-sdk/types"
-	v039slashing "github.com/cosmos/cosmos-sdk/x/slashing/legacy/v039"
-	v040slashing "github.com/cosmos/cosmos-sdk/x/slashing/legacy/v040"
+	v039slashing "github.com/cosmos/cosmos-sdk/x/slashing/migrations/v039"
+	v040slashing "github.com/cosmos/cosmos-sdk/x/slashing/migrations/v040"
 )
 
 func TestMigrate(t *testing.T) {
diff --git a/x/slashing/legacy/v043/store.go b/x/slashing/migrations/v043/store.go
similarity index 80%
rename from x/slashing/legacy/v043/store.go
rename to x/slashing/migrations/v043/store.go
index daee1d3fc157..20878352a69f 100644
--- a/x/slashing/legacy/v043/store.go
+++ b/x/slashing/migrations/v043/store.go
@@ -2,8 +2,8 @@ package v043
 
 import (
 	sdk "github.com/cosmos/cosmos-sdk/types"
-	v043distribution "github.com/cosmos/cosmos-sdk/x/distribution/legacy/v043"
-	v040slashing "github.com/cosmos/cosmos-sdk/x/slashing/legacy/v040"
+	v043distribution "github.com/cosmos/cosmos-sdk/x/distribution/migrations/v043"
+	v040slashing "github.com/cosmos/cosmos-sdk/x/slashing/migrations/v040"
 )
 
 // MigrateStore performs in-place store migrations from v0.40 to v0.43. The
diff --git a/x/slashing/legacy/v043/store_test.go b/x/slashing/migrations/v043/store_test.go
similarity index 91%
rename from x/slashing/legacy/v043/store_test.go
rename to x/slashing/migrations/v043/store_test.go
index a31b1cd65b3e..962e7af9d56a 100644
--- a/x/slashing/legacy/v043/store_test.go
+++ b/x/slashing/migrations/v043/store_test.go
@@ -9,8 +9,8 @@ import (
 	"github.com/cosmos/cosmos-sdk/testutil"
 	"github.com/cosmos/cosmos-sdk/testutil/testdata"
 	sdk "github.com/cosmos/cosmos-sdk/types"
-	v040slashing "github.com/cosmos/cosmos-sdk/x/slashing/legacy/v040"
-	v043slashing "github.com/cosmos/cosmos-sdk/x/slashing/legacy/v043"
+	v040slashing "github.com/cosmos/cosmos-sdk/x/slashing/migrations/v040"
+	v043slashing "github.com/cosmos/cosmos-sdk/x/slashing/migrations/v043"
 	"github.com/cosmos/cosmos-sdk/x/slashing/types"
 )
 
diff --git a/x/staking/keeper/migrations.go b/x/staking/keeper/migrations.go
index 101ca195b390..b694e8b8ec7a 100644
--- a/x/staking/keeper/migrations.go
+++ b/x/staking/keeper/migrations.go
@@ -2,7 +2,7 @@ package keeper
 
 import (
 	sdk "github.com/cosmos/cosmos-sdk/types"
-	v043 "github.com/cosmos/cosmos-sdk/x/staking/legacy/v043"
+	v043 "github.com/cosmos/cosmos-sdk/x/staking/migrations/v043"
 )
 
 // Migrator is a struct for handling in-place store migrations.
diff --git a/x/staking/legacy/v034/types.go b/x/staking/migrations/v034/types.go
similarity index 100%
rename from x/staking/legacy/v034/types.go
rename to x/staking/migrations/v034/types.go
diff --git a/x/staking/legacy/v036/types.go b/x/staking/migrations/v036/types.go
similarity index 98%
rename from x/staking/legacy/v036/types.go
rename to x/staking/migrations/v036/types.go
index 7cc08216682a..c954add072e7 100644
--- a/x/staking/legacy/v036/types.go
+++ b/x/staking/migrations/v036/types.go
@@ -11,7 +11,7 @@ import (
 	cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types"
 	sdk "github.com/cosmos/cosmos-sdk/types"
 	"github.com/cosmos/cosmos-sdk/types/bech32/legacybech32"
-	v034staking "github.com/cosmos/cosmos-sdk/x/staking/legacy/v034"
+	v034staking "github.com/cosmos/cosmos-sdk/x/staking/migrations/v034"
 )
 
 const (
diff --git a/x/staking/legacy/v038/types.go b/x/staking/migrations/v038/types.go
similarity index 98%
rename from x/staking/legacy/v038/types.go
rename to x/staking/migrations/v038/types.go
index c0eb7946b115..027b3e693a8a 100644
--- a/x/staking/legacy/v038/types.go
+++ b/x/staking/migrations/v038/types.go
@@ -11,8 +11,8 @@ import (
 	cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types"
 	sdk "github.com/cosmos/cosmos-sdk/types"
 	"github.com/cosmos/cosmos-sdk/types/bech32/legacybech32"
-	v034staking "github.com/cosmos/cosmos-sdk/x/staking/legacy/v034"
-	v036staking "github.com/cosmos/cosmos-sdk/x/staking/legacy/v036"
+	v034staking "github.com/cosmos/cosmos-sdk/x/staking/migrations/v034"
+	v036staking "github.com/cosmos/cosmos-sdk/x/staking/migrations/v036"
 )
 
 const (
diff --git a/x/staking/legacy/v040/genesis.pb.go b/x/staking/migrations/v040/genesis.pb.go
similarity index 100%
rename from x/staking/legacy/v040/genesis.pb.go
rename to x/staking/migrations/v040/genesis.pb.go
diff --git a/x/staking/legacy/v040/keys.go b/x/staking/migrations/v040/keys.go
similarity index 99%
rename from x/staking/legacy/v040/keys.go
rename to x/staking/migrations/v040/keys.go
index c01c41a417e3..e35ae83a3065 100644
--- a/x/staking/legacy/v040/keys.go
+++ b/x/staking/migrations/v040/keys.go
@@ -10,7 +10,7 @@ import (
 	"time"
 
 	sdk "github.com/cosmos/cosmos-sdk/types"
-	v040auth "github.com/cosmos/cosmos-sdk/x/auth/legacy/v040"
+	v040auth "github.com/cosmos/cosmos-sdk/x/auth/migrations/v040"
 	"github.com/cosmos/cosmos-sdk/x/staking/types"
 )
 
diff --git a/x/staking/legacy/v040/migrate.go b/x/staking/migrations/v040/migrate.go
similarity index 97%
rename from x/staking/legacy/v040/migrate.go
rename to x/staking/migrations/v040/migrate.go
index a0d9b4c90378..6616e71a6123 100644
--- a/x/staking/legacy/v040/migrate.go
+++ b/x/staking/migrations/v040/migrate.go
@@ -4,8 +4,8 @@ import (
 	"fmt"
 
 	codectypes "github.com/cosmos/cosmos-sdk/codec/types"
-	v034staking "github.com/cosmos/cosmos-sdk/x/staking/legacy/v034"
-	v038staking "github.com/cosmos/cosmos-sdk/x/staking/legacy/v038"
+	v034staking "github.com/cosmos/cosmos-sdk/x/staking/migrations/v034"
+	v038staking "github.com/cosmos/cosmos-sdk/x/staking/migrations/v038"
 )
 
 func migrateBondStatus(oldStatus v034staking.BondStatus) BondStatus {
diff --git a/x/staking/legacy/v040/migrate_test.go b/x/staking/migrations/v040/migrate_test.go
similarity index 91%
rename from x/staking/legacy/v040/migrate_test.go
rename to x/staking/migrations/v040/migrate_test.go
index d336d4dd3915..6835c97579b4 100644
--- a/x/staking/legacy/v040/migrate_test.go
+++ b/x/staking/migrations/v040/migrate_test.go
@@ -9,9 +9,9 @@ import (
 	"github.com/cosmos/cosmos-sdk/client"
 	"github.com/cosmos/cosmos-sdk/crypto/keys/ed25519"
 	"github.com/cosmos/cosmos-sdk/simapp"
-	v034staking "github.com/cosmos/cosmos-sdk/x/staking/legacy/v034"
-	v038staking "github.com/cosmos/cosmos-sdk/x/staking/legacy/v038"
-	v040staking "github.com/cosmos/cosmos-sdk/x/staking/legacy/v040"
+	v034staking "github.com/cosmos/cosmos-sdk/x/staking/migrations/v034"
+	v038staking "github.com/cosmos/cosmos-sdk/x/staking/migrations/v038"
+	v040staking "github.com/cosmos/cosmos-sdk/x/staking/migrations/v040"
 )
 
 func TestMigrate(t *testing.T) {
diff --git a/x/staking/legacy/v040/staking.pb.go b/x/staking/migrations/v040/staking.pb.go
similarity index 100%
rename from x/staking/legacy/v040/staking.pb.go
rename to x/staking/migrations/v040/staking.pb.go
diff --git a/x/staking/legacy/v040/types.go b/x/staking/migrations/v040/types.go
similarity index 100%
rename from x/staking/legacy/v040/types.go
rename to x/staking/migrations/v040/types.go
diff --git a/x/staking/legacy/v043/store.go b/x/staking/migrations/v043/store.go
similarity index 93%
rename from x/staking/legacy/v043/store.go
rename to x/staking/migrations/v043/store.go
index 2e06d7d674ea..4ebba9b600fd 100644
--- a/x/staking/legacy/v043/store.go
+++ b/x/staking/migrations/v043/store.go
@@ -4,9 +4,9 @@ import (
 	"github.com/cosmos/cosmos-sdk/store/prefix"
 	sdk "github.com/cosmos/cosmos-sdk/types"
 	"github.com/cosmos/cosmos-sdk/types/address"
-	v040auth "github.com/cosmos/cosmos-sdk/x/auth/legacy/v040"
-	v043distribution "github.com/cosmos/cosmos-sdk/x/distribution/legacy/v043"
-	v040staking "github.com/cosmos/cosmos-sdk/x/staking/legacy/v040"
+	v040auth "github.com/cosmos/cosmos-sdk/x/auth/migrations/v040"
+	v043distribution "github.com/cosmos/cosmos-sdk/x/distribution/migrations/v043"
+	v040staking "github.com/cosmos/cosmos-sdk/x/staking/migrations/v040"
 	"github.com/cosmos/cosmos-sdk/x/staking/types"
 )
 
diff --git a/x/staking/legacy/v043/store_test.go b/x/staking/migrations/v043/store_test.go
similarity index 96%
rename from x/staking/legacy/v043/store_test.go
rename to x/staking/migrations/v043/store_test.go
index 099691115489..756590a5dc19 100644
--- a/x/staking/legacy/v043/store_test.go
+++ b/x/staking/migrations/v043/store_test.go
@@ -10,8 +10,8 @@ import (
 	"github.com/cosmos/cosmos-sdk/testutil"
 	"github.com/cosmos/cosmos-sdk/testutil/testdata"
 	sdk "github.com/cosmos/cosmos-sdk/types"
-	v040staking "github.com/cosmos/cosmos-sdk/x/staking/legacy/v040"
-	v043staking "github.com/cosmos/cosmos-sdk/x/staking/legacy/v043"
+	v040staking "github.com/cosmos/cosmos-sdk/x/staking/migrations/v040"
+	v043staking "github.com/cosmos/cosmos-sdk/x/staking/migrations/v043"
 	"github.com/cosmos/cosmos-sdk/x/staking/teststaking"
 	"github.com/cosmos/cosmos-sdk/x/staking/types"
 )
diff --git a/x/upgrade/legacy/v038/types.go b/x/upgrade/migrations/v038/types.go
similarity index 98%
rename from x/upgrade/legacy/v038/types.go
rename to x/upgrade/migrations/v038/types.go
index da7b3ae93d40..1a3ebd0ff623 100644
--- a/x/upgrade/legacy/v038/types.go
+++ b/x/upgrade/migrations/v038/types.go
@@ -11,7 +11,7 @@ import (
 	"github.com/cosmos/cosmos-sdk/codec"
 	sdk "github.com/cosmos/cosmos-sdk/types"
 	sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
-	v036gov "github.com/cosmos/cosmos-sdk/x/gov/legacy/v036"
+	v036gov "github.com/cosmos/cosmos-sdk/x/gov/migrations/v036"
 )
 
 const (