> ## Documentation Index
> Fetch the complete documentation index at: https://requestnetwork-feat-tron-sponsored-tx-doc.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# FAQ

> Frequently Asked Questions and Common Misconceptions

<Info>
  If your question is not answered below, please consider posting it to the [Request Network Discussions](https://github.com/orgs/RequestNetwork/discussions) page on Github.
</Info>

<AccordionGroup>
  <Accordion title="Is Request Network a blockchain, smart contract platform, or L2 scaling solution?">
    No. Request Network is not a blockchain, smart contract platform, or scaling solution. Rather, it's a protocol for storing payment requests, facilitating onchain payments, and reconciling those payments with the requests. It stores payment requests in [IPFS](https://www.ipfs.com/) and CID hashes on [Gnosis Chain](https://www.gnosis.io/). It uses [The Graph](https://thegraph.com/) for onchain event indexing. It processes payments across a variety of [supported payment chains](/resources/supported-chains-and-currencies).
  </Accordion>

  <Accordion title="What is the difference between Request Network and Request Finance?">
    Request Network is an open-source protocol. Request Finance is a product built on top of Request Network. Request Finance has spun off from Request Network, and they are now two separate teams.
  </Accordion>

  <Accordion title="Do I need to create a request on the same chain that I want to receive payment?">
    No. Requests are created on Gnosis Chain (or Sepolia for testing), even if the payment will happen on a different chain. Payment(s) can occur on any of our [supported payment chains](/resources/supported-chains-and-currencies).

    To help builders get started quickly, the Request Network Foundation operates Request Node Gateways that are free for anyone to use. These gateways offer endpoints for creating and retrieving requests.

    Requests created on Gnosis Chain are "real" and will exist forever. Requests created on Sepolia are "test" requests and will exist only as long as Sepolia continues to operate.
  </Accordion>

  <Accordion title="Is the address that creates a request the same address that receives the payment?">
    It can be, but not necessarily. The [Signer Identity](/glossary#signer-identity) that signs to create a request is defined by the `signer` parameter. This is separate from the [Payment Recipient](/glossary#payment-recipient) which is defined by the `paymentNetwork.parameters.paymentAddress` parameter. They can be the same or different.

    This design allows for a single payee identity to have potentially multiple payment recipient addresses.

    See [Parties of a Request](/glossary#parties-of-a-request) for details.
  </Accordion>

  <Accordion title="Are requests in Request Network stored fully onchain?">
    No. Request Network is a hybrid onchain/offchain protocol storing the majority of request contents in IPFS. Only the content-addressable ID (CID) is stored onchain, on Gnosis Chain.
  </Accordion>

  <Accordion title="Can I make a payment before creating a request?">
    Yes. Payments are linked to requests via a [Payment Reference](/glossary#payment-reference) derived from the request contents. Therefore, it is possible to calculate the `paymentReference` and execute a payment *before* creating the corresponding request.
  </Accordion>

  <Accordion title="Does Request Network support requests for fiat currency?">
    Yes and No.

    Requests can be *denominated* in fiat currencies like USD, EUR, etc. ([ISO 4217 currencies](https://en.wikipedia.org/wiki/ISO_4217)) but our payment smart contracts only support payments in cryptocurrencies. We call these [Conversion Payment](/glossary#conversion-payment)s, in which the requested fiat amount is converted to the appropriate cryptocurrency amount using onchain price feeds at the moment of payment.

    It is possible to implement fiat payments using Declarative Requests, where the payer declares that the payment was sent and the payee declares that the payment was received.
  </Accordion>

  <Accordion title="Does Request Network support crypto-to-fiat (off-ramp) or fiat-to-crypto (on-ramp) payments?">
    Crypto-to-fiat (off-ramp) payments are supported via the Request Network API — see [Crypto-to-fiat Payments](/api-features/crypto-to-fiat-payments). Fiat-to-crypto (on-ramp) payments are not currently supported by the API.
  </Accordion>

  <Accordion title="Does Request Network support crypto payments from centralized exchanges (CEX) or custodians?">
    Yes. See [Single Request Forwarder](https://docs.request.network/advanced/request-network-sdk/sdk-guides/payment/single-request-forwarder).
  </Accordion>

  <Accordion title="Can a Request Node modify a request's contents before persisting it to IPFS and onchain?">
    No. A Request Node cannot change a request's contents before persisting it to IPFS and onchain because doing so would invalidate the signature. This is true for private, encrypted requests as well. The Request Node cannot forge the end-user's signature.
  </Accordion>

  <Accordion title="Can I create a request via the Request Network SDK without using a Request Node?">
    No. Today, a Request Node is required to interact with the Request Network IPFS Network. That said, it is possible to make the end-user pay the protocol fee when creating a request instead of the Request Node. To do this, inject an `HttpMetaMaskDataAccess` into the frontend `RequestNetwork` instance.

    ```javascript theme={null}
    const requestNetwork = new RequestNetworkBase({
      dataAccess: new HttpMetaMaskDataAccess({
        ethereumProviderUrl: 'https://eth-mainnet.g.alchemy.com/v2/demo',
      }),
      signatureProvider: new EthereumPrivateKeySignatureProvider({
        method: Types.SIGNATURE_METHOD.ECDSA,
        privateKey: process.env.PRIVATE_KEY
      })
      // additional config options as needed
    });
    ```
  </Accordion>

  <Accordion title="Can I access a user's historical invoices created via Request Finance?">
    Yes. It is possible to request access to a user's Request Finance invoices using the add-stakeholder web component which is just a thin wrapper around the [Request Finance Add Stakeholders API](https://docs.request.finance/faq#i-am-integrating-the-request-network.-can-i-get-access-to-users-data-on-request-finance). They display a dialog that prompts the end-user to grant access to 1 invoice at a time.

    Details:

    * Request Finance invoices are encrypted.
    * Request Network Foundation cannot grant access to encrypted requests in Request Finance.
  </Accordion>

  <Accordion title="Does Request Network support crosschain payments where the payer sends funds on one chain and the payee receives funds on a different chain?">
    Yes, via the **Request Network API only**. Crosschain payments are not supported by the Request Network SDK or protocol directly. When using the API, payers can fund requests using assets on different chains and tokens, and the payee receives the requested asset on the request's chain. For example, you can pay a USDC-on-Base request using USDT from Optimism.

    See [Crosschain Payments](/api-features/crosschain-payments) for implementation details.
  </Accordion>

  <Accordion title="Does Request Network support private requests?">
    Yes. See:

    * [Private Requests using Encryption](https://docs.request.network/advanced/protocol-overview/private-requests-using-encryption)
    * [Handle Encryption with a Web3 Wallet](https://docs.request.network/advanced/request-network-sdk/sdk-guides/encryption-and-decryption/handle-encryption-with-a-web3-wallet)
  </Accordion>

  <Accordion title="Does Request Network support private payments?">
    Yes. See [Hinkal Private Payments](https://docs.request.network/advanced/request-network-sdk/sdk-guides/payment/hinkal-private-payments).
  </Accordion>

  <Accordion title="Can I create a request via a smart contract call?">
    No. It is not currently possible to create a request via a smart contract call. However, [RequestNetwork/public-issues#15](https://github.com/RequestNetwork/public-issues/issues/15) is in our roadmap to make this possible.

    The recommended way to create a request is using the Request Network API.
  </Accordion>

  <Accordion title="Can I use Request Network requests even if I have my own payment infrastructure?">
    Yes. See [Single Request Forwarder](https://docs.request.network/advanced/request-network-sdk/sdk-guides/payment/single-request-forwarder).
  </Accordion>
</AccordionGroup>
