Request Network Docs
WebsiteGithubStatusDiscord
  • Request Network Docs
  • Request Network API
    • Create and Pay Requests
    • Crosschain Payments
    • EasyInvoice: API Demo App
    • API Portal: Manage API Keys and Webhooks
      • Manage API Keys and Webhooks programmatically
    • Full API Reference
  • General
    • Lifecycle of a Request
    • Request Scan
    • Supported Chains
      • Smart Contract Addresses
    • Request Network Token List
  • Advanced
    • Request Network SDK
      • Get Started
        • Quickstart - Browser
        • Quickstart - Node.js
        • Installation
        • SDK Injector
        • Request Node Gateways
      • SDK Demo Apps
        • Request Invoicing
          • Pay from Safe Multisig
        • Request Checkout
        • Components
          • Create Invoice Form
          • Invoice Dashboard
          • Payment Widget
          • Add Stakeholder
      • SDK Guides
        • Request Client
          • Configure the Request Client
          • Updating a Request
          • Payment Reference
          • Compute a Request ID without creating the request
          • Use your own signature mechanism
          • Support a new currency
          • In-Memory Requests
        • Encryption and Decryption
          • Encrypt with a wallet signature using Lit Protocol
          • Encrypt with an Ethereum private key
          • Share an encrypted request
        • Payment
          • Detect a payment
          • Native Payment
          • Conversion Payment
          • Declarative Payment
          • Configuring Payment Fees
          • Single Request Forwarder
          • Batch Payment
          • Swap-to-Pay Payment
          • Swap-to-Conversion Payment
          • Transferable Receivable Payment
          • Meta Payments
          • Escrow Payment
          • Streaming Payment
          • Pay through a proxy-contract with a multisig
          • Hinkal Private Payments
        • Mobile using Expo
      • SDK Reference
        • request-client.js
          • RequestNetwork
            • createRequest()
            • computeRequestId()
            • fromRequestId()
            • fromIdentity()
            • fromTopic()
          • Request
            • waitForConfirmation()
            • getData()
            • refresh()
            • cancel()
            • accept()
            • increaseExpectedAmountRequest()
            • reduceExpectedAmountRequest()
          • IIdentity
          • IRequestDataWithEvents
          • PaymentReferenceCalculator
        • payment-processor
          • payRequest()
        • web3-signature
          • Web3SignatureProvider
        • epk-signature
          • EthereumPrivateKeySignatureProvider
        • epk-decryption
          • EthereumPrivateKeyDecryptionProvider
    • Protocol Overview
      • SDK and Request Node Overview
      • Payment Networks
      • Private Requests using Encryption
      • Smart Contracts Overview
    • Internal SDK Architecture
      • Request Logic
      • Advanced Logic
      • Transaction
      • Data-access
      • Storage
      • Data flow
      • Request IPFS network
  • FAQ
  • Glossary
  • Contributing
Powered by GitBook
On this page

Was this helpful?

Edit on GitHub
Export as PDF

FAQ

Frequently Asked Questions and Common Misconceptions

PreviousRequest IPFS networkNextGlossary

Last updated 1 month ago

Was this helpful?

If your question is not answered below, please consider posting it to the page on Github.

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 on-chain payments, and reconciling those payments with the requests. It stores payment requests in and CID hashes on . It uses for on-chain event indexing. It processes payments across a variety of .

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.

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 .

To help builders get started quickly, the Request Network Foundation operates 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.

Is the address that creates a request the same address that receives the payment?

It can be, but not necessarily. The that signs to create a request is defined by the signer parameter. This is separate from the which is defined by the paymentNetwork.parameters.paymentAddressparameter. They can be the same or different.

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

See for details.

Are requests in Request Network stored fully on-chain?

No. Request Network is a hybrid on/off-chain protocol storing the majority of request contents in IPFS. Only the content-addressable ID (CID) is stored on-chain, on Gnosis Chain.

Can I make a payment before creating a request?

Yes. Payments are linked to requests via a Payment Reference derived from the request contents. Therefore, it is possible to calculate the paymentReference and execute a payment before creating the corresponding request.

Does Request Network support requests for fiat currency?

Yes and No.

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.

Does Request Network support crypto-to-fiat (off-ramp) or fiat-to-crypto (on-ramp) payments?

Not currently, but we're working on it.

Does Request Network support crypto payments from centralized exchanges (CEX) or custodians?

Yes. See Single Request Forwarder

Can a Request Node modify a request's contents before persisting it to IPFS and on-chain?

No. A Request Node cannot change a request's contents before persisting it to IPFS and on-chain 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.

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.

const requestNetwork = new RequestNetworkBase({
  dataAccess: new HttpMetaMaskDataAccess({
    ethereumProviderUrl: 'https://eth-mainnet.g.alchemy.com/v2/demo',
  }),
  ...
}
Can I access a user's historical invoices created via Request Finance?

Details:

  • Request Finance invoices are encrypted.

  • Request Network Foundation cannot grant access to encrypted requests in Request Finance.

Does Request Network support cross-chain payments where the payer sends funds on one chain and the payee receives funds on a different chain?

No. Request Network does not currently support cross-chain payments. All of the supported payment types involve the payer sending funds and the payee receiving funds on the same chain.

Does Request Network support private requests?

Yes. See:

  • Private Requests using Encryption

  • Encrypt with a wallet signature using Lit Protocol

Does Request Network support private payments?

Yes. See Hinkal Private Payments

Can I create a request via a smart contract call?

The recommended way to create a request is using the Request Network API.

Can I use Request Network requests even if I have my own payment infrastructure?

Yes. See Single Request Forwarder

Requests can be denominated in fiat currencies like USD, EUR, etc. () but our payment smart contracts only support payments in cryptocurrencies. We call these Conversion Payments, in which the requested fiat amount is converted to the appropriate cryptocurrency amount using on-chain price feeds at the moment of payment.

Yes. It is possible to request access to a user's Request Finance invoices using the which is just a thin wrapper around the . They display a dialog that prompts the end-user to grant access to 1 invoice at a time.

No. It is not currently possible to create a request via a smart contract call. However, is in our roadmap to make this possible.

ISO 4217 currencies
add-stakeholder web component
Request Finance Add Stakeholders API
RequestNetwork/public-issues#15
Request Network Discussions
IPFS
Gnosis Chain
The Graph
supported payment chains
supported payment chains
Request Node Gateways
Signer Identity
Payment Recipient
Parties of a Request