Many apps would like users to explicitly authorize transactions, but to send transaction requests from their server for increased reliability, retries, and various other use cases. To send transactions from your server by default:
1

Create wallets with a user owner

To ensure the wallet can only be controlled by the user, create the wallet with a user owner. If you use one of Privy’s client-side SDKs to create wallets, wallets are created with a user owner by default.
2

Request a signature over your transaction request

Construct your transaction request and use Privy’s client-side SDKs’ methods to have the user sign the transaction request.
3

Execute the transaction request from your server

Send your user’s authorization signature from your client to your server, and send your transaction request with the user’s signature to Privy’s API.