canton-network-docs/Wallet GatewayUse the Wallet Gateway
Approve & Sign Transactions
When a dApp wants to act on your behalf, it does not sign anything itself. It asks the Wallet
Gateway to run a transaction, and the Wallet Gateway routes it to you for approval and to your
signing provider for signing. This keeps approval and key custody under your control: private
keys never reach the dApp. This guide covers what you see on the Approve page, how to
approve or reject, and how to track a transaction afterwards.
How a Transaction Reaches You
A dApp submits a transaction through the dApp SDK, which calls the Wallet Gateway’s dApp API. The Wallet Gateway prepares it against your validator, queues it for your approval, has your signing provider sign it, and submits it to the ledger. The dApp learns the outcome through thetxChanged event, so once you approve and the
transaction executes, the dApp updates on its own.
Review a transaction
When a dApp requests a transaction, the Wallet Gateway takes you to the Approve page of the particular transaction (it may open in a popup window if the dApp triggered it). There you can see:- The wallet (party) the transaction will act as.
- The network it will be submitted to.
- The transaction details the dApp prepared, so you can confirm it matches what you expect.
Approve or Reject
- Approve — the Wallet Gateway hands the prepared transaction to the wallet’s signing provider, which signs it, and then submits it to the ledger. The dApp is notified of the result.
- Reject — the Wallet Gateway discards the request and notifies the dApp that you declined. Nothing is signed or submitted.
Where Signing Happens
Signing is delegated per wallet to the signing provider you chose when you created it — a participant node, an external custody provider (Fireblocks, Blockdaemon, DFNS), or the internal store for development. Your keys stay with that provider; approving in the UI authorizes the provider to sign, but the key never passes through the dApp or the browser. See Signing providers.Track a Transaction
Open the Transactions page to follow a transaction through its lifecycle and inspect its details. Each transaction moves through these states:
Use this page to confirm a transaction executed, or to see why one failed. If executions fail
to start or never complete, see
Troubleshooting.
Next Steps
Manage wallets
Log in and create, organize, and remove wallets in the User UI.
Automate with the User API
Sign and execute transactions programmatically.
Signing providers
Choose where signing and key custody happen.
dApp API
See how dApps request transactions through the dApp API.