Subscription-based app: need architectural advice

Hi,

Your plan for the subscription-based app seems solid. Here are a couple of suggestions based on your questions:

  1. You can create a Ledger Canister to handle all approval and transfer operations. This way, your other canisters can verify transaction correctness and provide services based on the user principal interacting with your application.

  2. To get a canister’s principal, you can use on rust ic_cdk::id() inside your canister logic, and for Motoko follow this post.

1 Like