# Use Cases for PDK
Payjoin uses interaction to improve blockspace efficiency and preserve privacy. Here's some other use cases that PDK supports.
# Bitcoin Core Extension
Payjoin CLI uses Bitcoin Core's bitcoind JSON-RPC to send and receive payjoin.
This enables payjoin functionality for existing bitcoin deployments.
Send and Receive Test Payjoins documents how this works.
# Commercial Bitcoin Exchange
Bitcoin businesses can use payjoin to do more than just send and receive simple payments. Payjoin can be used to combine payment forwarding and payment batching as transaction cut-through to reduce what would be at least two transactions into one, saving considerable blockspace (Bitcoin Optech Newsletter #251/Advanced payjoin applications (opens new window)). Doing so can save a business fees, increase the speed of service, and serve more customers when compared to traditional batching techniques.
# Lightning Nodes
Lightning nodes using payjoin can batch channel funding transactions from the first transaction they receive. The nolooking (opens new window) project demonstrates this capability with an LND Extension and web interface. Check out these video demos (opens new window) to see it in action. Interaction allows the receiver to prepare just-in-time channel funding outputs from a queue when a payjoin is incoming. Find it on the Umbrel App Store (opens new window)
# Web Apps
The PDK can be compiled to WASM to run in web browsers. BitMask Beta (opens new window) uses PDK to send payjoins whenever bitcoin URIs support them.