> For the complete documentation index, see [llms.txt](https://docs.railgun.org/developer-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.railgun.org/developer-guide/wallet/transactions.md).

# Transactions

### Private Transactions

RAILGUN enables encrypted private transactions through [Shielding](/developer-guide/wallet/transactions/shielding.md). Once assets are shielded into the RAILGUN contract, there are several options:&#x20;

1. [Transfer ](/developer-guide/wallet/transactions/private-transfers.md)tokens privately to another RAILGUN wallet.
2. Use a [cross-contract call](/developer-guide/wallet/transactions/cross-contract-calls.md) to interact privately with an external smart contract.
3. [Unshield](/developer-guide/wallet/transactions/unshielding.md) tokens into any public wallet.

These transactions achieve a level of privacy, as their contents cannot be read by an external observer. For example, private transfers show no details of the tokens or amounts sent[ in Etherscan](https://etherscan.io/tx/0x37c555c4add7b4372a234d34e387ad1da6f81fd3c7b860d951f02279cd8e4727).

### Broadcasters

In order to achieve full anonymity, RAILGUN uses a network of Broadcasters to submit transactions.

Broadcasters are external wallets that sign transactions on a user's behalf. Broadcasters pay gas fees for users, and they receive ERC-20 tokens as fees for the service.

If you want to send transactions through a Broadcaster, use [@railgun-community/waku-broadcaster-client](https://github.com/Railgun-Community/waku-broadcaster-client)
