You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/faq.md
+63-42Lines changed: 63 additions & 42 deletions
Original file line number
Diff line number
Diff line change
@@ -12,57 +12,39 @@ If your question is not answered below, please consider posting it to the [Reque
12
12
13
13
<summary>Is Request Network a blockchain, smart contract platform, or L2 scaling solution?</summary>
14
14
15
-
No. Request Network is not a blockchain, smart contract platform, or scaling solution. Rather, it's a protocol for storing payment requests and facilitating on-chain payments. It stores payment requests in [IPFS](https://www.ipfs.com/)with CID hashes stored on [Gnosis Chain](https://www.gnosis.io/). It uses [The Graph](https://thegraph.com/) for on-chain event indexing. It processes payments across a variety of [supported payment chains](https://docs.request.network/get-started/supported-chains).
15
+
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 [IPFS](https://www.ipfs.com/)and CID hashes on [Gnosis Chain](https://www.gnosis.io/). It uses [The Graph](https://thegraph.com/) for on-chain event indexing. It processes payments across a variety of [supported payment chains](https://docs.request.network/get-started/supported-chains).
16
16
17
17
</details>
18
18
19
19
<details>
20
20
21
-
<summary>Do I need a Request Node on <Chain> to request funds on <Chain>?</summary>
21
+
<summary>What is the difference between Request Network and Request Finance?</summary>
22
22
23
-
No, you don't need a Request Node on \<Chain> to request funds on \<Chain>. Requests are created on Gnosis Chain (or on a testnet like Sepolia) regardless of where the payment(s) will occur. Payment(s) can occur on any of our [supported payment chains](https://docs.request.network/get-started/supported-chains#payments).
24
-
25
-
To help builders get started quickly, the Request Network Foundation operates several [Request Node Gateways](https://docs.request.network/get-started/request-node-gateways) that are free for anyone to use. These gateways offer endpoints for creating and retrieving requests.
26
-
27
-
Requests created on the Gnosis Chain are "real" and should exist forever. Requests created on Sepolia are "test" requests and will exist only as long as the testnet exists.
23
+
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.
28
24
29
25
</details>
30
26
31
27
<details>
32
28
33
-
<summary>Can a Request Node modify a request's contents before persisting it to IPFS and on-chain?</summary>
34
-
35
-
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.
36
-
37
-
</details>
38
-
39
-
<details>
29
+
<summary>Do I need to create a request on the same chain that I want to receive payment?</summary>
40
30
41
-
<summary>Can I create a request via the Request Network SDK without using a Request Node?</summary>
31
+
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](https://docs.request.network/get-started/supported-chains#payments).
42
32
43
-
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.
33
+
To help builders get started quickly, the Request Network Foundation operates [Request Node Gateways](https://docs.request.network/get-started/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.
53
36
54
37
</details>
55
38
56
39
<details>
57
40
58
-
<summary>Is the address that signs to create a request the same address that receives the payment?</summary>
41
+
<summary>Is the address that creates a request the same address that receives the payment?</summary>
59
42
60
-
Not necessarily. The address that signs to create a request is not necessarily the same address that receives the payment. They can be different.
43
+
It can be, but not necessarily. The [#signer-identity](glossary.md#signer-identity"mention")that signs to create a request is defined by the `signer` parameter. This is separate from the [#payment-recipient](glossary.md#payment-recipient"mention") which is defined by the `paymentNetwork.parameters.paymentAddress`parameter. They can be the same or different.
61
44
62
-
The address that signs to create a request is the `signer` when creating a request via `createRequest()` in the Request Network SDK. It's usually the payee identity but can alternatively be the payer identity.\
63
-
The address that receives the payment is defined by the payment network, usually at `paymentNetwork.parameters.paymentAddress`.
45
+
This design allows for a single payee identity to have potentially multiple payment recipient addresses.
64
46
65
-
This design allows for a single payee identity to have potentially multiple payment addresses.
47
+
See [#parties-of-a-request](glossary.md#parties-of-a-request"mention") for details.
66
48
67
49
</details>
68
50
@@ -76,9 +58,9 @@ No. Request Network is a hybrid on/off-chain protocol storing the majority of re
76
58
77
59
<details>
78
60
79
-
<summary>Can I make a payment *before* creating a request?</summary>
61
+
<summary>Can I make a payment <em>before</em> creating a request?</summary>
80
62
81
-
Yes - using [in-memory-requests.md](advanced/request-network-sdk/sdk-guides/request-client/in-memory-requests.md "mention"). Payments are linked to requests via a `paymentReference` which is derived from the `requestId` which is derived from the request contents. Therefore, it is possible to calculate the `paymentReference`, send a payment using the `paymentReference` as input to the smart contract, and then create a request.
63
+
Yes. Payments are linked to requests via a [payment-reference.md](advanced/request-network-sdk/sdk-guides/request-client/payment-reference.md"mention")derived from the request contents. Therefore, it is possible to calculate the `paymentReference` and execute a payment _before_ creating the corresponding request.
82
64
83
65
</details>
84
66
@@ -88,32 +70,63 @@ Yes - using [in-memory-requests.md](advanced/request-network-sdk/sdk-guides/requ
88
70
89
71
Yes and No.
90
72
91
-
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 payments, in which the requested fiat amount is converted to the appropriate cryptocurrency amount using on-chain price feeds at the moment of payment.
73
+
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-request.md](advanced/request-network-sdk/sdk-guides/payment/conversion-request.md"mention")s, in which the requested fiat amount is converted to the appropriate cryptocurrency amount using on-chain price feeds at the moment of payment.
92
74
93
75
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.
94
76
95
77
</details>
96
78
97
79
<details>
98
80
99
-
<summary>Can I access a user's historical invoices created via Request Finance?</summary>
81
+
<summary>Does Request Network support crypto-to-fiat (off-ramp) or fiat-to-crypto (on-ramp) payments?</summary>
100
82
101
-
Yes. It is possible to request access to a user's Request Finance invoices using the [`add-stakeholder` web component](https://docs.request.network/learn-request-network/components/add-stakeholder) 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.
83
+
Not currently, but we're working on it.
102
84
103
-
Details:
85
+
</details>
104
86
105
-
* Request Finance invoices are encrypted.
106
-
* Request Network Foundation cannot grant access to encrypted requests in Request Finance.
87
+
<details>
88
+
89
+
<summary>Does Request Network support crypto payments from centralized exchanges (CEX) or custodians?</summary>
90
+
91
+
Yes. See [single-request-forwarder.md](advanced/request-network-sdk/sdk-guides/payment/single-request-forwarder.md"mention")
107
92
108
93
</details>
109
94
110
95
<details>
111
96
112
-
<summary>Can I create a request via a smart contract call?</summary>
97
+
<summary>Can a Request Node modify a request's contents before persisting it to IPFS and on-chain?</summary>
113
98
114
-
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.
99
+
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.
100
+
101
+
</details>
102
+
103
+
<details>
104
+
105
+
<summary>Can I create a request via the Request Network SDK without using a Request Node?</summary>
106
+
107
+
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.
The recommended way to create a request is using the Request Network SDK via a frontend so the payee or payer can sign to create the request.
122
+
<summary>Can I access a user's historical invoices created via Request Finance?</summary>
123
+
124
+
Yes. It is possible to request access to a user's Request Finance invoices using the [`add-stakeholder` web component](https://docs.request.network/learn-request-network/components/add-stakeholder) 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.
125
+
126
+
Details:
127
+
128
+
* Request Finance invoices are encrypted.
129
+
* Request Network Foundation cannot grant access to encrypted requests in Request Finance.
117
130
118
131
</details>
119
132
@@ -123,8 +136,6 @@ The recommended way to create a request is using the Request Network SDK via a f
123
136
124
137
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.
125
138
126
-
We would be open to integrating a cross-chain payment system but would need to balance it against the other priorities in our [backlog](https://github.com/orgs/RequestNetwork/projects/3/views/7).
127
-
128
139
</details>
129
140
130
141
<details>
@@ -148,6 +159,16 @@ Yes. See [hinkal-private-payments.md](advanced/request-network-sdk/sdk-guides/pa
148
159
149
160
<details>
150
161
162
+
<summary>Can I create a request via a smart contract call?</summary>
163
+
164
+
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.
165
+
166
+
The recommended way to create a request is using the Request Network API.
167
+
168
+
</details>
169
+
170
+
<details>
171
+
151
172
<summary>Can I use Request Network requests even if I have my own payment infrastructure?</summary>
152
173
153
174
Yes. See [single-request-forwarder.md](advanced/request-network-sdk/sdk-guides/payment/single-request-forwarder.md "mention")
0 commit comments