Frequently Asked Questions

Find answers to common questions about NINJA's confidential transfers and privacy features.

General Questions

NINJA (Non-Interactive Joint Account) is a privacy solution built on Solana that enables confidential token transfers. It uses Solana' SPL token extension for confidential transfers to shield transaction amounts while keeping your assets secure on the blockchain.

NINJA works by encrypting token balances and transaction amounts, then using zero-knowledge proofs to verify transactions without revealing the actual amounts being transferred. This allows you to maintain financial privacy while still benefiting from the speed and security of the Solana blockchain.

NINJA is not a separate blockchain. It's built directly on top of Solana, leveraging Solana's native token extensions for confidential transfers. This means you get the full security, speed, and ecosystem compatibility of Solana, with the added privacy features that NINJA provides.

Unlike many other privacy solutions that require separate networks or bridges, NINJA is built directly on Solana using its native token extensions. This provides several advantages:

  • No bridging required - everything happens directly on Solana
  • Fast transaction speeds (<1 second) and low costs
  • Seamless integration with the broader Solana ecosystem
  • Options for different levels of privacy depending on your needs

NINJA also focuses specifically on shielding transaction amounts by default, with optional enhanced privacy features like sender/receiver unlinkability through Ninja Mode.

Yes, NINJA is compatible with most major Solana wallets, including Phantom, Solflare, Backpack, and others. As long as the wallet supports signing transactions on Solana, it should work with NINJA. However, for the best experience, we recommend using Phantom or Solflare, which have been thoroughly tested with our interface.

Privacy & Security

In a standard confidential transfer, the following is hidden:

  • Transaction amount - The exact number of tokens being transferred
  • Account balances - Your confidential account balance is encrypted and not visible on-chain

What remains visible:

  • The fact that a transaction occurred
  • The sender and recipient addresses
  • Transaction timestamp

NINJA uses ElGamal encryption, a well-established and cryptographically secure method that is additively homomorphic. This means mathematical operations can be performed on encrypted values without decrypting them first. The security is based on the discrete logarithm problem, which is considered computationally hard to solve.

Additionally, NINJA utilizes zero-knowledge proofs to verify the validity of transactions without revealing sensitive information. The specific implementation leverages Solana's Token-2022 confidential transfer extension, which has undergone security audits.

Ninja Mode is an advanced privacy feature that not only hides transaction amounts (like standard confidential transfers) but also obfuscates the connection between sender and receiver. It does this through techniques like multi-hop routing, delayed execution pools, and transaction mixing.

You should consider using Ninja Mode when:

  • You need maximum privacy for sensitive transactions
  • You don't want others to know who you're transacting with
  • You're willing to accept slightly higher fees and processing times for enhanced privacy

Yes, your private keys are never exposed when using NINJA. The application operates like any other Solana dApp:

  • Your wallet private keys remain secured in your wallet software
  • The encryption keys for confidential transfers are generated and stored client-side
  • NINJA only requests your wallet to sign transactions, never to expose keys

Using NINJA

Setting up a confidential account is a simple one-time process:

  1. Connect your Solana wallet to the NINJA dashboard
  2. Click the "Setup Account" button
  3. Approve the transaction in your wallet

This process will generate encryption keys for your confidential transfers (which never leave your browser) and configure your account on-chain for confidential operations. For detailed instructions, see our Getting Started guide.

Yes, there are some practical limits to be aware of:

  • The maximum amount per deposit to your confidential account is 250,000 tokens
  • For larger amounts, you can make multiple deposits
  • There are computational limits to the zero-knowledge proofs, though these rarely affect normal usage

NINJA has two types of fees:

  • Network fees - Standard Solana transaction fees (typically less than $0.001 per transaction)
  • Service fees - A small percentage fee (typically 0.1-0.3%) on confidential transfers to support the development and maintenance of NINJA

Ninja Mode transactions may have slightly higher fees due to the additional privacy mechanisms involved.

Yes, but you'll need to set up your encryption keys again. Since the encryption keys for confidential transfers are stored locally in your browser, if you switch devices or clear browser data, you'll need to:

  1. Connect your wallet to NINJA on the new device
  2. Click "Recover Account" in the Settings
  3. Generate new encryption keys
  4. Sign a transaction to update your on-chain account

Note that your funds remain safe on the blockchain throughout this process, tied to your Solana wallet address. You're simply regenerating the keys needed to decrypt and use them.

Technical Questions

In NINJA, zero-knowledge proofs (ZKPs) are used to validate transactions without revealing their details. When you initiate a confidential transfer, the system:

  1. Creates a mathematical proof that you have sufficient balance for the transfer
  2. Proves that the amount being transferred is valid (non-negative and within range)
  3. Verifies that the encrypted balances will be correctly updated after the transfer

These proofs can be verified by the Solana network to confirm the transaction is valid, but they do not reveal any information about the actual amounts involved.

The specific ZKP implementation used is a variant of Bulletproofs, which are efficiently verifiable and don't require a trusted setup.

Yes, developers can integrate with NINJA's confidential transfer capabilities through our API. This allows applications to create, send and receive confidential transfers programmatically. For implementation details, check our Developer API documentation.

Since NINJA is built directly on Solana using the Token-2022 program with confidential transfer extensions, it will continue to function as long as these features are supported. In the event of major Solana network upgrades, the NINJA team will ensure compatibility and communicate any necessary actions to users well in advance.

Yes, the Solana Confidential Transfer Extension includes optional auditor functionality. This feature allows designated entities (auditors) to decrypt and view encrypted balances and transfer amounts, which can be useful for regulatory compliance.

Key aspects of the auditor system:

  • Account holders can choose to enable or disable auditor access
  • Multiple auditors can be supported at the token mint level
  • Encrypted transfer amounts include additional encryption specifically for auditors

NINJA implementation allows for this functionality but makes it optional, putting privacy control in the hands of users.

Yes, developers can integrate with NINJA's confidential transfer capabilities through our API. This allows applications to create, send and receive confidential transfers programmatically. For implementation details, check our Developer API documentation.

Categories

Need More Help?

If you can't find the answer to your question here, reach out to our community support.

Join Our Telegram