What is difference between "cycles ledger" and "cycles wallet"?

in Topping up a canister | Internet Computer
2 methods are provided to top up a canister

dfx cycles balance --network ic
dfx cycles top-up `AMOUNT` `CANISTER_ID` --network ic

and

dfx wallet balance --network ic
dfx wallet send 1000000 dfds-sddds-aaaal-qbsms-cai --network ic

I query same identity on ICP with above methods respectively, different result shown below

I wonder what is difference between “cycles ledger” and “cycles wallet”?

Please see the documentation here.

At a high level, the cycles ledger canister is a single global ledger canister that holds cycle transactions and follows the common ICRC1/ICRC2/ICRC3 fungible token standards. The cycles wallet canister must be deployed separately for every developer to be used. Therefore, in this case, when you call dfx wallet, you call a separate canister specific to you that holds cycles. When you use dfx cycles, you call the cycles balance tied to your developer identity.

The cycles ledger canister has been developed as an alternative to the cycles wallet canister for cycles management. It is recommended to use the cycles ledger canister as opposed to the cycles wallet.

2 Likes