# What is RAILGUN?

### What is RAILGUN?

RAILGUN is a privacy system built directly on-chain for Ethereum, BSC, Polygon, and coming soon to Solana, NEAR, Arbitrum, and Metis. It is the privacy container for DeFi, enabling users to keep a Private Balance (in a 0zk prefixed wallet address) of tokens and NFTs hidden from outside observers and interact with smart contracts with that Private Balance.

To achieve privacy, RAILGUN obscures the following user information from public view:

* Your wallet balance and the assets you hold
* Transaction history
* The wallets you send and receive tokens to and from
* Token types and amounts that you send and receive
* The wallet address that was used to initiate an external smart contract call

In addition, RAILGUN's biggest innovation is the ability for your Private Balance to talk to other smart contracts through cross-contract calls. It is a full-featured crypto wallet with built-in privacy. This enables anonymous interactions with the wider DeFi ecosystem, and interacting with RAILGUN integrated smart contracts is identical in UX to using smart contracts from any other wallet like MetaMask, just with a full privacy feature set.

As a user, you do not have to substantially change your DeFi habits to receive privacy due to RAILGUN's simple to use design.

### How do I use RAILGUN?

RAILGUN is deployed and LIVE on Ethereum, Arbitrum, BSC, and Polygon. As RAILGUN is open-sourced, developers can integrate the RAILGUN smart contracts into their protocols (or even wallets) via the RAILGUN SDK (Software Development Kit).

The first wallet to integrate RAILGUN is partner project [Railway Wallet](https://railway.xyz/). Users can access all the [features](/community-faqs/readme/use-cases.md) of RAILGUN with Railway on web, iOS & Android, and a standalone desktop app. A Railway user guide can be found [here](https://medium.com/@thedude_83524/how-to-use-railgun-as-an-alternative-to-coin-mixers-5d77339c4954).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.railgun.org/community-faqs/readme/what-is-railgun.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
