@lendasat/lendaswap-sdk-pure 0.2.21-preview.0 → 0.2.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/dist/api/client.d.ts.map +1 -1
  2. package/dist/api/client.js +4 -1
  3. package/dist/api/client.js.map +1 -1
  4. package/dist/version.d.ts +4 -0
  5. package/dist/version.d.ts.map +1 -0
  6. package/dist/version.js +6 -0
  7. package/dist/version.js.map +1 -0
  8. package/package.json +4 -1
  9. package/dist/price-feed.d.ts +0 -124
  10. package/dist/price-feed.d.ts.map +0 -1
  11. package/dist/price-feed.js +0 -178
  12. package/dist/price-feed.js.map +0 -1
  13. package/dist/src/api/client.d.ts +0 -31
  14. package/dist/src/api/client.d.ts.map +0 -1
  15. package/dist/src/api/client.js +0 -12
  16. package/dist/src/api/client.js.map +0 -1
  17. package/dist/src/arkade.d.ts +0 -36
  18. package/dist/src/arkade.d.ts.map +0 -1
  19. package/dist/src/arkade.js +0 -68
  20. package/dist/src/arkade.js.map +0 -1
  21. package/dist/src/client.d.ts +0 -760
  22. package/dist/src/client.d.ts.map +0 -1
  23. package/dist/src/client.js +0 -2169
  24. package/dist/src/client.js.map +0 -1
  25. package/dist/src/create/arkade.d.ts +0 -34
  26. package/dist/src/create/arkade.d.ts.map +0 -1
  27. package/dist/src/create/arkade.js +0 -76
  28. package/dist/src/create/arkade.js.map +0 -1
  29. package/dist/src/create/bitcoin-to-arkade.d.ts +0 -36
  30. package/dist/src/create/bitcoin-to-arkade.d.ts.map +0 -1
  31. package/dist/src/create/bitcoin-to-arkade.js +0 -69
  32. package/dist/src/create/bitcoin-to-arkade.js.map +0 -1
  33. package/dist/src/create/bitcoin.d.ts +0 -31
  34. package/dist/src/create/bitcoin.d.ts.map +0 -1
  35. package/dist/src/create/bitcoin.js +0 -67
  36. package/dist/src/create/bitcoin.js.map +0 -1
  37. package/dist/src/create/evm-to-arkade.d.ts +0 -34
  38. package/dist/src/create/evm-to-arkade.d.ts.map +0 -1
  39. package/dist/src/create/evm-to-arkade.js +0 -69
  40. package/dist/src/create/evm-to-arkade.js.map +0 -1
  41. package/dist/src/create/evm-to-bitcoin.d.ts +0 -35
  42. package/dist/src/create/evm-to-bitcoin.d.ts.map +0 -1
  43. package/dist/src/create/evm-to-bitcoin.js +0 -71
  44. package/dist/src/create/evm-to-bitcoin.js.map +0 -1
  45. package/dist/src/create/evm-to-lightning.d.ts +0 -34
  46. package/dist/src/create/evm-to-lightning.d.ts.map +0 -1
  47. package/dist/src/create/evm-to-lightning.js +0 -66
  48. package/dist/src/create/evm-to-lightning.js.map +0 -1
  49. package/dist/src/create/index.d.ts +0 -19
  50. package/dist/src/create/index.d.ts.map +0 -1
  51. package/dist/src/create/index.js +0 -18
  52. package/dist/src/create/index.js.map +0 -1
  53. package/dist/src/create/lightning.d.ts +0 -31
  54. package/dist/src/create/lightning.d.ts.map +0 -1
  55. package/dist/src/create/lightning.js +0 -72
  56. package/dist/src/create/lightning.js.map +0 -1
  57. package/dist/src/create/types.d.ts +0 -247
  58. package/dist/src/create/types.d.ts.map +0 -1
  59. package/dist/src/create/types.js +0 -5
  60. package/dist/src/create/types.js.map +0 -1
  61. package/dist/src/delegate.d.ts +0 -62
  62. package/dist/src/delegate.d.ts.map +0 -1
  63. package/dist/src/delegate.js +0 -284
  64. package/dist/src/delegate.js.map +0 -1
  65. package/dist/src/esplora.d.ts +0 -41
  66. package/dist/src/esplora.d.ts.map +0 -1
  67. package/dist/src/esplora.js +0 -47
  68. package/dist/src/esplora.js.map +0 -1
  69. package/dist/src/evm/coordinator.d.ts +0 -247
  70. package/dist/src/evm/coordinator.d.ts.map +0 -1
  71. package/dist/src/evm/coordinator.js +0 -414
  72. package/dist/src/evm/coordinator.js.map +0 -1
  73. package/dist/src/evm/htlc.d.ts +0 -238
  74. package/dist/src/evm/htlc.d.ts.map +0 -1
  75. package/dist/src/evm/htlc.js +0 -278
  76. package/dist/src/evm/htlc.js.map +0 -1
  77. package/dist/src/evm/index.d.ts +0 -9
  78. package/dist/src/evm/index.d.ts.map +0 -1
  79. package/dist/src/evm/index.js +0 -9
  80. package/dist/src/evm/index.js.map +0 -1
  81. package/dist/src/evm/signing.d.ts +0 -30
  82. package/dist/src/evm/signing.d.ts.map +0 -1
  83. package/dist/src/evm/signing.js +0 -91
  84. package/dist/src/evm/signing.js.map +0 -1
  85. package/dist/src/generated/api.d.ts +0 -2736
  86. package/dist/src/generated/api.d.ts.map +0 -1
  87. package/dist/src/generated/api.js +0 -6
  88. package/dist/src/generated/api.js.map +0 -1
  89. package/dist/src/index.d.ts +0 -18
  90. package/dist/src/index.d.ts.map +0 -1
  91. package/dist/src/index.js +0 -24
  92. package/dist/src/index.js.map +0 -1
  93. package/dist/src/node.d.ts +0 -19
  94. package/dist/src/node.d.ts.map +0 -1
  95. package/dist/src/node.js +0 -19
  96. package/dist/src/node.js.map +0 -1
  97. package/dist/src/price-calculations.d.ts +0 -109
  98. package/dist/src/price-calculations.d.ts.map +0 -1
  99. package/dist/src/price-calculations.js +0 -135
  100. package/dist/src/price-calculations.js.map +0 -1
  101. package/dist/src/redeem/arkade.d.ts +0 -65
  102. package/dist/src/redeem/arkade.d.ts.map +0 -1
  103. package/dist/src/redeem/arkade.js +0 -217
  104. package/dist/src/redeem/arkade.js.map +0 -1
  105. package/dist/src/redeem/ethereum.d.ts +0 -52
  106. package/dist/src/redeem/ethereum.d.ts.map +0 -1
  107. package/dist/src/redeem/ethereum.js +0 -206
  108. package/dist/src/redeem/ethereum.js.map +0 -1
  109. package/dist/src/redeem/gasless.d.ts +0 -41
  110. package/dist/src/redeem/gasless.d.ts.map +0 -1
  111. package/dist/src/redeem/gasless.js +0 -71
  112. package/dist/src/redeem/gasless.js.map +0 -1
  113. package/dist/src/redeem/index.d.ts +0 -49
  114. package/dist/src/redeem/index.d.ts.map +0 -1
  115. package/dist/src/redeem/index.js +0 -189
  116. package/dist/src/redeem/index.js.map +0 -1
  117. package/dist/src/redeem/types.d.ts +0 -126
  118. package/dist/src/redeem/types.d.ts.map +0 -1
  119. package/dist/src/redeem/types.js +0 -36
  120. package/dist/src/redeem/types.js.map +0 -1
  121. package/dist/src/refund/arkade.d.ts +0 -62
  122. package/dist/src/refund/arkade.d.ts.map +0 -1
  123. package/dist/src/refund/arkade.js +0 -212
  124. package/dist/src/refund/arkade.js.map +0 -1
  125. package/dist/src/refund/index.d.ts +0 -10
  126. package/dist/src/refund/index.d.ts.map +0 -1
  127. package/dist/src/refund/index.js +0 -10
  128. package/dist/src/refund/index.js.map +0 -1
  129. package/dist/src/refund/onchain.d.ts +0 -137
  130. package/dist/src/refund/onchain.d.ts.map +0 -1
  131. package/dist/src/refund/onchain.js +0 -366
  132. package/dist/src/refund/onchain.js.map +0 -1
  133. package/dist/src/signer/index.d.ts +0 -106
  134. package/dist/src/signer/index.d.ts.map +0 -1
  135. package/dist/src/signer/index.js +0 -179
  136. package/dist/src/signer/index.js.map +0 -1
  137. package/dist/src/storage/idb.d.ts +0 -70
  138. package/dist/src/storage/idb.d.ts.map +0 -1
  139. package/dist/src/storage/idb.js +0 -236
  140. package/dist/src/storage/idb.js.map +0 -1
  141. package/dist/src/storage/index.d.ts +0 -152
  142. package/dist/src/storage/index.d.ts.map +0 -1
  143. package/dist/src/storage/index.js +0 -98
  144. package/dist/src/storage/index.js.map +0 -1
  145. package/dist/src/storage/sqlite.d.ts +0 -95
  146. package/dist/src/storage/sqlite.d.ts.map +0 -1
  147. package/dist/src/storage/sqlite.js +0 -206
  148. package/dist/src/storage/sqlite.js.map +0 -1
  149. package/dist/src/storage/types.d.ts +0 -57
  150. package/dist/src/storage/types.d.ts.map +0 -1
  151. package/dist/src/storage/types.js +0 -9
  152. package/dist/src/storage/types.js.map +0 -1
  153. package/dist/src/tokens.d.ts +0 -29
  154. package/dist/src/tokens.d.ts.map +0 -1
  155. package/dist/src/tokens.js +0 -89
  156. package/dist/src/tokens.js.map +0 -1
  157. package/dist/src/usd-price.d.ts +0 -34
  158. package/dist/src/usd-price.d.ts.map +0 -1
  159. package/dist/src/usd-price.js +0 -83
  160. package/dist/src/usd-price.js.map +0 -1
  161. package/dist/tests/api-client.test.d.ts +0 -2
  162. package/dist/tests/api-client.test.d.ts.map +0 -1
  163. package/dist/tests/api-client.test.js +0 -86
  164. package/dist/tests/api-client.test.js.map +0 -1
  165. package/dist/tests/client.test.d.ts +0 -2
  166. package/dist/tests/client.test.d.ts.map +0 -1
  167. package/dist/tests/client.test.js +0 -150
  168. package/dist/tests/client.test.js.map +0 -1
  169. package/dist/tests/index.test.d.ts +0 -2
  170. package/dist/tests/index.test.d.ts.map +0 -1
  171. package/dist/tests/index.test.js +0 -8
  172. package/dist/tests/index.test.js.map +0 -1
  173. package/dist/tests/onchain-refund.test.d.ts +0 -2
  174. package/dist/tests/onchain-refund.test.d.ts.map +0 -1
  175. package/dist/tests/onchain-refund.test.js +0 -279
  176. package/dist/tests/onchain-refund.test.js.map +0 -1
  177. package/dist/tests/signer.test.d.ts +0 -2
  178. package/dist/tests/signer.test.d.ts.map +0 -1
  179. package/dist/tests/signer.test.js +0 -92
  180. package/dist/tests/signer.test.js.map +0 -1
  181. package/dist/tests/sqlite-storage.test.d.ts +0 -2
  182. package/dist/tests/sqlite-storage.test.d.ts.map +0 -1
  183. package/dist/tests/sqlite-storage.test.js +0 -160
  184. package/dist/tests/sqlite-storage.test.js.map +0 -1
  185. package/dist/tests/storage.test.d.ts +0 -2
  186. package/dist/tests/storage.test.d.ts.map +0 -1
  187. package/dist/tests/storage.test.js +0 -184
  188. package/dist/tests/storage.test.js.map +0 -1
  189. package/dist/tsconfig.tsbuildinfo +0 -1
  190. package/dist/usdt0-bridge/bridge.d.ts +0 -82
  191. package/dist/usdt0-bridge/bridge.d.ts.map +0 -1
  192. package/dist/usdt0-bridge/bridge.js +0 -56
  193. package/dist/usdt0-bridge/bridge.js.map +0 -1
  194. package/dist/usdt0-bridge/chains.d.ts +0 -41
  195. package/dist/usdt0-bridge/chains.d.ts.map +0 -1
  196. package/dist/usdt0-bridge/chains.js +0 -117
  197. package/dist/usdt0-bridge/chains.js.map +0 -1
  198. package/dist/usdt0-bridge/layerzero-tracker.d.ts +0 -34
  199. package/dist/usdt0-bridge/layerzero-tracker.d.ts.map +0 -1
  200. package/dist/usdt0-bridge/layerzero-tracker.js +0 -86
  201. package/dist/usdt0-bridge/layerzero-tracker.js.map +0 -1
  202. package/dist/usdt0-bridge/oft-abi.d.ts +0 -145
  203. package/dist/usdt0-bridge/oft-abi.d.ts.map +0 -1
  204. package/dist/usdt0-bridge/oft-abi.js +0 -117
  205. package/dist/usdt0-bridge/oft-abi.js.map +0 -1
@@ -1,2736 +0,0 @@
1
- /**
2
- * This file was auto-generated by openapi-typescript.
3
- * Do not make direct changes to the file.
4
- */
5
- export interface paths {
6
- "/api/delegate/cosigner-pk": {
7
- parameters: {
8
- query?: never;
9
- header?: never;
10
- path?: never;
11
- cookie?: never;
12
- };
13
- /**
14
- * Get the delegate cosigner public key.
15
- * @description Clients need this key when preparing delegate PSBTs so the backend
16
- * can participate in the batch ceremony as a cosigner.
17
- */
18
- get: operations["get_cosigner_pk"];
19
- put?: never;
20
- post?: never;
21
- delete?: never;
22
- options?: never;
23
- head?: never;
24
- patch?: never;
25
- trace?: never;
26
- };
27
- "/api/delegate/settle": {
28
- parameters: {
29
- query?: never;
30
- header?: never;
31
- path?: never;
32
- cookie?: never;
33
- };
34
- get?: never;
35
- put?: never;
36
- /**
37
- * Settle a delegated batch.
38
- * @description The client prepares and signs delegate PSBTs (intent + forfeits), then
39
- * POSTs them here. The backend reconstructs the `Delegate` struct and runs
40
- * the full Ark batch ceremony on the client's behalf.
41
- *
42
- * This endpoint blocks until the batch completes (~10-30s).
43
- */
44
- post: operations["settle_delegate"];
45
- delete?: never;
46
- options?: never;
47
- head?: never;
48
- patch?: never;
49
- trace?: never;
50
- };
51
- "/api/vtxo-swap": {
52
- parameters: {
53
- query?: never;
54
- header?: never;
55
- path?: never;
56
- cookie?: never;
57
- };
58
- get?: never;
59
- put?: never;
60
- /** Create a new VTXO swap */
61
- post: operations["create_vtxo_swap"];
62
- delete?: never;
63
- options?: never;
64
- head?: never;
65
- patch?: never;
66
- trace?: never;
67
- };
68
- "/api/vtxo-swap/estimate": {
69
- parameters: {
70
- query?: never;
71
- header?: never;
72
- path?: never;
73
- cookie?: never;
74
- };
75
- get?: never;
76
- put?: never;
77
- /** Estimate fee for VTXO swap */
78
- post: operations["estimate_vtxo_swap"];
79
- delete?: never;
80
- options?: never;
81
- head?: never;
82
- patch?: never;
83
- trace?: never;
84
- };
85
- "/api/vtxo-swap/{id}": {
86
- parameters: {
87
- query?: never;
88
- header?: never;
89
- path?: never;
90
- cookie?: never;
91
- };
92
- /** Get VTXO swap by ID */
93
- get: operations["get_vtxo_swap"];
94
- put?: never;
95
- post?: never;
96
- delete?: never;
97
- options?: never;
98
- head?: never;
99
- patch?: never;
100
- trace?: never;
101
- };
102
- "/evm-tokens": {
103
- parameters: {
104
- query?: never;
105
- header?: never;
106
- path?: never;
107
- cookie?: never;
108
- };
109
- /** Get available EVM tokens from 1inch for supported chains */
110
- get: operations["get_evm_tokens"];
111
- put?: never;
112
- post?: never;
113
- delete?: never;
114
- options?: never;
115
- head?: never;
116
- patch?: never;
117
- trace?: never;
118
- };
119
- "/evm-tokens/chains": {
120
- parameters: {
121
- query?: never;
122
- header?: never;
123
- path?: never;
124
- cookie?: never;
125
- };
126
- /** Get supported EVM chains */
127
- get: operations["get_evm_chains"];
128
- put?: never;
129
- post?: never;
130
- delete?: never;
131
- options?: never;
132
- head?: never;
133
- patch?: never;
134
- trace?: never;
135
- };
136
- "/health": {
137
- parameters: {
138
- query?: never;
139
- header?: never;
140
- path?: never;
141
- cookie?: never;
142
- };
143
- /** Health check endpoint */
144
- get: operations["health_check"];
145
- put?: never;
146
- post?: never;
147
- delete?: never;
148
- options?: never;
149
- head?: never;
150
- patch?: never;
151
- trace?: never;
152
- };
153
- "/mtp": {
154
- parameters: {
155
- query?: never;
156
- header?: never;
157
- path?: never;
158
- cookie?: never;
159
- };
160
- /** Return the current cached Median Time Past (MTP) and tip height. */
161
- get: operations["get_mtp"];
162
- put?: never;
163
- post?: never;
164
- delete?: never;
165
- options?: never;
166
- head?: never;
167
- patch?: never;
168
- trace?: never;
169
- };
170
- "/quote": {
171
- parameters: {
172
- query?: never;
173
- header?: never;
174
- path?: never;
175
- cookie?: never;
176
- };
177
- /**
178
- * Get a quote for swapping BTC to/from EVM tokens
179
- * @description Specify exactly one of source_amount or target_amount.
180
- * Amounts are in the smallest unit of the respective token (satoshis for BTC, raw units for EVM
181
- * tokens).
182
- */
183
- get: operations["get_quote"];
184
- put?: never;
185
- post?: never;
186
- delete?: never;
187
- options?: never;
188
- head?: never;
189
- patch?: never;
190
- trace?: never;
191
- };
192
- "/swap/arkade/evm": {
193
- parameters: {
194
- query?: never;
195
- header?: never;
196
- path?: never;
197
- cookie?: never;
198
- };
199
- get?: never;
200
- put?: never;
201
- /** Create a chain-agnostic Arkade-to-EVM swap. */
202
- post: operations["create_arkade_evm_swap"];
203
- delete?: never;
204
- options?: never;
205
- head?: never;
206
- patch?: never;
207
- trace?: never;
208
- };
209
- "/swap/bitcoin/arkade": {
210
- parameters: {
211
- query?: never;
212
- header?: never;
213
- path?: never;
214
- cookie?: never;
215
- };
216
- get?: never;
217
- put?: never;
218
- /**
219
- * Create a new Bitcoin (on-chain) to Arkade swap request
220
- * @description The user provides an on-chain BTC amount to swap and receives Arkade VTXOs.
221
- * Flow:
222
- * 1. User sends BTC to the Taproot HTLC address returned
223
- * 2. After 1 confirmation, server creates Arkade VHTLC for user
224
- * 3. User claims Arkade VHTLC with secret, revealing it
225
- * 4. Server claims on-chain BTC with the revealed secret
226
- */
227
- post: operations["bitcoin_to_arkade_swap"];
228
- delete?: never;
229
- options?: never;
230
- head?: never;
231
- patch?: never;
232
- trace?: never;
233
- };
234
- "/swap/bitcoin/evm": {
235
- parameters: {
236
- query?: never;
237
- header?: never;
238
- path?: never;
239
- cookie?: never;
240
- };
241
- get?: never;
242
- put?: never;
243
- /** Create a chain-agnostic Bitcoin-to-EVM swap. */
244
- post: operations["create_bitcoin_evm_swap"];
245
- delete?: never;
246
- options?: never;
247
- head?: never;
248
- patch?: never;
249
- trace?: never;
250
- };
251
- "/swap/evm/arkade": {
252
- parameters: {
253
- query?: never;
254
- header?: never;
255
- path?: never;
256
- cookie?: never;
257
- };
258
- get?: never;
259
- put?: never;
260
- /** Create a chain-agnostic EVM-to-Arkade swap. */
261
- post: operations["create_evm_to_arkade_swap_generic"];
262
- delete?: never;
263
- options?: never;
264
- head?: never;
265
- patch?: never;
266
- trace?: never;
267
- };
268
- "/swap/evm/bitcoin": {
269
- parameters: {
270
- query?: never;
271
- header?: never;
272
- path?: never;
273
- cookie?: never;
274
- };
275
- get?: never;
276
- put?: never;
277
- /** Create a chain-agnostic EVM-to-Bitcoin swap. */
278
- post: operations["create_evm_to_bitcoin_swap"];
279
- delete?: never;
280
- options?: never;
281
- head?: never;
282
- patch?: never;
283
- trace?: never;
284
- };
285
- "/swap/evm/lightning": {
286
- parameters: {
287
- query?: never;
288
- header?: never;
289
- path?: never;
290
- cookie?: never;
291
- };
292
- get?: never;
293
- put?: never;
294
- /**
295
- * Create a chain-agnostic EVM-to-Lightning swap.
296
- * @description Flow:
297
- * 1. User provides their Lightning invoice (they want to receive BTC)
298
- * 2. Server prepares Boltz submarine swap to pay the invoice
299
- * 3. User funds EVM HTLCErc20 with tokens
300
- * 4. Server pays Lightning invoice via Boltz (gets preimage)
301
- * 5. Server claims EVM HTLCErc20 using preimage
302
- */
303
- post: operations["create_evm_to_lightning_swap_generic"];
304
- delete?: never;
305
- options?: never;
306
- head?: never;
307
- patch?: never;
308
- trace?: never;
309
- };
310
- "/swap/lightning/evm": {
311
- parameters: {
312
- query?: never;
313
- header?: never;
314
- path?: never;
315
- cookie?: never;
316
- };
317
- get?: never;
318
- put?: never;
319
- /** Create a chain-agnostic Lightning-to-EVM swap. */
320
- post: operations["create_lightning_evm_swap"];
321
- delete?: never;
322
- options?: never;
323
- head?: never;
324
- patch?: never;
325
- trace?: never;
326
- };
327
- "/swap/recover": {
328
- parameters: {
329
- query?: never;
330
- header?: never;
331
- path?: never;
332
- cookie?: never;
333
- };
334
- get?: never;
335
- put?: never;
336
- /**
337
- * Recover swaps by deriving user_id keys from an Xpub
338
- * @description This endpoint allows clients to recover their swap history after importing a mnemonic. The
339
- * client provides an Xpub they used to derive `user_id`s, and the server derives `user_id` keys at
340
- * m/9419/121923/<index> for indices 0-99 and searches for matching swaps.
341
- */
342
- post: operations["recover_swaps"];
343
- delete?: never;
344
- options?: never;
345
- head?: never;
346
- patch?: never;
347
- trace?: never;
348
- };
349
- "/swap/{id}": {
350
- parameters: {
351
- query?: never;
352
- header?: never;
353
- path?: never;
354
- cookie?: never;
355
- };
356
- /** Get swap status and details by ID */
357
- get: operations["get_swap"];
358
- put?: never;
359
- post?: never;
360
- delete?: never;
361
- options?: never;
362
- head?: never;
363
- patch?: never;
364
- trace?: never;
365
- };
366
- "/swap/{id}/claim-gasless": {
367
- parameters: {
368
- query?: never;
369
- header?: never;
370
- path?: never;
371
- cookie?: never;
372
- };
373
- get?: never;
374
- put?: never;
375
- /**
376
- * Claims an EVM-targeted swap gaslessly via the HTLCCoordinator contract.
377
- * @description Supports both Arkade-to-EVM and Bitcoin-to-EVM swaps. The server submits
378
- * `coordinator.redeemAndExecute` on the client's behalf, using the client's
379
- * EIP-712 signature and secret.
380
- */
381
- post: operations["claim_via_gasless"];
382
- delete?: never;
383
- options?: never;
384
- head?: never;
385
- patch?: never;
386
- trace?: never;
387
- };
388
- "/swap/{id}/redeem-and-swap-calldata": {
389
- parameters: {
390
- query?: never;
391
- header?: never;
392
- path?: never;
393
- cookie?: never;
394
- };
395
- /**
396
- * Returns fresh 1inch DEX calldata for an EVM-targeted swap (Arkade-to-EVM or Bitcoin-to-EVM).
397
- * @description The calldata is generated with `receiver = destination` so that 1inch
398
- * sends the output tokens directly to the user's address, avoiding an
399
- * extra sweep transfer.
400
- */
401
- get: operations["get_dex_calldata"];
402
- put?: never;
403
- post?: never;
404
- delete?: never;
405
- options?: never;
406
- head?: never;
407
- patch?: never;
408
- trace?: never;
409
- };
410
- "/swap/{id}/refund-and-swap-calldata": {
411
- parameters: {
412
- query?: never;
413
- header?: never;
414
- path?: never;
415
- cookie?: never;
416
- };
417
- /**
418
- * Returns calldata to refund an expired EVM-to-Arkade HTLC via the coordinator.
419
- * @description Two modes:
420
- * - `mode=swap-back` (default): calls `refundAndExecute` — refund WBTC from expired HTLC, swap
421
- * WBTC → source token via 1inch, sweep to caller.
422
- * - `mode=direct`: calls `refundTo` — refund WBTC directly to caller (no DEX).
423
- *
424
- * Both are permissionless after the timelock expires.
425
- */
426
- get: operations["get_refund_calldata"];
427
- put?: never;
428
- post?: never;
429
- delete?: never;
430
- options?: never;
431
- head?: never;
432
- patch?: never;
433
- trace?: never;
434
- };
435
- "/swap/{id}/swap-and-lock-calldata": {
436
- parameters: {
437
- query?: never;
438
- header?: never;
439
- path?: never;
440
- cookie?: never;
441
- };
442
- /**
443
- * Returns the calldata needed to fund an EVM-to-Arkade swap via the HTLCCoordinator.
444
- * @description The coordinator atomically:
445
- * 1. Pulls source tokens from the user via `transferFrom`
446
- * 2. Approves the 1inch router to spend the source tokens
447
- * 3. Swaps source tokens to WBTC via 1inch
448
- * 4. Locks the WBTC into an HTLC
449
- *
450
- * The caller must first approve the source token to the **coordinator** address.
451
- */
452
- get: operations["get_coordinator_funding_calldata"];
453
- put?: never;
454
- post?: never;
455
- delete?: never;
456
- options?: never;
457
- head?: never;
458
- patch?: never;
459
- trace?: never;
460
- };
461
- "/tokens": {
462
- parameters: {
463
- query?: never;
464
- header?: never;
465
- path?: never;
466
- cookie?: never;
467
- };
468
- /**
469
- * Get list of available tokens for swaps.
470
- * @description Optionally pass `source_chain` + `source_token` **or** `target_chain` + `target_token`
471
- * to filter the response to valid counterparty tokens.
472
- */
473
- get: operations["get_tokens"];
474
- put?: never;
475
- post?: never;
476
- delete?: never;
477
- options?: never;
478
- head?: never;
479
- patch?: never;
480
- trace?: never;
481
- };
482
- "/version": {
483
- parameters: {
484
- query?: never;
485
- header?: never;
486
- path?: never;
487
- cookie?: never;
488
- };
489
- /** Return the current git tag and commit hash. */
490
- get: operations["get_version"];
491
- put?: never;
492
- post?: never;
493
- delete?: never;
494
- options?: never;
495
- head?: never;
496
- patch?: never;
497
- trace?: never;
498
- };
499
- }
500
- export type webhooks = Record<string, never>;
501
- export interface components {
502
- schemas: {
503
- /**
504
- * @description Chain-agnostic request for Arkade-to-EVM swaps.
505
- *
506
- * The caller specifies the target chain via `evm_chain_id` and the token
507
- * via its ERC-20 contract `token_address`. This endpoint supports any token
508
- * reachable through 1inch aggregation (which covers Uniswap, Curve, etc.).
509
- */
510
- ArkadeToEvmSwapRequest: {
511
- /**
512
- * Format: int64
513
- * @description How many sats the user wants to send (mutually exclusive with `amount_out`).
514
- * Value is in satoshis (smallest BTC unit).
515
- */
516
- amount_in?: number | null;
517
- /**
518
- * Format: int64
519
- * @description How much target token the user wants to receive (mutually exclusive with `amount_in`).
520
- * Value is in the target token's smallest unit (e.g. for USDC with 6 decimals, 1000000 = 1
521
- * USDC).
522
- */
523
- amount_out?: number | null;
524
- /** @description EVM address that will sign the HTLC claim (SDK-derived for gasless claims). */
525
- claiming_address: string;
526
- /**
527
- * Format: int64
528
- * @description Numeric EVM chain ID: 1 (Ethereum), 137 (Polygon), 42161 (Arbitrum).
529
- */
530
- evm_chain_id: number;
531
- /**
532
- * @description Whether the server should execute the DEX swap on behalf of the user (gasless claim).
533
- * When true, the gasless network fee is added to the total fee charged.
534
- * Defaults to true.
535
- */
536
- gasless?: boolean;
537
- /** @description Hash lock provided by the client (32-byte hex string with 0x prefix). */
538
- hash_lock: string;
539
- /** @description Optional referral code for tracking. */
540
- referral_code?: string | null;
541
- /** @description Refund public key used to generate the Arkade VHTLC. */
542
- refund_pk: string;
543
- /** @description EVM address where tokens are swept after the claim (user's final destination). */
544
- target_address: string;
545
- /** @description ERC-20 contract address of the desired token on the target chain. */
546
- token_address: string;
547
- /** @description User ID derived from wallet for recovery purposes. */
548
- user_id: string;
549
- };
550
- /** @description Arkade → EVM swap response */
551
- ArkadeToEvmSwapResponse: {
552
- arkade_server_pk: string;
553
- btc_claim_txid?: string | null;
554
- btc_fund_txid?: string | null;
555
- btc_vhtlc_address: string;
556
- chain: string;
557
- /** @description EVM address that will sign the HTLC claim (SDK-derived for gasless claims). */
558
- client_evm_address: string;
559
- /** Format: date-time */
560
- created_at: string;
561
- /** Format: int64 */
562
- evm_chain_id: number;
563
- evm_claim_txid?: string | null;
564
- evm_coordinator_address: string;
565
- /** Format: int64 */
566
- evm_expected_sats: number;
567
- evm_fund_txid?: string | null;
568
- evm_htlc_address: string;
569
- /** Format: int64 */
570
- evm_refund_locktime: number;
571
- /** Format: int64 */
572
- fee_sats: number;
573
- hash_lock: string;
574
- id: string;
575
- network: string;
576
- receiver_pk: string;
577
- sender_pk: string;
578
- server_evm_address: string;
579
- /** Format: int64 */
580
- source_amount: number;
581
- source_token: components["schemas"]["TokenInfo"];
582
- status: components["schemas"]["SwapStatus"];
583
- /** Format: int64 */
584
- target_amount: number;
585
- /** @description EVM address where tokens are swept after the claim (user's final destination). */
586
- target_evm_address?: string | null;
587
- target_token: components["schemas"]["TokenInfo"];
588
- /** Format: int64 */
589
- unilateral_claim_delay: number;
590
- /** Format: int64 */
591
- unilateral_refund_delay: number;
592
- /** Format: int64 */
593
- unilateral_refund_without_receiver_delay: number;
594
- /** Format: int64 */
595
- vhtlc_refund_locktime: number;
596
- /** @description WBTC token contract address on the target EVM chain (the token locked in the HTLC). */
597
- wbtc_address: string;
598
- };
599
- BitcoinToArkadeSwapRequest: {
600
- /** @description User's claim public key for the Arkade VHTLC */
601
- claim_pk: string;
602
- /**
603
- * @description Hash lock provided by the client (20-byte hex string, no 0x prefix).
604
- * The client generates a secret and computes HASH160(secret) = RIPEMD160(SHA256(secret)).
605
- * This hash is used for both the on-chain Bitcoin HTLC (OP_HASH160) and the Arkade VHTLC.
606
- * Client will use the secret to claim the Arkade VHTLC later.
607
- */
608
- hash_lock: string;
609
- /** @description Optional referral code for fee exemption */
610
- referral_code?: string | null;
611
- /** @description User's refund public key for the on-chain Bitcoin HTLC */
612
- refund_pk: string;
613
- /**
614
- * Format: int64
615
- * @description Amount the user wants to receive on Arkade in satoshis
616
- */
617
- sats_receive: number;
618
- /** @description User's target Arkade address to receive VTXOs */
619
- target_arkade_address: string;
620
- /** @description User ID derived from wallet for recovery purposes */
621
- user_id: string;
622
- };
623
- /**
624
- * @description Chain-agnostic request for Arkade-to-EVM swaps.
625
- *
626
- * The caller specifies the target chain via `evm_chain_id` and the token
627
- * via its ERC-20 contract `token_address`. This endpoint supports any token
628
- * reachable through 1inch aggregation (which covers Uniswap, Curve, etc.).
629
- */
630
- BitcoinToEvmSwapRequest: {
631
- /**
632
- * Format: int64
633
- * @description How many sats the user wants to send (mutually exclusive with `amount_out`).
634
- * Value is in satoshis (smallest BTC unit).
635
- */
636
- amount_in?: number | null;
637
- /**
638
- * Format: int64
639
- * @description How much target token the user wants to receive (mutually exclusive with `amount_in`).
640
- * Value is in the target token's smallest unit (e.g. for USDC with 6 decimals, 1000000 = 1
641
- * USDC).
642
- */
643
- amount_out?: number | null;
644
- /** @description EVM address that will sign the HTLC claim (SDK-derived for gasless claims). */
645
- claiming_address: string;
646
- /**
647
- * Format: int64
648
- * @description Numeric EVM chain ID: 1 (Ethereum), 137 (Polygon), 42161 (Arbitrum).
649
- */
650
- evm_chain_id: number;
651
- /**
652
- * @description Whether the server should execute the DEX swap on behalf of the user (gasless claim).
653
- * When true, the gasless network fee is added to the total fee charged.
654
- * Defaults to true.
655
- */
656
- gasless?: boolean;
657
- /** @description Hash lock provided by the client (32-byte hex string with 0x prefix). */
658
- hash_lock: string;
659
- /** @description Optional referral code for tracking. */
660
- referral_code?: string | null;
661
- /** @description Refund public key used to generate the Arkade VHTLC. */
662
- refund_pk: string;
663
- /** @description EVM address where tokens are swept after the claim (user's final destination). */
664
- target_address: string;
665
- /** @description ERC-20 contract address of the desired token on the target chain. */
666
- token_address: string;
667
- /** @description User ID derived from wallet for recovery purposes. */
668
- user_id: string;
669
- };
670
- /** @description Response for Arkade-to-EVM swaps. */
671
- BitcoinToEvmSwapResponse: {
672
- /** @description On-chain claim transaction ID (server claim) */
673
- btc_claim_txid?: string | null;
674
- /** @description On-chain funding transaction ID */
675
- btc_fund_txid?: string | null;
676
- /**
677
- * @description Hash lock (20-byte hex)
678
- *
679
- * To be used for bitcoin htlc. This is the [`ripemd160(evm_hash_lock)`]
680
- */
681
- btc_hash_lock: string;
682
- /** @description On-chain Bitcoin HTLC P2WSH address (user sends BTC here) */
683
- btc_htlc_address: string;
684
- /**
685
- * Format: int64
686
- * @description On-chain BTC refund locktime (unix timestamp)
687
- */
688
- btc_refund_locktime: number;
689
- /** @description The server's pk inside the htlc */
690
- btc_server_pk: string;
691
- /** @description EVM chain name (e.g. "Polygon", "Ethereum", "Arbitrum") */
692
- chain: string;
693
- /** @description EVM address that will sign the HTLC claim (SDK-derived for gasless claims) */
694
- client_evm_address: string;
695
- /**
696
- * Format: date-time
697
- * @description Timestamp of when the swap was created
698
- */
699
- created_at: string;
700
- /**
701
- * Format: int64
702
- * @description Numeric EVM chain ID (e.g. 137, 1, 42161)
703
- */
704
- evm_chain_id: number;
705
- /** @description EVM HTLC claim transaction ID (user claim) */
706
- evm_claim_txid?: string | null;
707
- /** @description HTLCCoordinator contract address (for redeemAndExecute) */
708
- evm_coordinator_address: string;
709
- /**
710
- * Format: int64
711
- * @description Amount of WBTC sats locked in the EVM HTLC
712
- */
713
- evm_expected_sats: number;
714
- /** @description EVM HTLC fund transaction ID */
715
- evm_fund_txid?: string | null;
716
- /**
717
- * @description Hash lock (32-byte hex)
718
- *
719
- * To be used for EVM htlc
720
- */
721
- evm_hash_lock: string;
722
- /** @description EVM HTLC contract address */
723
- evm_htlc_address: string;
724
- /**
725
- * Format: int64
726
- * @description EVM HTLC refund locktime (unix timestamp)
727
- */
728
- evm_refund_locktime: number;
729
- /**
730
- * Format: int64
731
- * @description Protocol fee in satoshis
732
- */
733
- fee_sats: number;
734
- /** Format: uuid */
735
- id: string;
736
- /** @description Bitcoin network */
737
- network: string;
738
- /** @description Server's EVM address */
739
- server_evm_address: string;
740
- /**
741
- * Format: int64
742
- * @description Amount user must send in satoshis
743
- */
744
- source_amount: number;
745
- /** @description Source token info */
746
- source_token: components["schemas"]["TokenInfo"];
747
- status: components["schemas"]["SwapStatus"];
748
- /**
749
- * Format: int64
750
- * @description How much the user will receive in the target token's smallest unit
751
- */
752
- target_amount: number;
753
- /** @description EVM address where tokens are swept after the claim (user's final destination) */
754
- target_evm_address?: string | null;
755
- /** @description Target token info */
756
- target_token: components["schemas"]["TokenInfo"];
757
- /** @description WBTC token contract address on the target EVM chain (the token locked in the HTLC) */
758
- wbtc_address: string;
759
- };
760
- /** @description BTC → Arkade swap response */
761
- BtcToArkadeSwapResponse: {
762
- /** @description Arkade VHTLC claim transaction ID (user claim) */
763
- arkade_claim_txid?: string | null;
764
- /** @description Arkade VHTLC fund transaction ID */
765
- arkade_fund_txid?: string | null;
766
- /** @description Arkade server's public key */
767
- arkade_server_pk: string;
768
- /** @description Arkade VHTLC address */
769
- arkade_vhtlc_address: string;
770
- /**
771
- * Format: int64
772
- * @description Amount user must send in satoshis
773
- * Deprecated: please use [`target_amount`]
774
- */
775
- asset_amount: number;
776
- /** @description On-chain claim transaction ID (server claim) */
777
- btc_claim_txid?: string | null;
778
- /** @description On-chain funding transaction ID */
779
- btc_fund_txid?: string | null;
780
- /** @description On-chain Bitcoin HTLC P2WSH address (user sends BTC here) */
781
- btc_htlc_address: string;
782
- /**
783
- * Format: int64
784
- * @description On-chain refund locktime (unix timestamp)
785
- */
786
- btc_refund_locktime: number;
787
- /**
788
- * Format: date-time
789
- * @description Timestamp of when the swap was created
790
- */
791
- created_at: string;
792
- /**
793
- * Format: int64
794
- * @description Protocol fee in satoshis
795
- */
796
- fee_sats: number;
797
- /** @description Hash lock (32-byte hex, no 0x prefix) */
798
- hash_lock: string;
799
- /** @description Unique swap identifier */
800
- id: string;
801
- /** @description Bitcoin network */
802
- network: string;
803
- /**
804
- * Format: int64
805
- * @description Amount user will receive on Arkade in satoshis
806
- */
807
- sats_receive: number;
808
- /** @description Server's VHTLC public key (sender in the VHTLC) */
809
- server_vhtlc_pk: string;
810
- /**
811
- * Format: int64
812
- * @description Amount user must send in satoshis
813
- */
814
- source_amount: number;
815
- /** @description Source token info */
816
- source_token: components["schemas"]["TokenInfo"];
817
- /** @description Current status of the swap */
818
- status: components["schemas"]["SwapStatus"];
819
- /**
820
- * Format: int64
821
- * @description Amount the user will receive
822
- */
823
- target_amount: number;
824
- /** @description User's target Arkade address */
825
- target_arkade_address: string;
826
- /** @description Target token info */
827
- target_token: components["schemas"]["TokenInfo"];
828
- /**
829
- * Format: int64
830
- * @description Unilateral claim delay in seconds
831
- */
832
- unilateral_claim_delay: number;
833
- /**
834
- * Format: int64
835
- * @description Unilateral refund delay in seconds
836
- */
837
- unilateral_refund_delay: number;
838
- /**
839
- * Format: int64
840
- * @description Unilateral refund without receiver delay in seconds
841
- */
842
- unilateral_refund_without_receiver_delay: number;
843
- /**
844
- * Format: int64
845
- * @description VHTLC refund locktime (unix timestamp)
846
- */
847
- vhtlc_refund_locktime: number;
848
- };
849
- /** @description BTC → EVM swap response */
850
- BtcToEvmSwapResponse: components["schemas"]["SwapCommonFields"] & {
851
- /** @description Bitcoin HTLC claim transaction ID */
852
- bitcoin_htlc_claim_txid?: string | null;
853
- /** @description Bitcoin HTLC fund transaction ID */
854
- bitcoin_htlc_fund_txid?: string | null;
855
- /** @description EVM HTLC claim transaction ID */
856
- evm_htlc_claim_txid?: string | null;
857
- /** @description EVM HTLC fund transaction ID */
858
- evm_htlc_fund_txid?: string | null;
859
- /** @description Arkade VHTLC address */
860
- htlc_address_arkade: string;
861
- /** @description EVM HTLC contract address */
862
- htlc_address_evm: string;
863
- /** @description Lightning invoice for payment */
864
- ln_invoice: string;
865
- /**
866
- * Format: int64
867
- * @description The amount of satoshis we expect to receive
868
- * Deprecated: please use [`source_amount`]
869
- */
870
- sats_receive: number;
871
- /**
872
- * Format: int64
873
- * @description Amount user must send in satoshis
874
- */
875
- source_amount: number;
876
- /**
877
- * Format: double
878
- * @description Amount the user will receive of the target asset
879
- */
880
- target_amount: number;
881
- /** @description User's EVM address to receive tokens */
882
- user_address_evm: string;
883
- };
884
- /**
885
- * @description Supported blockchain networks.
886
- * EVM chains serialize to their chain ID as a string (e.g. "137" for Polygon).
887
- * @enum {string}
888
- */
889
- Chain: "Arkade" | "Lightning" | "Bitcoin" | "137" | "1" | "42161";
890
- ClaimGaslessRequest: {
891
- /** @description EVM address where tokens should be sent */
892
- destination: string;
893
- dex_calldata?: null | components["schemas"]["DexCalldata"];
894
- /** @description EIP-712 signature r (32-byte hex string, with or without 0x prefix) */
895
- r: string;
896
- /** @description EIP-712 signature s (32-byte hex string, with or without 0x prefix) */
897
- s: string;
898
- /** @description The secret/preimage (32-byte hex string, with or without 0x prefix) */
899
- secret: string;
900
- /**
901
- * Format: int32
902
- * @description EIP-712 signature v
903
- */
904
- v: number;
905
- };
906
- ClaimGaslessResponse: {
907
- /** @description Swap ID */
908
- id: string;
909
- /** @description Success message */
910
- message: string;
911
- /** @description Current swap status */
912
- status: string;
913
- /** @description Transaction hash */
914
- tx_hash: string;
915
- };
916
- CosignerPkResponse: {
917
- /** @description Hex-encoded compressed public key of the delegate cosigner. */
918
- cosigner_pk: string;
919
- };
920
- CreateVtxoSwapRequest: {
921
- /** @description Client's public key for the VHTLC */
922
- client_pk: string;
923
- /** @description SHA256(preimage) - client generates the secret */
924
- preimage_hash: string;
925
- /** @description User ID for recovery purposes */
926
- user_id: string;
927
- /** @description List of VTXO outpoints to refresh */
928
- vtxos: string[];
929
- };
930
- /** @description DEX swap calldata for the coordinator contract. */
931
- DexCallData: {
932
- data: string;
933
- to: string;
934
- value: string;
935
- };
936
- /** @description DEX calldata for the swap (from 1inch or another aggregator) */
937
- DexCalldata: {
938
- /** @description Encoded swap calldata (hex string, with or without 0x prefix) */
939
- data: string;
940
- /** @description DEX router address */
941
- to: string;
942
- /** @description Native token value (usually "0") */
943
- value?: string;
944
- };
945
- ErrorResponse: {
946
- error: string;
947
- };
948
- EstimateVtxoSwapRequest: {
949
- /** @description List of VTXO outpoints to refresh ("txid:vout" format) */
950
- vtxos: string[];
951
- };
952
- EstimateVtxoSwapResponse: {
953
- /**
954
- * Format: int64
955
- * @description Expected expiry timestamp (Unix) of the resulting VTXOs.
956
- * This is the minimum expiry among the server's VTXOs that will be used to fund the swap.
957
- */
958
- expected_vtxo_expiry: number;
959
- /**
960
- * Format: int64
961
- * @description Total fee in satoshis
962
- */
963
- fee_sats: number;
964
- /**
965
- * Format: int64
966
- * @description Amount user will receive (total_input_sats - fee_sats)
967
- */
968
- output_sats: number;
969
- /**
970
- * Format: int64
971
- * @description Total input amount in satoshis
972
- */
973
- total_input_sats: number;
974
- /** @description Number of VTXOs being refreshed */
975
- vtxo_count: number;
976
- };
977
- EvmChainInfo: {
978
- /** Format: int64 */
979
- chain_id: number;
980
- name: string;
981
- };
982
- EvmChainsResponse: {
983
- chains: components["schemas"]["EvmChainInfo"][];
984
- };
985
- /**
986
- * @description Request to create an EVM-to-Arkade swap.
987
- *
988
- * User sends any ERC-20 token on EVM, receives BTC on Arkade.
989
- */
990
- EvmToArkadeGenericSwapRequest: {
991
- /**
992
- * Format: int64
993
- * @description Source token amount in smallest units (mutually exclusive with `amount_out`).
994
- */
995
- amount_in?: number | null;
996
- /**
997
- * Format: int64
998
- * @description Desired BTC output in sats (mutually exclusive with `amount_in`).
999
- */
1000
- amount_out?: number | null;
1001
- /**
1002
- * Format: int64
1003
- * @description Numeric EVM chain ID: 1 (Ethereum), 137 (Polygon), 42161 (Arbitrum).
1004
- */
1005
- evm_chain_id: number;
1006
- /** @description Hash lock (0x-prefixed 32-byte hex). Client generates secret, computes SHA256(secret). */
1007
- hash_lock: string;
1008
- /** @description User's Arkade VHTLC claim key (receiver). */
1009
- receiver_pk: string;
1010
- /** @description Optional referral code for tracking. */
1011
- referral_code?: string | null;
1012
- /** @description Arkade address where the user wants to receive BTC. */
1013
- target_address: string;
1014
- /** @description ERC-20 contract address of the source token on the EVM chain. */
1015
- token_address: string;
1016
- /** @description User's EVM address (sender of the ERC-20 token). */
1017
- user_address: string;
1018
- /** @description User ID derived from wallet for recovery purposes. */
1019
- user_id: string;
1020
- };
1021
- /** @description EVM → Arkade (generic) swap response */
1022
- EvmToArkadeSwapResponse: {
1023
- arkade_server_pk: string;
1024
- btc_claim_txid?: string | null;
1025
- btc_fund_txid?: string | null;
1026
- btc_vhtlc_address: string;
1027
- chain: string;
1028
- client_evm_address: string;
1029
- /** Format: date-time */
1030
- created_at: string;
1031
- /** Format: int64 */
1032
- evm_chain_id: number;
1033
- evm_claim_txid?: string | null;
1034
- /** Format: int64 */
1035
- evm_expected_sats: number;
1036
- evm_fund_txid?: string | null;
1037
- evm_htlc_address: string;
1038
- /** Format: int64 */
1039
- evm_refund_locktime: number;
1040
- /** Format: int64 */
1041
- fee_sats: number;
1042
- hash_lock: string;
1043
- id: string;
1044
- network: string;
1045
- receiver_pk: string;
1046
- sender_pk: string;
1047
- server_evm_address: string;
1048
- /** Format: int64 */
1049
- source_amount: number;
1050
- source_token: components["schemas"]["TokenInfo"];
1051
- status: components["schemas"]["SwapStatus"];
1052
- /** Format: int64 */
1053
- target_amount: number;
1054
- target_arkade_address: string;
1055
- target_token: components["schemas"]["TokenInfo"];
1056
- /** Format: int64 */
1057
- unilateral_claim_delay: number;
1058
- /** Format: int64 */
1059
- unilateral_refund_delay: number;
1060
- /** Format: int64 */
1061
- unilateral_refund_without_receiver_delay: number;
1062
- /** Format: int64 */
1063
- vhtlc_refund_locktime: number;
1064
- };
1065
- /**
1066
- * @description Request to create an EVM-to-Bitcoin swap.
1067
- *
1068
- * User sends any ERC-20 token on EVM, receives on-chain BTC (Taproot HTLC).
1069
- * The caller specifies the source chain via `evm_chain_id` and the token
1070
- * via its ERC-20 contract `token_address`.
1071
- */
1072
- EvmToBitcoinSwapRequest: {
1073
- /**
1074
- * Format: int64
1075
- * @description Source token amount in smallest units (mutually exclusive with `amount_out`).
1076
- */
1077
- amount_in?: number | null;
1078
- /**
1079
- * Format: int64
1080
- * @description Desired BTC output in sats (mutually exclusive with `amount_in`).
1081
- */
1082
- amount_out?: number | null;
1083
- /** @description User's BTC public key for claiming BTC from the on-chain Taproot HTLC. */
1084
- claim_pk: string;
1085
- /**
1086
- * Format: int64
1087
- * @description Numeric EVM chain ID: 1 (Ethereum), 137 (Polygon), 42161 (Arbitrum).
1088
- */
1089
- evm_chain_id: number;
1090
- /** @description Hash lock (0x-prefixed 32-byte hex). Client generates secret, computes SHA256(secret). */
1091
- hash_lock: string;
1092
- /** @description Optional referral code for tracking. */
1093
- referral_code?: string | null;
1094
- /** @description User's target BTC address to receive claimed funds. */
1095
- target_address?: string | null;
1096
- /** @description ERC-20 contract address of the source token on the EVM chain. */
1097
- token_address: string;
1098
- /** @description User's EVM address (sender of the ERC-20 token). */
1099
- user_address: string;
1100
- /** @description User ID derived from wallet for recovery purposes. */
1101
- user_id: string;
1102
- };
1103
- /** @description EVM → Bitcoin (on-chain) swap response */
1104
- EvmToBitcoinSwapResponse: {
1105
- btc_claim_txid?: string | null;
1106
- btc_fund_txid?: string | null;
1107
- /** Format: int64 */
1108
- btc_fund_vout?: number | null;
1109
- /** @description BTC hash lock (RIPEMD160 of EVM hash lock) */
1110
- btc_hash_lock: string;
1111
- /** @description On-chain BTC Taproot HTLC address (server creates, user claims) */
1112
- btc_htlc_address: string;
1113
- /**
1114
- * Format: int64
1115
- * @description BTC HTLC refund locktime (unix timestamp)
1116
- */
1117
- btc_refund_locktime: number;
1118
- /** @description Server's x-only public key for refunding BTC */
1119
- btc_server_refund_pk: string;
1120
- /** @description User's x-only public key for claiming BTC */
1121
- btc_user_claim_pk: string;
1122
- /** @description EVM chain name */
1123
- chain: string;
1124
- /** @description User's EVM address (funds the EVM HTLC) */
1125
- client_evm_address: string;
1126
- /** Format: date-time */
1127
- created_at: string;
1128
- /**
1129
- * Format: int64
1130
- * @description Numeric EVM chain ID
1131
- */
1132
- evm_chain_id: number;
1133
- evm_claim_txid?: string | null;
1134
- /**
1135
- * Format: int64
1136
- * @description Expected WBTC amount (in sats) on EVM
1137
- */
1138
- evm_expected_sats: number;
1139
- evm_fund_txid?: string | null;
1140
- /** @description EVM hash lock (SHA-256, 0x-prefixed 32-byte hex) */
1141
- evm_hash_lock: string;
1142
- /** @description EVM HTLC contract address (user creates, server claims) */
1143
- evm_htlc_address: string;
1144
- /**
1145
- * Format: int64
1146
- * @description EVM HTLC refund locktime (unix timestamp)
1147
- */
1148
- evm_refund_locktime: number;
1149
- /** Format: int64 */
1150
- fee_sats: number;
1151
- id: string;
1152
- network: string;
1153
- /** @description Server's EVM address (claims the EVM HTLC) */
1154
- server_evm_address: string;
1155
- /**
1156
- * Format: int64
1157
- * @description Source token amount in smallest units
1158
- */
1159
- source_amount: number;
1160
- source_token: components["schemas"]["TokenInfo"];
1161
- status: components["schemas"]["SwapStatus"];
1162
- /**
1163
- * Format: int64
1164
- * @description Expected BTC amount (in sats) user will receive
1165
- */
1166
- target_amount: number;
1167
- /** @description User's target BTC address for receiving claimed funds */
1168
- target_btc_address?: string | null;
1169
- target_token: components["schemas"]["TokenInfo"];
1170
- /** @description WBTC token contract address on the EVM chain */
1171
- wbtc_address: string;
1172
- };
1173
- /** @description EVM → BTC swap response */
1174
- EvmToBtcSwapResponse: components["schemas"]["SwapCommonFields"] & {
1175
- /** @description Token approval transaction hash */
1176
- approve_tx?: string | null;
1177
- /** @description Bitcoin HTLC claim transaction ID */
1178
- bitcoin_htlc_claim_txid?: string | null;
1179
- /** @description Bitcoin HTLC fund transaction ID */
1180
- bitcoin_htlc_fund_txid?: string | null;
1181
- /** @description Create swap transaction hash */
1182
- create_swap_tx?: string | null;
1183
- /** @description EVM HTLC claim transaction ID */
1184
- evm_htlc_claim_txid?: string | null;
1185
- /** @description EVM HTLC fund transaction ID */
1186
- evm_htlc_fund_txid?: string | null;
1187
- /** @description Gelato forwarder contract address */
1188
- gelato_forwarder_address?: string | null;
1189
- /** @description Gelato user deadline timestamp */
1190
- gelato_user_deadline?: string | null;
1191
- /** @description Gelato user nonce for replay protection */
1192
- gelato_user_nonce?: string | null;
1193
- /** @description Arkade VHTLC address */
1194
- htlc_address_arkade: string;
1195
- /** @description EVM HTLC contract address */
1196
- htlc_address_evm: string;
1197
- /** @description Lightning invoice for payment */
1198
- ln_invoice: string;
1199
- /**
1200
- * Format: int64
1201
- * @description Net satoshis user will receive
1202
- * Deprecated: please use [`target_amount`]
1203
- */
1204
- sats_receive: number;
1205
- /**
1206
- * Format: double
1207
- * @description Amount user must send of the source asset
1208
- */
1209
- source_amount: number;
1210
- /** @description ERC20 token address for approve target */
1211
- source_token_address: string;
1212
- /**
1213
- * Format: int64
1214
- * @description Amount the user will receive in sats
1215
- */
1216
- target_amount: number;
1217
- /** @description User's Arkade address to receive BTC (optional) */
1218
- user_address_arkade?: string | null;
1219
- /** @description User's EVM address sending tokens */
1220
- user_address_evm: string;
1221
- };
1222
- /**
1223
- * @description Request to create an EVM-to-Lightning swap.
1224
- *
1225
- * User sends any ERC-20 token on EVM, receives BTC via Lightning.
1226
- * The hash_lock is derived from the Lightning invoice's payment hash.
1227
- */
1228
- EvmToLightningSwapRequest: {
1229
- /**
1230
- * Format: int64
1231
- * @description Numeric EVM chain ID: 1 (Ethereum), 137 (Polygon), 42161 (Arbitrum).
1232
- */
1233
- evm_chain_id: number;
1234
- /**
1235
- * @description User's Lightning BOLT11 invoice to receive payment.
1236
- * The payment hash from this invoice becomes the HTLC hash_lock.
1237
- */
1238
- lightning_invoice: string;
1239
- /** @description Optional referral code for tracking. */
1240
- referral_code?: string | null;
1241
- /** @description ERC-20 contract address of the source token on the EVM chain. */
1242
- token_address: string;
1243
- /** @description User's EVM address (sender of the ERC-20 token). */
1244
- user_address: string;
1245
- /** @description User ID derived from wallet for recovery purposes. */
1246
- user_id: string;
1247
- };
1248
- /** @description EVM → Lightning swap response */
1249
- EvmToLightningSwapResponse: {
1250
- arkade_server_pk: string;
1251
- chain: string;
1252
- client_evm_address: string;
1253
- /** @description User's Lightning invoice to receive payment */
1254
- client_lightning_invoice: string;
1255
- /** Format: date-time */
1256
- created_at: string;
1257
- /** Format: int64 */
1258
- evm_chain_id: number;
1259
- evm_claim_txid?: string | null;
1260
- /** Format: int64 */
1261
- evm_expected_sats: number;
1262
- evm_fund_txid?: string | null;
1263
- evm_htlc_address: string;
1264
- /** Format: int64 */
1265
- evm_refund_locktime: number;
1266
- /** Format: int64 */
1267
- fee_sats: number;
1268
- hash_lock: string;
1269
- id: string;
1270
- /** @description Whether the Lightning payment has been made */
1271
- lightning_paid: boolean;
1272
- network: string;
1273
- receiver_pk: string;
1274
- sender_pk: string;
1275
- server_evm_address: string;
1276
- /** Format: int64 */
1277
- source_amount: number;
1278
- source_token: components["schemas"]["TokenInfo"];
1279
- status: components["schemas"]["SwapStatus"];
1280
- /** Format: int64 */
1281
- target_amount: number;
1282
- target_token: components["schemas"]["TokenInfo"];
1283
- /** Format: int64 */
1284
- unilateral_claim_delay: number;
1285
- /** Format: int64 */
1286
- unilateral_refund_delay: number;
1287
- /** Format: int64 */
1288
- unilateral_refund_without_receiver_delay: number;
1289
- /** Format: int64 */
1290
- vhtlc_refund_locktime: number;
1291
- };
1292
- EvmTokenInfo: {
1293
- address: string;
1294
- /** Format: int32 */
1295
- decimals: number;
1296
- logo_uri?: string | null;
1297
- name: string;
1298
- symbol: string;
1299
- };
1300
- EvmTokensResponse: {
1301
- /** @description chain_id -> tokens */
1302
- chains: {
1303
- [key: string]: components["schemas"]["EvmTokenInfo"][];
1304
- };
1305
- };
1306
- GetSwapResponse: (components["schemas"]["BtcToArkadeSwapResponse"] & {
1307
- /** @enum {string} */
1308
- direction: "btc_to_arkade";
1309
- }) | (components["schemas"]["BitcoinToEvmSwapResponse"] & {
1310
- /** @enum {string} */
1311
- direction: "bitcoin_to_evm";
1312
- }) | (components["schemas"]["ArkadeToEvmSwapResponse"] & {
1313
- /** @enum {string} */
1314
- direction: "arkade_to_evm";
1315
- }) | (components["schemas"]["EvmToArkadeSwapResponse"] & {
1316
- /** @enum {string} */
1317
- direction: "evm_to_arkade";
1318
- }) | (components["schemas"]["EvmToBitcoinSwapResponse"] & {
1319
- /** @enum {string} */
1320
- direction: "evm_to_bitcoin";
1321
- }) | (components["schemas"]["LightningToEvmSwapResponse"] & {
1322
- /** @enum {string} */
1323
- direction: "lightning_to_evm";
1324
- }) | (components["schemas"]["EvmToLightningSwapResponse"] & {
1325
- /** @enum {string} */
1326
- direction: "evm_to_lightning";
1327
- });
1328
- /**
1329
- * @description Chain-agnostic request for Lightning-to-EVM swaps.
1330
- *
1331
- * The caller specifies the target chain via `evm_chain_id` and the token
1332
- * via its ERC-20 contract `token_address`. This endpoint supports any token
1333
- * reachable through 1inch aggregation.
1334
- */
1335
- LightningToEvmSwapRequest: {
1336
- /**
1337
- * Format: int64
1338
- * @description How many sats the user wants to send (mutually exclusive with `amount_out`).
1339
- * Value is in satoshis (smallest BTC unit).
1340
- */
1341
- amount_in?: number | null;
1342
- /**
1343
- * Format: int64
1344
- * @description How much target token the user wants to receive (mutually exclusive with `amount_in`).
1345
- * Value is in the target token's smallest unit (e.g. for USDC with 6 decimals, 1000000 = 1
1346
- * USDC).
1347
- */
1348
- amount_out?: number | null;
1349
- /** @description EVM address that will sign the HTLC claim (SDK-derived for gasless claims). */
1350
- claiming_address: string;
1351
- /**
1352
- * Format: int64
1353
- * @description Numeric EVM chain ID: 1 (Ethereum), 137 (Polygon), 42161 (Arbitrum).
1354
- */
1355
- evm_chain_id: number;
1356
- /**
1357
- * @description Whether the server should execute the DEX swap on behalf of the user (gasless claim).
1358
- * When true, the gasless network fee is added to the total fee charged.
1359
- * Defaults to true.
1360
- */
1361
- gasless?: boolean;
1362
- /** @description Hash lock provided by the client (32-byte hex string with 0x prefix). */
1363
- hash_lock: string;
1364
- /** @description Optional referral code for tracking. */
1365
- referral_code?: string | null;
1366
- /** @description Refund public key used to generate the Arkade VHTLC. */
1367
- refund_pk: string;
1368
- /** @description EVM address where tokens are swept after the claim (user's final destination). */
1369
- target_address: string;
1370
- /** @description ERC-20 contract address of the desired token on the target chain. */
1371
- token_address: string;
1372
- /** @description User ID derived from wallet for recovery purposes. */
1373
- user_id: string;
1374
- };
1375
- /** @description Lightning → EVM swap response */
1376
- LightningToEvmSwapResponse: {
1377
- arkade_server_pk: string;
1378
- /** @description Lightning invoice to pay */
1379
- boltz_invoice: string;
1380
- /** @description Boltz swap ID */
1381
- boltz_swap_id: string;
1382
- /** @description Server's claim transaction ID on Arkade (Boltz VHTLC claim) */
1383
- btc_claim_txid?: string | null;
1384
- chain: string;
1385
- /** @description EVM address that will sign the HTLC claim */
1386
- client_evm_address: string;
1387
- /** Format: date-time */
1388
- created_at: string;
1389
- /** Format: int64 */
1390
- evm_chain_id: number;
1391
- evm_claim_txid?: string | null;
1392
- evm_coordinator_address: string;
1393
- /** Format: int64 */
1394
- evm_expected_sats: number;
1395
- evm_fund_txid?: string | null;
1396
- evm_htlc_address: string;
1397
- /** Format: int64 */
1398
- evm_refund_locktime: number;
1399
- /** Format: int64 */
1400
- fee_sats: number;
1401
- hash_lock: string;
1402
- id: string;
1403
- network: string;
1404
- receiver_pk: string;
1405
- sender_pk: string;
1406
- server_evm_address: string;
1407
- /** Format: int64 */
1408
- source_amount: number;
1409
- source_token: components["schemas"]["TokenInfo"];
1410
- status: components["schemas"]["SwapStatus"];
1411
- /** Format: int64 */
1412
- target_amount: number;
1413
- /** @description EVM address where tokens are swept after the claim */
1414
- target_evm_address?: string | null;
1415
- target_token: components["schemas"]["TokenInfo"];
1416
- /** Format: int64 */
1417
- unilateral_claim_delay: number;
1418
- /** Format: int64 */
1419
- unilateral_refund_delay: number;
1420
- /** Format: int64 */
1421
- unilateral_refund_without_receiver_delay: number;
1422
- /** Format: int64 */
1423
- vhtlc_refund_locktime: number;
1424
- /** @description WBTC token contract address on the target EVM chain */
1425
- wbtc_address: string;
1426
- };
1427
- MtpResponse: {
1428
- /**
1429
- * Format: int64
1430
- * @description The Median Time Past (Unix timestamp in seconds).
1431
- */
1432
- mtp: number;
1433
- /**
1434
- * Format: int64
1435
- * @description The tip block height when MTP was last calculated.
1436
- */
1437
- tip_height: number;
1438
- };
1439
- PriceTiers: {
1440
- /**
1441
- * Format: double
1442
- * @description Price per BTC when swapping 1 unit of the quote asset
1443
- */
1444
- tier_1: number;
1445
- /**
1446
- * Format: double
1447
- * @description Price per BTC when swapping 100 units of the quote asset
1448
- */
1449
- tier_100: number;
1450
- /**
1451
- * Format: double
1452
- * @description Price per BTC when swapping 1,000 units of the quote asset
1453
- */
1454
- tier_1000: number;
1455
- /**
1456
- * Format: double
1457
- * @description Price per BTC when swapping 5,000 units of the quote asset
1458
- */
1459
- tier_5000: number;
1460
- };
1461
- /** @description WebSocket message containing tiered prices for all trading pairs */
1462
- PriceUpdateMessage: {
1463
- /** @description List of trading pairs with their tiered prices */
1464
- pairs: components["schemas"]["TradingPairPrices"][];
1465
- /**
1466
- * Format: int64
1467
- * @description Unix timestamp in seconds
1468
- */
1469
- timestamp: number;
1470
- };
1471
- QuoteResponse: {
1472
- /** @description Exchange rate: how much of the EVM token you get/pay per BTC */
1473
- exchange_rate: string;
1474
- /**
1475
- * Format: int64
1476
- * @description Gasless network fee estimate (in satoshis) — covers the additional gas
1477
- * the server pays to execute the DEX swap on behalf of the user
1478
- * (redeemAndExecute via the coordinator contract).
1479
- */
1480
- gasless_network_fee: number;
1481
- /**
1482
- * Format: int64
1483
- * @description Maximum swap amount in satoshis (lesser of: config max or 90% of available balance)
1484
- */
1485
- max_amount: number;
1486
- /**
1487
- * Format: int64
1488
- * @description Minimum swap amount in satoshis (from config)
1489
- */
1490
- min_amount: number;
1491
- /**
1492
- * Format: int64
1493
- * @description Network fee estimate (in satoshis) — covers server-paid gas for HTLC
1494
- * create/claim + BTC mining fee when applicable.
1495
- */
1496
- network_fee: number;
1497
- /**
1498
- * Format: int64
1499
- * @description Protocol fee (in satoshis)
1500
- */
1501
- protocol_fee: number;
1502
- /**
1503
- * Format: double
1504
- * @description Protocol fee rate (as decimal, e.g., 0.0025 = 0.25%)
1505
- */
1506
- protocol_fee_rate: number;
1507
- /**
1508
- * Format: int64
1509
- * @description Pre-calculated source amount in smallest unit of source token
1510
- */
1511
- source_amount: number;
1512
- /**
1513
- * Format: int64
1514
- * @description Pre-calculated target amount in smallest unit of target token
1515
- */
1516
- target_amount: number;
1517
- };
1518
- RecoveredSwap: components["schemas"]["GetSwapResponse"] & {
1519
- /**
1520
- * Format: int32
1521
- * @description The derivation index used for this swap
1522
- */
1523
- index: number;
1524
- };
1525
- RecoveryRequest: {
1526
- /**
1527
- * @description Extended public key derived from the user's wallet.
1528
- *
1529
- * Used to derive `user_id`s for that user.
1530
- */
1531
- xpub: string;
1532
- };
1533
- RecoveryResponse: {
1534
- /**
1535
- * Format: int32
1536
- * @description The highest index used in any recovered swap.
1537
- *
1538
- * Client should set their next derivation index to this + 1.
1539
- */
1540
- highest_index: number;
1541
- /** @description List of recovered swaps with their derivation indices */
1542
- swaps: components["schemas"]["RecoveredSwap"][];
1543
- };
1544
- /** @description Response containing fresh DEX calldata and the gasless fee that will be deducted at claim time. */
1545
- RedeemAndSwapResponse: {
1546
- /** @description DEX swap calldata from 1inch */
1547
- dex_calldata: components["schemas"]["DexCallData"];
1548
- /**
1549
- * Format: int64
1550
- * @description Gasless fee in WBTC sats, estimated at calldata-fetch time.
1551
- * The claim endpoint will deduct this from the HTLC amount via a WBTC transfer.
1552
- */
1553
- gasless_fee_sats: number;
1554
- };
1555
- /** @description Response containing refund calldata for an EVM-to-Arkade swap. */
1556
- RefundCalldataResponse: {
1557
- /** @description ABI-encoded calldata for the refund call on the coordinator */
1558
- calldata: string;
1559
- /** @description The HTLCCoordinator contract address */
1560
- coordinator_address: string;
1561
- };
1562
- SettleDelegateRequest: {
1563
- /** @description Hex-encoded compressed cosigner public key (must match our static key). */
1564
- cosigner_pk: string;
1565
- /** @description List of base64-encoded partial forfeit PSBTs (signed with SIGHASH_ALL|ANYONECANPAY). */
1566
- forfeit_psbts: string[];
1567
- /** @description JSON-encoded IntentMessage. */
1568
- intent_message: string;
1569
- /** @description Base64-encoded intent proof PSBT (signed by the VTXO owner). */
1570
- intent_proof: string;
1571
- /** @description Optional hex-encoded preimage (the HTLC secret). Required together with `swap_id`. */
1572
- preimage?: string | null;
1573
- /**
1574
- * @description Optional swap ID. When provided alongside `preimage`, the backend marks the
1575
- * swap as ClientRedeemed so the EVM claimer can proceed.
1576
- */
1577
- swap_id?: string | null;
1578
- };
1579
- SettleDelegateResponse: {
1580
- /** @description Commitment transaction ID from the batch settlement. */
1581
- commitment_txid: string;
1582
- };
1583
- /** @description Common fields shared across all swap directions */
1584
- SwapCommonFields: {
1585
- /**
1586
- * Format: double
1587
- * @description For evm-btc swaps, this is the source asset amount, for btc-evm swaps, this is the target
1588
- * asset amount Deprecated
1589
- */
1590
- asset_amount: number;
1591
- /**
1592
- * Format: date-time
1593
- * @description Timestamp of when the swap was created
1594
- */
1595
- created_at: string;
1596
- /**
1597
- * Format: int32
1598
- * @description Timestamp past which refund is permitted on the EVM chain
1599
- */
1600
- evm_refund_locktime: number;
1601
- /**
1602
- * Format: int64
1603
- * @description Protocol fee amount in satoshis
1604
- */
1605
- fee_sats: number;
1606
- /** @description Hash lock for the HTLC (32-byte hex string with 0x prefix) */
1607
- hash_lock: string;
1608
- /** @description Unique swap identifier */
1609
- id: string;
1610
- /** @description Bitcoin network (e.g., "signet", "mainnet") */
1611
- network: string;
1612
- /** @description Lendaswap's public key */
1613
- receiver_pk: string;
1614
- /** @description Client's public key (refund_pk or claim_pk) */
1615
- sender_pk: string;
1616
- /** @description Arkade server's public key */
1617
- server_pk: string;
1618
- /** @description Token being sent (source) */
1619
- source_token: components["schemas"]["TokenId"];
1620
- /** @description Current status of the swap */
1621
- status: components["schemas"]["SwapStatus"];
1622
- /** @description Token being received (target) */
1623
- target_token: components["schemas"]["TokenId"];
1624
- /**
1625
- * Format: int64
1626
- * @description Relative timelock for claim in seconds
1627
- */
1628
- unilateral_claim_delay: number;
1629
- /**
1630
- * Format: int64
1631
- * @description Relative timelock for refund in seconds
1632
- */
1633
- unilateral_refund_delay: number;
1634
- /**
1635
- * Format: int64
1636
- * @description Relative timelock for refund without receiver in seconds
1637
- */
1638
- unilateral_refund_without_receiver_delay: number;
1639
- /**
1640
- * Format: int32
1641
- * @description Timestamp past which refund is permitted on Arkade
1642
- */
1643
- vhtlc_refund_locktime: number;
1644
- };
1645
- /**
1646
- * @description Atomic swap state machine for BTC --> Target Asset swaps using HTLCs.
1647
- *
1648
- * # Overview
1649
- *
1650
- * This enum tracks the state of an atomic swap between Bitcoin (via Lightning/Arkade)
1651
- * and Target Asset (on Polygon, Ethereum, etc). The swap uses Hash Time-Locked Contracts (HTLCs)
1652
- * to ensure atomicity without requiring trust.
1653
- *
1654
- * # Normal Flow
1655
- *
1656
- * ```text
1657
- * Pending → ClientFunded → ServerFunded → ClientRedeemed → ServerRedeemed
1658
- * ```
1659
- *
1660
- * 1. Client creates swap request → `Pending`
1661
- * 2. Client sends BTC → `ClientFunded`
1662
- * 3. Server locks WBTC in Polygon HTLC → `ServerFunded`
1663
- * 4. Client reveals secret to claim Target Asset → `ClientRedeemed`
1664
- * 5. Server uses secret to claim BTC → `ServerRedeemed` (terminal)
1665
- *
1666
- * # Refund Flows
1667
- *
1668
- * ```text
1669
- * Pending → Expired (no funding)
1670
- * ClientFunded → ClientRefunded (client refunds before server funds)
1671
- * ServerFunded → ClientFundedServerRefunded (HTLC timeout)
1672
- * ```
1673
- *
1674
- * # State Diagram
1675
- *
1676
- * See `swap_states.md` for a complete state diagram and detailed documentation.
1677
- *
1678
- * # Security
1679
- *
1680
- * - Bitcoin HTLC timeout must be longer than Polygon HTLC timeout
1681
- * - Secret becomes public when client claims TargetAsset on Polygon
1682
- * - `ClientRefundedServerFunded` is an error state that should never occur
1683
- * @enum {string}
1684
- */
1685
- SwapStatus: "pending" | "clientfundingseen" | "clientfunded" | "clientrefunded" | "serverfunded" | "clientredeeming" | "clientredeemed" | "serverredeemed" | "clientfundedserverrefunded" | "clientrefundedserverfunded" | "clientrefundedserverrefunded" | "expired" | "clientinvalidfunded" | "clientfundedtoolate" | "clientredeemedandclientrefunded";
1686
- /** @description Token identifier. Known values: btc, 0x123456 */
1687
- TokenId: "btc" | string;
1688
- TokenInfo: {
1689
- chain: components["schemas"]["Chain"];
1690
- /** Format: int32 */
1691
- decimals: number;
1692
- name: string;
1693
- symbol: string;
1694
- token_id: components["schemas"]["TokenId"];
1695
- };
1696
- TokenInfos: {
1697
- btc_tokens: components["schemas"]["TokenInfo"][];
1698
- evm_tokens: components["schemas"]["TokenInfo"][];
1699
- };
1700
- TradingPairPrices: {
1701
- /**
1702
- * @description Trading pair identifier (e.g., "USDC_POL-BTC" or "USDT0_POL-BTC")
1703
- * kept for backwards compatibility, equals [`source`]-[`target`]
1704
- */
1705
- pair: string;
1706
- source: components["schemas"]["TokenId"];
1707
- target: components["schemas"]["TokenId"];
1708
- /** @description Price tiers for different swap amounts */
1709
- tiers: components["schemas"]["PriceTiers"];
1710
- };
1711
- Version: {
1712
- commit_hash: string;
1713
- tag: string;
1714
- };
1715
- VtxoSwapResponse: {
1716
- arkade_server_pk: string;
1717
- /** Format: int64 */
1718
- client_fund_amount_sats: number;
1719
- /** Format: int64 */
1720
- client_locktime: number;
1721
- client_pk: string;
1722
- /** Format: int64 */
1723
- client_unilateral_claim_delay: number;
1724
- /** Format: int64 */
1725
- client_unilateral_refund_delay: number;
1726
- /** Format: int64 */
1727
- client_unilateral_refund_without_receiver_delay: number;
1728
- client_vhtlc_address: string;
1729
- /**
1730
- * Format: date-time
1731
- * @description Creation timestamp
1732
- */
1733
- created_at: string;
1734
- /** Format: int64 */
1735
- fee_sats: number;
1736
- /**
1737
- * Format: uuid
1738
- * @description Swap ID
1739
- */
1740
- id: string;
1741
- network: string;
1742
- preimage_hash: string;
1743
- /** Format: int64 */
1744
- server_fund_amount_sats: number;
1745
- /** Format: int64 */
1746
- server_locktime: number;
1747
- server_pk: string;
1748
- /** Format: int64 */
1749
- server_unilateral_claim_delay: number;
1750
- /** Format: int64 */
1751
- server_unilateral_refund_delay: number;
1752
- /** Format: int64 */
1753
- server_unilateral_refund_without_receiver_delay: number;
1754
- server_vhtlc_address: string;
1755
- /** @description Swap status */
1756
- status: components["schemas"]["VtxoSwapStatus"];
1757
- };
1758
- /**
1759
- * @description VTXO Swap state machine for BTC-to-BTC (Arkade refresh) swaps.
1760
- *
1761
- * # Overview
1762
- *
1763
- * This enum tracks the state of a VTXO refresh swap where users exchange
1764
- * old VTXOs for new ones with refreshed expiry times.
1765
- *
1766
- * # Normal Flow
1767
- *
1768
- * ```text
1769
- * Pending -> ClientFunded -> ServerFunded -> ClientRedeemed -> ServerRedeemed
1770
- * ```
1771
- *
1772
- * 1. Swap created -> `Pending`
1773
- * 2. Client funds their VHTLC -> `ClientFunded`
1774
- * 3. Server funds their VHTLC -> `ServerFunded`
1775
- * 4. Client claims server's VHTLC (reveals preimage) -> `ClientRedeemed`
1776
- * 5. Server claims client's VHTLC -> `ServerRedeemed` (terminal)
1777
- *
1778
- * # Refund Flows
1779
- *
1780
- * ```text
1781
- * Pending -> Expired (no funding)
1782
- * ClientFunded -> ClientRefunded (server didn't fund in time)
1783
- * ServerFunded -> ClientFundedServerRefunded (client didn't claim in time)
1784
- * ```
1785
- * @enum {string}
1786
- */
1787
- VtxoSwapStatus: "pending" | "clientfunded" | "serverfunded" | "clientredeemed" | "serverredeemed" | "clientrefunded" | "clientfundedserverrefunded" | "expired";
1788
- };
1789
- responses: never;
1790
- parameters: never;
1791
- requestBodies: never;
1792
- headers: never;
1793
- pathItems: never;
1794
- }
1795
- export type $defs = Record<string, never>;
1796
- export interface operations {
1797
- get_cosigner_pk: {
1798
- parameters: {
1799
- query?: never;
1800
- header?: never;
1801
- path?: never;
1802
- cookie?: never;
1803
- };
1804
- requestBody?: never;
1805
- responses: {
1806
- /** @description Cosigner public key */
1807
- 200: {
1808
- headers: {
1809
- [name: string]: unknown;
1810
- };
1811
- content: {
1812
- "application/json": components["schemas"]["CosignerPkResponse"];
1813
- };
1814
- };
1815
- /** @description Internal error */
1816
- 500: {
1817
- headers: {
1818
- [name: string]: unknown;
1819
- };
1820
- content: {
1821
- "application/json": components["schemas"]["ErrorResponse"];
1822
- };
1823
- };
1824
- };
1825
- };
1826
- settle_delegate: {
1827
- parameters: {
1828
- query?: never;
1829
- header?: never;
1830
- path?: never;
1831
- cookie?: never;
1832
- };
1833
- requestBody: {
1834
- content: {
1835
- "application/json": components["schemas"]["SettleDelegateRequest"];
1836
- };
1837
- };
1838
- responses: {
1839
- /** @description Settlement completed */
1840
- 200: {
1841
- headers: {
1842
- [name: string]: unknown;
1843
- };
1844
- content: {
1845
- "application/json": components["schemas"]["SettleDelegateResponse"];
1846
- };
1847
- };
1848
- /** @description Bad request */
1849
- 400: {
1850
- headers: {
1851
- [name: string]: unknown;
1852
- };
1853
- content: {
1854
- "application/json": components["schemas"]["ErrorResponse"];
1855
- };
1856
- };
1857
- /** @description Internal error */
1858
- 500: {
1859
- headers: {
1860
- [name: string]: unknown;
1861
- };
1862
- content: {
1863
- "application/json": components["schemas"]["ErrorResponse"];
1864
- };
1865
- };
1866
- };
1867
- };
1868
- create_vtxo_swap: {
1869
- parameters: {
1870
- query?: never;
1871
- header?: never;
1872
- path?: never;
1873
- cookie?: never;
1874
- };
1875
- requestBody: {
1876
- content: {
1877
- "application/json": components["schemas"]["CreateVtxoSwapRequest"];
1878
- };
1879
- };
1880
- responses: {
1881
- /** @description Swap created */
1882
- 200: {
1883
- headers: {
1884
- [name: string]: unknown;
1885
- };
1886
- content: {
1887
- "application/json": components["schemas"]["VtxoSwapResponse"];
1888
- };
1889
- };
1890
- /** @description Bad request */
1891
- 400: {
1892
- headers: {
1893
- [name: string]: unknown;
1894
- };
1895
- content: {
1896
- "application/json": components["schemas"]["ErrorResponse"];
1897
- };
1898
- };
1899
- /** @description Internal error */
1900
- 500: {
1901
- headers: {
1902
- [name: string]: unknown;
1903
- };
1904
- content: {
1905
- "application/json": components["schemas"]["ErrorResponse"];
1906
- };
1907
- };
1908
- };
1909
- };
1910
- estimate_vtxo_swap: {
1911
- parameters: {
1912
- query?: never;
1913
- header?: never;
1914
- path?: never;
1915
- cookie?: never;
1916
- };
1917
- requestBody: {
1918
- content: {
1919
- "application/json": components["schemas"]["EstimateVtxoSwapRequest"];
1920
- };
1921
- };
1922
- responses: {
1923
- /** @description Estimate calculated */
1924
- 200: {
1925
- headers: {
1926
- [name: string]: unknown;
1927
- };
1928
- content: {
1929
- "application/json": components["schemas"]["EstimateVtxoSwapResponse"];
1930
- };
1931
- };
1932
- /** @description Bad request */
1933
- 400: {
1934
- headers: {
1935
- [name: string]: unknown;
1936
- };
1937
- content: {
1938
- "application/json": components["schemas"]["ErrorResponse"];
1939
- };
1940
- };
1941
- /** @description Internal error */
1942
- 500: {
1943
- headers: {
1944
- [name: string]: unknown;
1945
- };
1946
- content: {
1947
- "application/json": components["schemas"]["ErrorResponse"];
1948
- };
1949
- };
1950
- };
1951
- };
1952
- get_vtxo_swap: {
1953
- parameters: {
1954
- query?: never;
1955
- header?: never;
1956
- path: {
1957
- /** @description Swap ID */
1958
- id: string;
1959
- };
1960
- cookie?: never;
1961
- };
1962
- requestBody?: never;
1963
- responses: {
1964
- /** @description Swap found */
1965
- 200: {
1966
- headers: {
1967
- [name: string]: unknown;
1968
- };
1969
- content: {
1970
- "application/json": components["schemas"]["VtxoSwapResponse"];
1971
- };
1972
- };
1973
- /** @description Swap not found */
1974
- 404: {
1975
- headers: {
1976
- [name: string]: unknown;
1977
- };
1978
- content: {
1979
- "application/json": components["schemas"]["ErrorResponse"];
1980
- };
1981
- };
1982
- /** @description Internal error */
1983
- 500: {
1984
- headers: {
1985
- [name: string]: unknown;
1986
- };
1987
- content: {
1988
- "application/json": components["schemas"]["ErrorResponse"];
1989
- };
1990
- };
1991
- };
1992
- };
1993
- get_evm_tokens: {
1994
- parameters: {
1995
- query?: {
1996
- /** @description Filter by EVM chain ID (1=Ethereum, 137=Polygon, 42161=Arbitrum). Omit for all chains. */
1997
- chain_id?: number;
1998
- };
1999
- header?: never;
2000
- path?: never;
2001
- cookie?: never;
2002
- };
2003
- requestBody?: never;
2004
- responses: {
2005
- /** @description EVM tokens grouped by chain ID */
2006
- 200: {
2007
- headers: {
2008
- [name: string]: unknown;
2009
- };
2010
- content: {
2011
- "application/json": components["schemas"]["EvmTokensResponse"];
2012
- };
2013
- };
2014
- /** @description Invalid chain ID */
2015
- 400: {
2016
- headers: {
2017
- [name: string]: unknown;
2018
- };
2019
- content: {
2020
- "application/json": components["schemas"]["ErrorResponse"];
2021
- };
2022
- };
2023
- };
2024
- };
2025
- get_evm_chains: {
2026
- parameters: {
2027
- query?: never;
2028
- header?: never;
2029
- path?: never;
2030
- cookie?: never;
2031
- };
2032
- requestBody?: never;
2033
- responses: {
2034
- /** @description List of supported EVM chains */
2035
- 200: {
2036
- headers: {
2037
- [name: string]: unknown;
2038
- };
2039
- content: {
2040
- "application/json": components["schemas"]["EvmChainsResponse"];
2041
- };
2042
- };
2043
- };
2044
- };
2045
- health_check: {
2046
- parameters: {
2047
- query?: never;
2048
- header?: never;
2049
- path?: never;
2050
- cookie?: never;
2051
- };
2052
- requestBody?: never;
2053
- responses: {
2054
- /** @description Service is healthy */
2055
- 200: {
2056
- headers: {
2057
- [name: string]: unknown;
2058
- };
2059
- content: {
2060
- "text/plain": string;
2061
- };
2062
- };
2063
- };
2064
- };
2065
- get_mtp: {
2066
- parameters: {
2067
- query?: never;
2068
- header?: never;
2069
- path?: never;
2070
- cookie?: never;
2071
- };
2072
- requestBody?: never;
2073
- responses: {
2074
- /** @description Return the current MTP and tip height */
2075
- 200: {
2076
- headers: {
2077
- [name: string]: unknown;
2078
- };
2079
- content: {
2080
- "application/json": components["schemas"]["MtpResponse"];
2081
- };
2082
- };
2083
- /** @description MTP not available yet (cache not populated) */
2084
- 503: {
2085
- headers: {
2086
- [name: string]: unknown;
2087
- };
2088
- content?: never;
2089
- };
2090
- };
2091
- };
2092
- get_quote: {
2093
- parameters: {
2094
- query: {
2095
- /**
2096
- * @description Source blockchain (e.g., "Arkade", "Lightning", "Bitcoin", "Polygon", "Ethereum",
2097
- * "Arbitrum")
2098
- */
2099
- source_chain: components["schemas"]["Chain"];
2100
- /** @description Source token: contract address for EVM tokens, or "btc" for BTC */
2101
- source_token: string;
2102
- /** @description Target blockchain */
2103
- target_chain: components["schemas"]["Chain"];
2104
- /** @description Target token: contract address for EVM tokens, or "btc" for BTC */
2105
- target_token: string;
2106
- /** @description Amount in smallest unit of source token (mutually exclusive with target_amount) */
2107
- source_amount?: number | null;
2108
- /** @description Amount in smallest unit of target token (mutually exclusive with source_amount) */
2109
- target_amount?: number | null;
2110
- };
2111
- header?: never;
2112
- path?: never;
2113
- cookie?: never;
2114
- };
2115
- requestBody?: never;
2116
- responses: {
2117
- /** @description Return a quote for swapping BTC to/from EVM tokens */
2118
- 200: {
2119
- headers: {
2120
- [name: string]: unknown;
2121
- };
2122
- content: {
2123
- "application/json": components["schemas"]["QuoteResponse"];
2124
- };
2125
- };
2126
- /** @description Bad request - invalid parameters */
2127
- 400: {
2128
- headers: {
2129
- [name: string]: unknown;
2130
- };
2131
- content: {
2132
- "application/json": components["schemas"]["ErrorResponse"];
2133
- };
2134
- };
2135
- };
2136
- };
2137
- create_arkade_evm_swap: {
2138
- parameters: {
2139
- query?: never;
2140
- header?: never;
2141
- path?: never;
2142
- cookie?: never;
2143
- };
2144
- requestBody: {
2145
- content: {
2146
- "application/json": components["schemas"]["ArkadeToEvmSwapRequest"];
2147
- };
2148
- };
2149
- responses: {
2150
- /** @description Swap created successfully */
2151
- 200: {
2152
- headers: {
2153
- [name: string]: unknown;
2154
- };
2155
- content: {
2156
- "application/json": components["schemas"]["ArkadeToEvmSwapResponse"];
2157
- };
2158
- };
2159
- /** @description Bad request - invalid parameters */
2160
- 400: {
2161
- headers: {
2162
- [name: string]: unknown;
2163
- };
2164
- content: {
2165
- "application/json": components["schemas"]["ErrorResponse"];
2166
- };
2167
- };
2168
- /** @description Internal server error */
2169
- 500: {
2170
- headers: {
2171
- [name: string]: unknown;
2172
- };
2173
- content: {
2174
- "application/json": components["schemas"]["ErrorResponse"];
2175
- };
2176
- };
2177
- };
2178
- };
2179
- bitcoin_to_arkade_swap: {
2180
- parameters: {
2181
- query?: never;
2182
- header?: never;
2183
- path?: never;
2184
- cookie?: never;
2185
- };
2186
- requestBody: {
2187
- content: {
2188
- "application/json": components["schemas"]["BitcoinToArkadeSwapRequest"];
2189
- };
2190
- };
2191
- responses: {
2192
- /** @description Swap created successfully */
2193
- 200: {
2194
- headers: {
2195
- [name: string]: unknown;
2196
- };
2197
- content: {
2198
- "application/json": components["schemas"]["BtcToArkadeSwapResponse"];
2199
- };
2200
- };
2201
- /** @description Bad request - invalid parameters */
2202
- 400: {
2203
- headers: {
2204
- [name: string]: unknown;
2205
- };
2206
- content: {
2207
- "application/json": components["schemas"]["ErrorResponse"];
2208
- };
2209
- };
2210
- /** @description Internal server error */
2211
- 500: {
2212
- headers: {
2213
- [name: string]: unknown;
2214
- };
2215
- content: {
2216
- "application/json": components["schemas"]["ErrorResponse"];
2217
- };
2218
- };
2219
- };
2220
- };
2221
- create_bitcoin_evm_swap: {
2222
- parameters: {
2223
- query?: never;
2224
- header?: never;
2225
- path?: never;
2226
- cookie?: never;
2227
- };
2228
- requestBody: {
2229
- content: {
2230
- "application/json": components["schemas"]["BitcoinToEvmSwapRequest"];
2231
- };
2232
- };
2233
- responses: {
2234
- /** @description Swap created successfully */
2235
- 200: {
2236
- headers: {
2237
- [name: string]: unknown;
2238
- };
2239
- content: {
2240
- "application/json": components["schemas"]["BitcoinToEvmSwapResponse"];
2241
- };
2242
- };
2243
- /** @description Bad request - invalid parameters */
2244
- 400: {
2245
- headers: {
2246
- [name: string]: unknown;
2247
- };
2248
- content: {
2249
- "application/json": components["schemas"]["ErrorResponse"];
2250
- };
2251
- };
2252
- /** @description Internal server error */
2253
- 500: {
2254
- headers: {
2255
- [name: string]: unknown;
2256
- };
2257
- content: {
2258
- "application/json": components["schemas"]["ErrorResponse"];
2259
- };
2260
- };
2261
- };
2262
- };
2263
- create_evm_to_arkade_swap_generic: {
2264
- parameters: {
2265
- query?: never;
2266
- header?: never;
2267
- path?: never;
2268
- cookie?: never;
2269
- };
2270
- requestBody: {
2271
- content: {
2272
- "application/json": components["schemas"]["EvmToArkadeGenericSwapRequest"];
2273
- };
2274
- };
2275
- responses: {
2276
- /** @description Swap created successfully */
2277
- 200: {
2278
- headers: {
2279
- [name: string]: unknown;
2280
- };
2281
- content: {
2282
- "application/json": components["schemas"]["EvmToArkadeSwapResponse"];
2283
- };
2284
- };
2285
- /** @description Bad request - invalid parameters */
2286
- 400: {
2287
- headers: {
2288
- [name: string]: unknown;
2289
- };
2290
- content: {
2291
- "application/json": components["schemas"]["ErrorResponse"];
2292
- };
2293
- };
2294
- /** @description Internal server error */
2295
- 500: {
2296
- headers: {
2297
- [name: string]: unknown;
2298
- };
2299
- content: {
2300
- "application/json": components["schemas"]["ErrorResponse"];
2301
- };
2302
- };
2303
- };
2304
- };
2305
- create_evm_to_bitcoin_swap: {
2306
- parameters: {
2307
- query?: never;
2308
- header?: never;
2309
- path?: never;
2310
- cookie?: never;
2311
- };
2312
- requestBody: {
2313
- content: {
2314
- "application/json": components["schemas"]["EvmToBitcoinSwapRequest"];
2315
- };
2316
- };
2317
- responses: {
2318
- /** @description Swap created successfully */
2319
- 200: {
2320
- headers: {
2321
- [name: string]: unknown;
2322
- };
2323
- content: {
2324
- "application/json": components["schemas"]["EvmToBitcoinSwapResponse"];
2325
- };
2326
- };
2327
- /** @description Bad request - invalid parameters */
2328
- 400: {
2329
- headers: {
2330
- [name: string]: unknown;
2331
- };
2332
- content: {
2333
- "application/json": components["schemas"]["ErrorResponse"];
2334
- };
2335
- };
2336
- /** @description Internal server error */
2337
- 500: {
2338
- headers: {
2339
- [name: string]: unknown;
2340
- };
2341
- content: {
2342
- "application/json": components["schemas"]["ErrorResponse"];
2343
- };
2344
- };
2345
- };
2346
- };
2347
- create_evm_to_lightning_swap_generic: {
2348
- parameters: {
2349
- query?: never;
2350
- header?: never;
2351
- path?: never;
2352
- cookie?: never;
2353
- };
2354
- requestBody: {
2355
- content: {
2356
- "application/json": components["schemas"]["EvmToLightningSwapRequest"];
2357
- };
2358
- };
2359
- responses: {
2360
- /** @description Swap created successfully */
2361
- 200: {
2362
- headers: {
2363
- [name: string]: unknown;
2364
- };
2365
- content: {
2366
- "application/json": components["schemas"]["EvmToLightningSwapResponse"];
2367
- };
2368
- };
2369
- /** @description Bad request - invalid parameters */
2370
- 400: {
2371
- headers: {
2372
- [name: string]: unknown;
2373
- };
2374
- content: {
2375
- "application/json": components["schemas"]["ErrorResponse"];
2376
- };
2377
- };
2378
- /** @description Internal server error */
2379
- 500: {
2380
- headers: {
2381
- [name: string]: unknown;
2382
- };
2383
- content: {
2384
- "application/json": components["schemas"]["ErrorResponse"];
2385
- };
2386
- };
2387
- };
2388
- };
2389
- create_lightning_evm_swap: {
2390
- parameters: {
2391
- query?: never;
2392
- header?: never;
2393
- path?: never;
2394
- cookie?: never;
2395
- };
2396
- requestBody: {
2397
- content: {
2398
- "application/json": components["schemas"]["LightningToEvmSwapRequest"];
2399
- };
2400
- };
2401
- responses: {
2402
- /** @description Swap created successfully */
2403
- 200: {
2404
- headers: {
2405
- [name: string]: unknown;
2406
- };
2407
- content: {
2408
- "application/json": components["schemas"]["LightningToEvmSwapResponse"];
2409
- };
2410
- };
2411
- /** @description Bad request - invalid parameters */
2412
- 400: {
2413
- headers: {
2414
- [name: string]: unknown;
2415
- };
2416
- content: {
2417
- "application/json": components["schemas"]["ErrorResponse"];
2418
- };
2419
- };
2420
- /** @description Internal server error */
2421
- 500: {
2422
- headers: {
2423
- [name: string]: unknown;
2424
- };
2425
- content: {
2426
- "application/json": components["schemas"]["ErrorResponse"];
2427
- };
2428
- };
2429
- };
2430
- };
2431
- recover_swaps: {
2432
- parameters: {
2433
- query?: never;
2434
- header?: never;
2435
- path?: never;
2436
- cookie?: never;
2437
- };
2438
- requestBody: {
2439
- content: {
2440
- "application/json": components["schemas"]["RecoveryRequest"];
2441
- };
2442
- };
2443
- responses: {
2444
- /** @description Swaps recovered successfully */
2445
- 200: {
2446
- headers: {
2447
- [name: string]: unknown;
2448
- };
2449
- content: {
2450
- "application/json": components["schemas"]["RecoveryResponse"];
2451
- };
2452
- };
2453
- /** @description Bad request - invalid xpub format */
2454
- 400: {
2455
- headers: {
2456
- [name: string]: unknown;
2457
- };
2458
- content: {
2459
- "application/json": components["schemas"]["ErrorResponse"];
2460
- };
2461
- };
2462
- /** @description Internal server error */
2463
- 500: {
2464
- headers: {
2465
- [name: string]: unknown;
2466
- };
2467
- content: {
2468
- "application/json": components["schemas"]["ErrorResponse"];
2469
- };
2470
- };
2471
- };
2472
- };
2473
- get_swap: {
2474
- parameters: {
2475
- query?: never;
2476
- header?: never;
2477
- path: {
2478
- /** @description Swap ID */
2479
- id: string;
2480
- };
2481
- cookie?: never;
2482
- };
2483
- requestBody?: never;
2484
- responses: {
2485
- /** @description Swap found successfully */
2486
- 200: {
2487
- headers: {
2488
- [name: string]: unknown;
2489
- };
2490
- content: {
2491
- "application/json": components["schemas"]["GetSwapResponse"];
2492
- };
2493
- };
2494
- /** @description Bad request - swap not found */
2495
- 400: {
2496
- headers: {
2497
- [name: string]: unknown;
2498
- };
2499
- content: {
2500
- "application/json": components["schemas"]["ErrorResponse"];
2501
- };
2502
- };
2503
- /** @description Internal server error */
2504
- 500: {
2505
- headers: {
2506
- [name: string]: unknown;
2507
- };
2508
- content: {
2509
- "application/json": components["schemas"]["ErrorResponse"];
2510
- };
2511
- };
2512
- };
2513
- };
2514
- claim_via_gasless: {
2515
- parameters: {
2516
- query?: never;
2517
- header?: never;
2518
- path: {
2519
- /** @description Swap ID */
2520
- id: string;
2521
- };
2522
- cookie?: never;
2523
- };
2524
- requestBody: {
2525
- content: {
2526
- "application/json": components["schemas"]["ClaimGaslessRequest"];
2527
- };
2528
- };
2529
- responses: {
2530
- /** @description Swap claimed successfully via gasless execution */
2531
- 200: {
2532
- headers: {
2533
- [name: string]: unknown;
2534
- };
2535
- content: {
2536
- "application/json": components["schemas"]["ClaimGaslessResponse"];
2537
- };
2538
- };
2539
- /** @description Bad request - swap not found or in wrong state */
2540
- 400: {
2541
- headers: {
2542
- [name: string]: unknown;
2543
- };
2544
- content: {
2545
- "application/json": components["schemas"]["ErrorResponse"];
2546
- };
2547
- };
2548
- /** @description Internal server error */
2549
- 500: {
2550
- headers: {
2551
- [name: string]: unknown;
2552
- };
2553
- content: {
2554
- "application/json": components["schemas"]["ErrorResponse"];
2555
- };
2556
- };
2557
- };
2558
- };
2559
- get_dex_calldata: {
2560
- parameters: {
2561
- query: {
2562
- /** @description EVM destination address for output tokens */
2563
- destination: string;
2564
- /** @description Slippage tolerance percentage (default: 1.0) */
2565
- slippage?: number;
2566
- };
2567
- header?: never;
2568
- path: {
2569
- /** @description Swap ID */
2570
- id: string;
2571
- };
2572
- cookie?: never;
2573
- };
2574
- requestBody?: never;
2575
- responses: {
2576
- /** @description Fresh DEX calldata with gasless fee estimate */
2577
- 200: {
2578
- headers: {
2579
- [name: string]: unknown;
2580
- };
2581
- content: {
2582
- "application/json": components["schemas"]["RedeemAndSwapResponse"];
2583
- };
2584
- };
2585
- /** @description Bad request */
2586
- 400: {
2587
- headers: {
2588
- [name: string]: unknown;
2589
- };
2590
- content: {
2591
- "application/json": components["schemas"]["ErrorResponse"];
2592
- };
2593
- };
2594
- /** @description Internal server error */
2595
- 500: {
2596
- headers: {
2597
- [name: string]: unknown;
2598
- };
2599
- content: {
2600
- "application/json": components["schemas"]["ErrorResponse"];
2601
- };
2602
- };
2603
- };
2604
- };
2605
- get_refund_calldata: {
2606
- parameters: {
2607
- query: {
2608
- /** @description Refund mode: "swap-back" (default) or "direct" */
2609
- mode: string;
2610
- };
2611
- header?: never;
2612
- path: {
2613
- /** @description Swap ID */
2614
- id: string;
2615
- };
2616
- cookie?: never;
2617
- };
2618
- requestBody?: never;
2619
- responses: {
2620
- /** @description Refund calldata */
2621
- 200: {
2622
- headers: {
2623
- [name: string]: unknown;
2624
- };
2625
- content: {
2626
- "application/json": components["schemas"]["RefundCalldataResponse"];
2627
- };
2628
- };
2629
- /** @description Bad request */
2630
- 400: {
2631
- headers: {
2632
- [name: string]: unknown;
2633
- };
2634
- content: {
2635
- "application/json": components["schemas"]["ErrorResponse"];
2636
- };
2637
- };
2638
- /** @description Internal server error */
2639
- 500: {
2640
- headers: {
2641
- [name: string]: unknown;
2642
- };
2643
- content: {
2644
- "application/json": components["schemas"]["ErrorResponse"];
2645
- };
2646
- };
2647
- };
2648
- };
2649
- get_coordinator_funding_calldata: {
2650
- parameters: {
2651
- query?: never;
2652
- header?: never;
2653
- path: {
2654
- /** @description Swap ID */
2655
- id: string;
2656
- };
2657
- cookie?: never;
2658
- };
2659
- requestBody?: never;
2660
- responses: {
2661
- /** @description Coordinator funding calldata */
2662
- 200: {
2663
- headers: {
2664
- [name: string]: unknown;
2665
- };
2666
- content: {
2667
- "text/plain": string;
2668
- };
2669
- };
2670
- /** @description Bad request */
2671
- 400: {
2672
- headers: {
2673
- [name: string]: unknown;
2674
- };
2675
- content: {
2676
- "application/json": components["schemas"]["ErrorResponse"];
2677
- };
2678
- };
2679
- /** @description Internal server error */
2680
- 500: {
2681
- headers: {
2682
- [name: string]: unknown;
2683
- };
2684
- content: {
2685
- "application/json": components["schemas"]["ErrorResponse"];
2686
- };
2687
- };
2688
- };
2689
- };
2690
- get_tokens: {
2691
- parameters: {
2692
- query?: {
2693
- /** @description If set together with `source_token`, return only valid target tokens. */
2694
- source_chain?: null | components["schemas"]["Chain"];
2695
- /** @description If set together with `target_token`, return only valid source tokens. */
2696
- target_chain?: null | components["schemas"]["Chain"];
2697
- };
2698
- header?: never;
2699
- path?: never;
2700
- cookie?: never;
2701
- };
2702
- requestBody?: never;
2703
- responses: {
2704
- /** @description Return list of available tokens for swaps */
2705
- 200: {
2706
- headers: {
2707
- [name: string]: unknown;
2708
- };
2709
- content: {
2710
- "application/json": components["schemas"]["TokenInfos"];
2711
- };
2712
- };
2713
- };
2714
- };
2715
- get_version: {
2716
- parameters: {
2717
- query?: never;
2718
- header?: never;
2719
- path?: never;
2720
- cookie?: never;
2721
- };
2722
- requestBody?: never;
2723
- responses: {
2724
- /** @description Return the deployed version and commit hash */
2725
- 200: {
2726
- headers: {
2727
- [name: string]: unknown;
2728
- };
2729
- content: {
2730
- "application/json": components["schemas"]["Version"];
2731
- };
2732
- };
2733
- };
2734
- };
2735
- }
2736
- //# sourceMappingURL=api.d.ts.map