@stridge/openapi 0.1.0

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.
@@ -0,0 +1,2658 @@
1
+ /**
2
+ * This file was auto-generated by openapi-typescript.
3
+ * Do not make direct changes to the file.
4
+ */
5
+
6
+ export interface paths {
7
+ "/uda": {
8
+ parameters: {
9
+ query?: never;
10
+ header?: never;
11
+ path?: never;
12
+ cookie?: never;
13
+ };
14
+ /**
15
+ * List UDA addresses
16
+ * @description List the Universal Deposit Addresses configured for your tenant. The tuple `(owner, network_id, to_address, asset_symbol)` uniquely identifies a UDA; pass any subset to filter. `to_address` and `asset_symbol` each require `network_id`.
17
+ */
18
+ get: operations["list-uda-addresses"];
19
+ put?: never;
20
+ /**
21
+ * Create a UDA address
22
+ * @description Allocate a new Universal Deposit Address for your tenant. If a UDA for the `(tenant, owner)` pair already exists, the existing record is returned with `200` instead of an error. `accepted_assets` is a list of asset symbols (e.g. `["USDC", "USDT"]`); if empty, the UDA accepts every asset configured on every UDA-supported chain.
23
+ */
24
+ post: operations["create-uda-address"];
25
+ delete?: never;
26
+ options?: never;
27
+ head?: never;
28
+ patch?: never;
29
+ trace?: never;
30
+ };
31
+ "/uda/quote": {
32
+ parameters: {
33
+ query?: never;
34
+ header?: never;
35
+ path?: never;
36
+ cookie?: never;
37
+ };
38
+ /**
39
+ * Get a cross-chain / cross-asset quote
40
+ * @description Return an indicative quote for routing a given amount from a source `(network, asset)` to a destination `(network, asset)`. This endpoint is public — no API key required. USD fields are omitted until a price feed is wired in.
41
+ */
42
+ get: operations["get-quote"];
43
+ put?: never;
44
+ post?: never;
45
+ delete?: never;
46
+ options?: never;
47
+ head?: never;
48
+ patch?: never;
49
+ trace?: never;
50
+ };
51
+ "/uda/supported-assets": {
52
+ parameters: {
53
+ query?: never;
54
+ header?: never;
55
+ path?: never;
56
+ cookie?: never;
57
+ };
58
+ /**
59
+ * List UDA-supported assets
60
+ * @description Return every chain with UDA support enabled, along with its native currency and configured token contracts. Rows are grouped by network. This endpoint is public — no API key required.
61
+ */
62
+ get: operations["list-supported-assets"];
63
+ put?: never;
64
+ post?: never;
65
+ delete?: never;
66
+ options?: never;
67
+ head?: never;
68
+ patch?: never;
69
+ trace?: never;
70
+ };
71
+ "/uda/{id}/settlements": {
72
+ parameters: {
73
+ query?: never;
74
+ header?: never;
75
+ path?: never;
76
+ cookie?: never;
77
+ };
78
+ /**
79
+ * List settlements for a UDA address
80
+ * @description List all settlements created for a given UDA address, optionally paginated.
81
+ */
82
+ get: operations["list-settlements-for-uda"];
83
+ put?: never;
84
+ post?: never;
85
+ delete?: never;
86
+ options?: never;
87
+ head?: never;
88
+ patch?: never;
89
+ trace?: never;
90
+ };
91
+ "/uda/settlements/{id}": {
92
+ parameters: {
93
+ query?: never;
94
+ header?: never;
95
+ path?: never;
96
+ cookie?: never;
97
+ };
98
+ /**
99
+ * Get a settlement
100
+ * @description Fetch a single settlement by id. A settlement is created per confirmed deposit on a UDA address and carries the lifecycle state, scenario, and routing transaction ids.
101
+ */
102
+ get: operations["get-settlement"];
103
+ put?: never;
104
+ post?: never;
105
+ delete?: never;
106
+ options?: never;
107
+ head?: never;
108
+ patch?: never;
109
+ trace?: never;
110
+ };
111
+ "/uda/settlements/by-reference": {
112
+ parameters: {
113
+ query?: never;
114
+ header?: never;
115
+ path?: never;
116
+ cookie?: never;
117
+ };
118
+ /**
119
+ * List settlements by reference
120
+ * @description Look up settlements by a reference you already know. The reference is currently the on-chain deposit transaction id that funded the settlement — useful when you know what you paid with but not the internal settlement id. A single deposit transaction can fund multiple settlements, so the response is always a list (empty when nothing matches).
121
+ */
122
+ get: operations["list-settlements-by-reference"];
123
+ put?: never;
124
+ post?: never;
125
+ delete?: never;
126
+ options?: never;
127
+ head?: never;
128
+ patch?: never;
129
+ trace?: never;
130
+ };
131
+ }
132
+ export type webhooks = Record<string, never>;
133
+ export interface components {
134
+ schemas: {
135
+ /** @description Canonical error envelope returned by every endpoint on failure. */
136
+ Error: {
137
+ /** @example false */
138
+ success: boolean;
139
+ /**
140
+ * @description HTTP status code echoed in the body.
141
+ * @example 400
142
+ */
143
+ code?: number;
144
+ /**
145
+ * @description Human-readable error message.
146
+ * @example invalid request
147
+ */
148
+ error: string;
149
+ };
150
+ /** @description Wrapper carried by enveloped responses; the payload is in `data`. */
151
+ SuccessEnvelope: {
152
+ /** @example true */
153
+ success: boolean;
154
+ /** @example operation completed successfully */
155
+ message?: string;
156
+ };
157
+ Pagination: {
158
+ /**
159
+ * @description Number of items in this page.
160
+ * @example 20
161
+ */
162
+ count?: number;
163
+ /** @example 50 */
164
+ limit?: number;
165
+ /** @example 0 */
166
+ offset?: number;
167
+ };
168
+ /** @description Where settlements for this UDA should be delivered. */
169
+ DestinationInput: {
170
+ /**
171
+ * @description Destination wallet address.
172
+ * @example 0x3a1f8b2c9d4e5f60718293a4b5c6d7e8f9012345
173
+ */
174
+ address: string;
175
+ /**
176
+ * @description Destination SLIP-44 network id.
177
+ * @example 60
178
+ */
179
+ network_id: string;
180
+ /**
181
+ * @description Destination asset symbol.
182
+ * @example USDC
183
+ */
184
+ asset_symbol?: string;
185
+ };
186
+ /** @description Conditions a deposit must meet for this routing rule to apply. */
187
+ RoutingRuleMatchInput: {
188
+ /** @example 60 */
189
+ source_network_id: string;
190
+ /** @example USDT */
191
+ source_asset_symbol?: string;
192
+ };
193
+ RoutingRuleDestinationInput: {
194
+ /** @example 0x3a1f8b2c9d4e5f60718293a4b5c6d7e8f9012345 */
195
+ address: string;
196
+ /** @example 60 */
197
+ network_id: string;
198
+ /** @example USDC */
199
+ asset_symbol?: string;
200
+ };
201
+ RoutingRuleInput: {
202
+ /** @description Conditions a deposit must meet for this routing rule to apply. */
203
+ match: {
204
+ /** @example 60 */
205
+ source_network_id: string;
206
+ /** @example USDT */
207
+ source_asset_symbol?: string;
208
+ };
209
+ destination: {
210
+ /** @example 0x3a1f8b2c9d4e5f60718293a4b5c6d7e8f9012345 */
211
+ address: string;
212
+ /** @example 60 */
213
+ network_id: string;
214
+ /** @example USDC */
215
+ asset_symbol?: string;
216
+ };
217
+ };
218
+ /**
219
+ * @example {
220
+ * "owner": "0x9f8e7d6c5b4a39281706f5e4d3c2b1a098765432",
221
+ * "destination": {
222
+ * "address": "0x3a1f8b2c9d4e5f60718293a4b5c6d7e8f9012345",
223
+ * "network_id": "60",
224
+ * "asset_symbol": "USDC"
225
+ * },
226
+ * "accepted_assets": [
227
+ * "USDC",
228
+ * "USDT"
229
+ * ]
230
+ * }
231
+ */
232
+ CreateUDAAddressRequest: {
233
+ /**
234
+ * @description The owner the UDA is allocated for.
235
+ * @example 0x9f8e7d6c5b4a39281706f5e4d3c2b1a098765432
236
+ */
237
+ owner: string;
238
+ /** @description Where settlements for this UDA should be delivered. */
239
+ destination: {
240
+ /**
241
+ * @description Destination wallet address.
242
+ * @example 0x3a1f8b2c9d4e5f60718293a4b5c6d7e8f9012345
243
+ */
244
+ address: string;
245
+ /**
246
+ * @description Destination SLIP-44 network id.
247
+ * @example 60
248
+ */
249
+ network_id: string;
250
+ /**
251
+ * @description Destination asset symbol.
252
+ * @example USDC
253
+ */
254
+ asset_symbol?: string;
255
+ };
256
+ /**
257
+ * @description Asset symbols this UDA accepts; empty means every asset on every UDA-supported chain.
258
+ * @example [
259
+ * "USDC",
260
+ * "USDT"
261
+ * ]
262
+ */
263
+ accepted_assets?: string[];
264
+ /** @description Optional; max 3. Specificity-wins precedence: a rule pinning both `source_network_id` and `source_asset_symbol` beats a network-only rule. When nothing matches, settlements use the default destination. */
265
+ routing_rules?: {
266
+ /** @description Conditions a deposit must meet for this routing rule to apply. */
267
+ match: {
268
+ /** @example 60 */
269
+ source_network_id: string;
270
+ /** @example USDT */
271
+ source_asset_symbol?: string;
272
+ };
273
+ destination: {
274
+ /** @example 0x3a1f8b2c9d4e5f60718293a4b5c6d7e8f9012345 */
275
+ address: string;
276
+ /** @example 60 */
277
+ network_id: string;
278
+ /** @example USDC */
279
+ asset_symbol?: string;
280
+ };
281
+ }[];
282
+ };
283
+ DepositAsset: {
284
+ /** @example USDC */
285
+ symbol?: string;
286
+ /**
287
+ * @description Token contract address (zero address for native).
288
+ * @example 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
289
+ */
290
+ address?: string;
291
+ /** @example 6 */
292
+ decimals?: number;
293
+ /** @example https://assets.stridge.com/tokens/usdc.png */
294
+ logo?: string;
295
+ };
296
+ /** @description A per-chain address a depositor can send funds to. */
297
+ DepositAddress: {
298
+ /** @example 0x7c2d9a1b3e4f5061728394a5b6c7d8e9f0a1b2c3 */
299
+ address?: string;
300
+ /** @example 60 */
301
+ network_id?: string;
302
+ /** @example 1 */
303
+ eip155_id?: string;
304
+ /** @example Ethereum */
305
+ network_name?: string;
306
+ accepted_assets?: {
307
+ /** @example USDC */
308
+ symbol?: string;
309
+ /**
310
+ * @description Token contract address (zero address for native).
311
+ * @example 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
312
+ */
313
+ address?: string;
314
+ /** @example 6 */
315
+ decimals?: number;
316
+ /** @example https://assets.stridge.com/tokens/usdc.png */
317
+ logo?: string;
318
+ }[];
319
+ };
320
+ /** @description Resolved destination (symbol plus the resolved contract address). */
321
+ Destination: {
322
+ /** @example 0x3a1f8b2c9d4e5f60718293a4b5c6d7e8f9012345 */
323
+ address?: string;
324
+ /** @example 60 */
325
+ network_id?: string;
326
+ /** @example 1 */
327
+ eip155_id?: string;
328
+ /** @example Ethereum */
329
+ network_name?: string;
330
+ /** @example USDC */
331
+ asset_symbol?: string;
332
+ /** @example 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 */
333
+ asset_address?: string;
334
+ /** @example 6 */
335
+ asset_decimals?: number;
336
+ };
337
+ RoutingRuleMatch: {
338
+ /** @example 60 */
339
+ source_network_id?: string;
340
+ /** @example USDT */
341
+ source_asset_symbol?: string;
342
+ /** @example 0xdAC17F958D2ee523a2206206994597C13D831ec7 */
343
+ source_token_address?: string;
344
+ };
345
+ RoutingRuleDestination: {
346
+ /** @example 0x3a1f8b2c9d4e5f60718293a4b5c6d7e8f9012345 */
347
+ address?: string;
348
+ /** @example 60 */
349
+ network_id?: string;
350
+ /** @example 1 */
351
+ eip155_id?: string;
352
+ /** @example Ethereum */
353
+ network_name?: string;
354
+ /** @example USDC */
355
+ asset_symbol?: string;
356
+ /** @example 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 */
357
+ asset_address?: string;
358
+ /** @example 6 */
359
+ asset_decimals?: number;
360
+ };
361
+ /** @description An echoed routing rule in dual form (symbol plus resolved contract address). */
362
+ RoutingRule: {
363
+ match?: {
364
+ /** @example 60 */
365
+ source_network_id?: string;
366
+ /** @example USDT */
367
+ source_asset_symbol?: string;
368
+ /** @example 0xdAC17F958D2ee523a2206206994597C13D831ec7 */
369
+ source_token_address?: string;
370
+ };
371
+ destination?: {
372
+ /** @example 0x3a1f8b2c9d4e5f60718293a4b5c6d7e8f9012345 */
373
+ address?: string;
374
+ /** @example 60 */
375
+ network_id?: string;
376
+ /** @example 1 */
377
+ eip155_id?: string;
378
+ /** @example Ethereum */
379
+ network_name?: string;
380
+ /** @example USDC */
381
+ asset_symbol?: string;
382
+ /** @example 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 */
383
+ asset_address?: string;
384
+ /** @example 6 */
385
+ asset_decimals?: number;
386
+ };
387
+ };
388
+ UDAAddress: {
389
+ /** @example uda_2f8c1a9d4e5f6071 */
390
+ id?: string;
391
+ /** @example 0x9f8e7d6c5b4a39281706f5e4d3c2b1a098765432 */
392
+ owner?: string;
393
+ /**
394
+ * @example active
395
+ * @enum {string}
396
+ */
397
+ status?: "active" | "retired";
398
+ /**
399
+ * Format: date-time
400
+ * @example 2026-05-20T14:03:12Z
401
+ */
402
+ created_at?: string;
403
+ /** @description Resolved destination (symbol plus the resolved contract address). */
404
+ destination?: {
405
+ /** @example 0x3a1f8b2c9d4e5f60718293a4b5c6d7e8f9012345 */
406
+ address?: string;
407
+ /** @example 60 */
408
+ network_id?: string;
409
+ /** @example 1 */
410
+ eip155_id?: string;
411
+ /** @example Ethereum */
412
+ network_name?: string;
413
+ /** @example USDC */
414
+ asset_symbol?: string;
415
+ /** @example 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 */
416
+ asset_address?: string;
417
+ /** @example 6 */
418
+ asset_decimals?: number;
419
+ };
420
+ deposit_addresses?: {
421
+ /** @example 0x7c2d9a1b3e4f5061728394a5b6c7d8e9f0a1b2c3 */
422
+ address?: string;
423
+ /** @example 60 */
424
+ network_id?: string;
425
+ /** @example 1 */
426
+ eip155_id?: string;
427
+ /** @example Ethereum */
428
+ network_name?: string;
429
+ accepted_assets?: {
430
+ /** @example USDC */
431
+ symbol?: string;
432
+ /**
433
+ * @description Token contract address (zero address for native).
434
+ * @example 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
435
+ */
436
+ address?: string;
437
+ /** @example 6 */
438
+ decimals?: number;
439
+ /** @example https://assets.stridge.com/tokens/usdc.png */
440
+ logo?: string;
441
+ }[];
442
+ }[];
443
+ /** @description Empty when no rules are configured. */
444
+ routing_rules?: {
445
+ match?: {
446
+ /** @example 60 */
447
+ source_network_id?: string;
448
+ /** @example USDT */
449
+ source_asset_symbol?: string;
450
+ /** @example 0xdAC17F958D2ee523a2206206994597C13D831ec7 */
451
+ source_token_address?: string;
452
+ };
453
+ destination?: {
454
+ /** @example 0x3a1f8b2c9d4e5f60718293a4b5c6d7e8f9012345 */
455
+ address?: string;
456
+ /** @example 60 */
457
+ network_id?: string;
458
+ /** @example 1 */
459
+ eip155_id?: string;
460
+ /** @example Ethereum */
461
+ network_name?: string;
462
+ /** @example USDC */
463
+ asset_symbol?: string;
464
+ /** @example 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 */
465
+ asset_address?: string;
466
+ /** @example 6 */
467
+ asset_decimals?: number;
468
+ };
469
+ }[];
470
+ };
471
+ UDAAddressList: {
472
+ data?: {
473
+ /** @example uda_2f8c1a9d4e5f6071 */
474
+ id?: string;
475
+ /** @example 0x9f8e7d6c5b4a39281706f5e4d3c2b1a098765432 */
476
+ owner?: string;
477
+ /**
478
+ * @example active
479
+ * @enum {string}
480
+ */
481
+ status?: "active" | "retired";
482
+ /**
483
+ * Format: date-time
484
+ * @example 2026-05-20T14:03:12Z
485
+ */
486
+ created_at?: string;
487
+ /** @description Resolved destination (symbol plus the resolved contract address). */
488
+ destination?: {
489
+ /** @example 0x3a1f8b2c9d4e5f60718293a4b5c6d7e8f9012345 */
490
+ address?: string;
491
+ /** @example 60 */
492
+ network_id?: string;
493
+ /** @example 1 */
494
+ eip155_id?: string;
495
+ /** @example Ethereum */
496
+ network_name?: string;
497
+ /** @example USDC */
498
+ asset_symbol?: string;
499
+ /** @example 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 */
500
+ asset_address?: string;
501
+ /** @example 6 */
502
+ asset_decimals?: number;
503
+ };
504
+ deposit_addresses?: {
505
+ /** @example 0x7c2d9a1b3e4f5061728394a5b6c7d8e9f0a1b2c3 */
506
+ address?: string;
507
+ /** @example 60 */
508
+ network_id?: string;
509
+ /** @example 1 */
510
+ eip155_id?: string;
511
+ /** @example Ethereum */
512
+ network_name?: string;
513
+ accepted_assets?: {
514
+ /** @example USDC */
515
+ symbol?: string;
516
+ /**
517
+ * @description Token contract address (zero address for native).
518
+ * @example 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
519
+ */
520
+ address?: string;
521
+ /** @example 6 */
522
+ decimals?: number;
523
+ /** @example https://assets.stridge.com/tokens/usdc.png */
524
+ logo?: string;
525
+ }[];
526
+ }[];
527
+ /** @description Empty when no rules are configured. */
528
+ routing_rules?: {
529
+ match?: {
530
+ /** @example 60 */
531
+ source_network_id?: string;
532
+ /** @example USDT */
533
+ source_asset_symbol?: string;
534
+ /** @example 0xdAC17F958D2ee523a2206206994597C13D831ec7 */
535
+ source_token_address?: string;
536
+ };
537
+ destination?: {
538
+ /** @example 0x3a1f8b2c9d4e5f60718293a4b5c6d7e8f9012345 */
539
+ address?: string;
540
+ /** @example 60 */
541
+ network_id?: string;
542
+ /** @example 1 */
543
+ eip155_id?: string;
544
+ /** @example Ethereum */
545
+ network_name?: string;
546
+ /** @example USDC */
547
+ asset_symbol?: string;
548
+ /** @example 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 */
549
+ asset_address?: string;
550
+ /** @example 6 */
551
+ asset_decimals?: number;
552
+ };
553
+ }[];
554
+ }[];
555
+ pagination?: {
556
+ /**
557
+ * @description Number of items in this page.
558
+ * @example 20
559
+ */
560
+ count?: number;
561
+ /** @example 50 */
562
+ limit?: number;
563
+ /** @example 0 */
564
+ offset?: number;
565
+ };
566
+ };
567
+ QuoteSide: {
568
+ /**
569
+ * @description EIP-155 chain id for this side.
570
+ * @example 1
571
+ */
572
+ network_id?: number;
573
+ /** @example 0x0000000000000000000000000000000000000000 */
574
+ asset_address?: string;
575
+ /**
576
+ * @description Amount in the asset's smallest unit.
577
+ * @example 1000000000000000000
578
+ */
579
+ amount?: string;
580
+ };
581
+ QuoteFeeItem: {
582
+ /** @example platform */
583
+ kind?: string;
584
+ /** @example 2500000000000000 */
585
+ amount?: string;
586
+ /** @example stridge */
587
+ source?: string;
588
+ /** @example 0xfee0000000000000000000000000000000000000 */
589
+ recipient?: string;
590
+ };
591
+ QuoteFees: {
592
+ /** @example 3500000000000000 */
593
+ total_fee?: string;
594
+ /** @example 1000000000000000 */
595
+ gas_fee?: string;
596
+ /**
597
+ * @description Chain-level reserve (e.g. TRON bandwidth).
598
+ * @example 0
599
+ */
600
+ network_reserve?: string;
601
+ /** @example 2500000000000000 */
602
+ platform_fee?: string;
603
+ /**
604
+ * @description Third-party (e.g. LiFi / Relay) fee.
605
+ * @example 0
606
+ */
607
+ provider_fee?: string;
608
+ items?: {
609
+ /** @example platform */
610
+ kind?: string;
611
+ /** @example 2500000000000000 */
612
+ amount?: string;
613
+ /** @example stridge */
614
+ source?: string;
615
+ /** @example 0xfee0000000000000000000000000000000000000 */
616
+ recipient?: string;
617
+ }[];
618
+ };
619
+ QuoteRoute: {
620
+ /** @example lifi */
621
+ provider?: string;
622
+ /** @example cross_chain_swap */
623
+ scenario?: string;
624
+ /** @example 45 */
625
+ estimated_time_seconds?: number;
626
+ };
627
+ Quote: {
628
+ from?: {
629
+ /**
630
+ * @description EIP-155 chain id for this side.
631
+ * @example 1
632
+ */
633
+ network_id?: number;
634
+ /** @example 0x0000000000000000000000000000000000000000 */
635
+ asset_address?: string;
636
+ /**
637
+ * @description Amount in the asset's smallest unit.
638
+ * @example 1000000000000000000
639
+ */
640
+ amount?: string;
641
+ };
642
+ to?: {
643
+ /**
644
+ * @description EIP-155 chain id for this side.
645
+ * @example 1
646
+ */
647
+ network_id?: number;
648
+ /** @example 0x0000000000000000000000000000000000000000 */
649
+ asset_address?: string;
650
+ /**
651
+ * @description Amount in the asset's smallest unit.
652
+ * @example 1000000000000000000
653
+ */
654
+ amount?: string;
655
+ };
656
+ /** @example 0.9985 */
657
+ exchange_rate?: string;
658
+ /**
659
+ * Format: date-time
660
+ * @example 2026-05-29T12:05:00Z
661
+ */
662
+ expires_at?: string;
663
+ fees?: {
664
+ /** @example 3500000000000000 */
665
+ total_fee?: string;
666
+ /** @example 1000000000000000 */
667
+ gas_fee?: string;
668
+ /**
669
+ * @description Chain-level reserve (e.g. TRON bandwidth).
670
+ * @example 0
671
+ */
672
+ network_reserve?: string;
673
+ /** @example 2500000000000000 */
674
+ platform_fee?: string;
675
+ /**
676
+ * @description Third-party (e.g. LiFi / Relay) fee.
677
+ * @example 0
678
+ */
679
+ provider_fee?: string;
680
+ items?: {
681
+ /** @example platform */
682
+ kind?: string;
683
+ /** @example 2500000000000000 */
684
+ amount?: string;
685
+ /** @example stridge */
686
+ source?: string;
687
+ /** @example 0xfee0000000000000000000000000000000000000 */
688
+ recipient?: string;
689
+ }[];
690
+ };
691
+ route?: {
692
+ /** @example lifi */
693
+ provider?: string;
694
+ /** @example cross_chain_swap */
695
+ scenario?: string;
696
+ /** @example 45 */
697
+ estimated_time_seconds?: number;
698
+ };
699
+ };
700
+ SettlementDeposit: {
701
+ /** @example 0x7c2d9a1b3e4f5061728394a5b6c7d8e9f0a1b2c3 */
702
+ address?: string;
703
+ /** @example 1000000 */
704
+ amount?: string;
705
+ /** @example USDC */
706
+ asset_symbol?: string;
707
+ /** @example 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 */
708
+ asset_address?: string;
709
+ /** @example 1 */
710
+ network_id?: number;
711
+ /** @example Ethereum */
712
+ network_name?: string;
713
+ /** @example 0xab12cd34ef56...7890 */
714
+ tx_hash?: string;
715
+ /**
716
+ * Format: date-time
717
+ * @example 2026-05-29T11:58:40Z
718
+ */
719
+ confirmed_at?: string;
720
+ };
721
+ SettlementOutbound: {
722
+ /** @example 0x3a1f8b2c9d4e5f60718293a4b5c6d7e8f9012345 */
723
+ address?: string;
724
+ /** @example 998500 */
725
+ amount?: string;
726
+ /** @example USDC */
727
+ asset_symbol?: string;
728
+ /** @example 0x55d398326f99059fF775485246999027B3197955 */
729
+ asset_address?: string;
730
+ /** @example 56 */
731
+ network_id?: number;
732
+ /** @example BNB Smart Chain */
733
+ network_name?: string;
734
+ /** @example 0xcd34ef5678...90ab */
735
+ tx_hash?: string;
736
+ /**
737
+ * Format: date-time
738
+ * @example 2026-05-29T11:59:25Z
739
+ */
740
+ settled_at?: string;
741
+ };
742
+ SettlementFees: {
743
+ /** @example 1500 */
744
+ total?: string;
745
+ /** @example 1500 */
746
+ platform?: string;
747
+ /** @example 0 */
748
+ provider?: string;
749
+ /**
750
+ * @description Equal to `total` (back-compat field).
751
+ * @example 1500
752
+ */
753
+ fee_amount?: string;
754
+ };
755
+ SettlementRoute: {
756
+ /** @example lifi */
757
+ provider?: string;
758
+ /** @example cross_chain_swap */
759
+ type?: string;
760
+ /** @example 45000 */
761
+ time_ms?: number;
762
+ };
763
+ Settlement: {
764
+ /** @example stl_71829304a5b6c7d8 */
765
+ id?: string;
766
+ /** @example uda_2f8c1a9d4e5f6071 */
767
+ uda_id?: string;
768
+ /**
769
+ * @example completed
770
+ * @enum {string}
771
+ */
772
+ status?: "created" | "routing" | "completed" | "failed" | "retrying";
773
+ /**
774
+ * Format: date-time
775
+ * @example 2026-05-29T11:58:41Z
776
+ */
777
+ created_at?: string;
778
+ /**
779
+ * Format: date-time
780
+ * @example 2026-05-29T11:59:25Z
781
+ */
782
+ updated_at?: string;
783
+ /**
784
+ * @description Failure reason when `status` is `failed`; empty otherwise.
785
+ * @example
786
+ */
787
+ error?: string;
788
+ deposit?: {
789
+ /** @example 0x7c2d9a1b3e4f5061728394a5b6c7d8e9f0a1b2c3 */
790
+ address?: string;
791
+ /** @example 1000000 */
792
+ amount?: string;
793
+ /** @example USDC */
794
+ asset_symbol?: string;
795
+ /** @example 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 */
796
+ asset_address?: string;
797
+ /** @example 1 */
798
+ network_id?: number;
799
+ /** @example Ethereum */
800
+ network_name?: string;
801
+ /** @example 0xab12cd34ef56...7890 */
802
+ tx_hash?: string;
803
+ /**
804
+ * Format: date-time
805
+ * @example 2026-05-29T11:58:40Z
806
+ */
807
+ confirmed_at?: string;
808
+ };
809
+ settlement?: {
810
+ /** @example 0x3a1f8b2c9d4e5f60718293a4b5c6d7e8f9012345 */
811
+ address?: string;
812
+ /** @example 998500 */
813
+ amount?: string;
814
+ /** @example USDC */
815
+ asset_symbol?: string;
816
+ /** @example 0x55d398326f99059fF775485246999027B3197955 */
817
+ asset_address?: string;
818
+ /** @example 56 */
819
+ network_id?: number;
820
+ /** @example BNB Smart Chain */
821
+ network_name?: string;
822
+ /** @example 0xcd34ef5678...90ab */
823
+ tx_hash?: string;
824
+ /**
825
+ * Format: date-time
826
+ * @example 2026-05-29T11:59:25Z
827
+ */
828
+ settled_at?: string;
829
+ };
830
+ fees?: {
831
+ /** @example 1500 */
832
+ total?: string;
833
+ /** @example 1500 */
834
+ platform?: string;
835
+ /** @example 0 */
836
+ provider?: string;
837
+ /**
838
+ * @description Equal to `total` (back-compat field).
839
+ * @example 1500
840
+ */
841
+ fee_amount?: string;
842
+ };
843
+ route?: {
844
+ /** @example lifi */
845
+ provider?: string;
846
+ /** @example cross_chain_swap */
847
+ type?: string;
848
+ /** @example 45000 */
849
+ time_ms?: number;
850
+ };
851
+ };
852
+ SettlementList: {
853
+ data?: {
854
+ /** @example stl_71829304a5b6c7d8 */
855
+ id?: string;
856
+ /** @example uda_2f8c1a9d4e5f6071 */
857
+ uda_id?: string;
858
+ /**
859
+ * @example completed
860
+ * @enum {string}
861
+ */
862
+ status?: "created" | "routing" | "completed" | "failed" | "retrying";
863
+ /**
864
+ * Format: date-time
865
+ * @example 2026-05-29T11:58:41Z
866
+ */
867
+ created_at?: string;
868
+ /**
869
+ * Format: date-time
870
+ * @example 2026-05-29T11:59:25Z
871
+ */
872
+ updated_at?: string;
873
+ /**
874
+ * @description Failure reason when `status` is `failed`; empty otherwise.
875
+ * @example
876
+ */
877
+ error?: string;
878
+ deposit?: {
879
+ /** @example 0x7c2d9a1b3e4f5061728394a5b6c7d8e9f0a1b2c3 */
880
+ address?: string;
881
+ /** @example 1000000 */
882
+ amount?: string;
883
+ /** @example USDC */
884
+ asset_symbol?: string;
885
+ /** @example 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 */
886
+ asset_address?: string;
887
+ /** @example 1 */
888
+ network_id?: number;
889
+ /** @example Ethereum */
890
+ network_name?: string;
891
+ /** @example 0xab12cd34ef56...7890 */
892
+ tx_hash?: string;
893
+ /**
894
+ * Format: date-time
895
+ * @example 2026-05-29T11:58:40Z
896
+ */
897
+ confirmed_at?: string;
898
+ };
899
+ settlement?: {
900
+ /** @example 0x3a1f8b2c9d4e5f60718293a4b5c6d7e8f9012345 */
901
+ address?: string;
902
+ /** @example 998500 */
903
+ amount?: string;
904
+ /** @example USDC */
905
+ asset_symbol?: string;
906
+ /** @example 0x55d398326f99059fF775485246999027B3197955 */
907
+ asset_address?: string;
908
+ /** @example 56 */
909
+ network_id?: number;
910
+ /** @example BNB Smart Chain */
911
+ network_name?: string;
912
+ /** @example 0xcd34ef5678...90ab */
913
+ tx_hash?: string;
914
+ /**
915
+ * Format: date-time
916
+ * @example 2026-05-29T11:59:25Z
917
+ */
918
+ settled_at?: string;
919
+ };
920
+ fees?: {
921
+ /** @example 1500 */
922
+ total?: string;
923
+ /** @example 1500 */
924
+ platform?: string;
925
+ /** @example 0 */
926
+ provider?: string;
927
+ /**
928
+ * @description Equal to `total` (back-compat field).
929
+ * @example 1500
930
+ */
931
+ fee_amount?: string;
932
+ };
933
+ route?: {
934
+ /** @example lifi */
935
+ provider?: string;
936
+ /** @example cross_chain_swap */
937
+ type?: string;
938
+ /** @example 45000 */
939
+ time_ms?: number;
940
+ };
941
+ }[];
942
+ pagination?: {
943
+ /**
944
+ * @description Number of items in this page.
945
+ * @example 20
946
+ */
947
+ count?: number;
948
+ /** @example 50 */
949
+ limit?: number;
950
+ /** @example 0 */
951
+ offset?: number;
952
+ };
953
+ };
954
+ SettlementsByReference: {
955
+ /**
956
+ * @description The reference that was looked up.
957
+ * @example 0xab12cd34ef56...7890
958
+ */
959
+ reference?: string;
960
+ /** @example 1 */
961
+ count?: number;
962
+ data?: {
963
+ /** @example stl_71829304a5b6c7d8 */
964
+ id?: string;
965
+ /** @example uda_2f8c1a9d4e5f6071 */
966
+ uda_id?: string;
967
+ /**
968
+ * @example completed
969
+ * @enum {string}
970
+ */
971
+ status?: "created" | "routing" | "completed" | "failed" | "retrying";
972
+ /**
973
+ * Format: date-time
974
+ * @example 2026-05-29T11:58:41Z
975
+ */
976
+ created_at?: string;
977
+ /**
978
+ * Format: date-time
979
+ * @example 2026-05-29T11:59:25Z
980
+ */
981
+ updated_at?: string;
982
+ /**
983
+ * @description Failure reason when `status` is `failed`; empty otherwise.
984
+ * @example
985
+ */
986
+ error?: string;
987
+ deposit?: {
988
+ /** @example 0x7c2d9a1b3e4f5061728394a5b6c7d8e9f0a1b2c3 */
989
+ address?: string;
990
+ /** @example 1000000 */
991
+ amount?: string;
992
+ /** @example USDC */
993
+ asset_symbol?: string;
994
+ /** @example 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 */
995
+ asset_address?: string;
996
+ /** @example 1 */
997
+ network_id?: number;
998
+ /** @example Ethereum */
999
+ network_name?: string;
1000
+ /** @example 0xab12cd34ef56...7890 */
1001
+ tx_hash?: string;
1002
+ /**
1003
+ * Format: date-time
1004
+ * @example 2026-05-29T11:58:40Z
1005
+ */
1006
+ confirmed_at?: string;
1007
+ };
1008
+ settlement?: {
1009
+ /** @example 0x3a1f8b2c9d4e5f60718293a4b5c6d7e8f9012345 */
1010
+ address?: string;
1011
+ /** @example 998500 */
1012
+ amount?: string;
1013
+ /** @example USDC */
1014
+ asset_symbol?: string;
1015
+ /** @example 0x55d398326f99059fF775485246999027B3197955 */
1016
+ asset_address?: string;
1017
+ /** @example 56 */
1018
+ network_id?: number;
1019
+ /** @example BNB Smart Chain */
1020
+ network_name?: string;
1021
+ /** @example 0xcd34ef5678...90ab */
1022
+ tx_hash?: string;
1023
+ /**
1024
+ * Format: date-time
1025
+ * @example 2026-05-29T11:59:25Z
1026
+ */
1027
+ settled_at?: string;
1028
+ };
1029
+ fees?: {
1030
+ /** @example 1500 */
1031
+ total?: string;
1032
+ /** @example 1500 */
1033
+ platform?: string;
1034
+ /** @example 0 */
1035
+ provider?: string;
1036
+ /**
1037
+ * @description Equal to `total` (back-compat field).
1038
+ * @example 1500
1039
+ */
1040
+ fee_amount?: string;
1041
+ };
1042
+ route?: {
1043
+ /** @example lifi */
1044
+ provider?: string;
1045
+ /** @example cross_chain_swap */
1046
+ type?: string;
1047
+ /** @example 45000 */
1048
+ time_ms?: number;
1049
+ };
1050
+ }[];
1051
+ };
1052
+ NativeCurrency: {
1053
+ /** @example ETH */
1054
+ symbol?: string;
1055
+ /** @example Ether */
1056
+ name?: string;
1057
+ /** @example 18 */
1058
+ decimals?: number;
1059
+ /** @example https://assets.stridge.com/tokens/eth.png */
1060
+ logo?: string;
1061
+ /** @example 1.00 */
1062
+ min_deposit_usd?: string;
1063
+ /** @example 0 */
1064
+ price_impact?: string;
1065
+ };
1066
+ AssetInfo: {
1067
+ /** @example USDC */
1068
+ symbol?: string;
1069
+ /** @example USD Coin */
1070
+ name?: string;
1071
+ /** @example 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 */
1072
+ address?: string;
1073
+ /** @example 6 */
1074
+ decimals?: number;
1075
+ /** @example https://assets.stridge.com/tokens/usdc.png */
1076
+ logo?: string;
1077
+ /** @example 1.00 */
1078
+ min_deposit_usd?: string;
1079
+ /** @example 0 */
1080
+ price_impact?: string;
1081
+ };
1082
+ SupportedAssetChain: {
1083
+ /** @example 60 */
1084
+ network_id?: string;
1085
+ /** @example Ethereum */
1086
+ network_name?: string;
1087
+ /** @example ETH */
1088
+ network_symbol?: string;
1089
+ /** @example 1 */
1090
+ eip155_id?: number;
1091
+ /**
1092
+ * @example EVM
1093
+ * @enum {string}
1094
+ */
1095
+ chain_type?: "EVM" | "TVM";
1096
+ native_currency?: {
1097
+ /** @example ETH */
1098
+ symbol?: string;
1099
+ /** @example Ether */
1100
+ name?: string;
1101
+ /** @example 18 */
1102
+ decimals?: number;
1103
+ /** @example https://assets.stridge.com/tokens/eth.png */
1104
+ logo?: string;
1105
+ /** @example 1.00 */
1106
+ min_deposit_usd?: string;
1107
+ /** @example 0 */
1108
+ price_impact?: string;
1109
+ };
1110
+ assets?: {
1111
+ /** @example USDC */
1112
+ symbol?: string;
1113
+ /** @example USD Coin */
1114
+ name?: string;
1115
+ /** @example 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 */
1116
+ address?: string;
1117
+ /** @example 6 */
1118
+ decimals?: number;
1119
+ /** @example https://assets.stridge.com/tokens/usdc.png */
1120
+ logo?: string;
1121
+ /** @example 1.00 */
1122
+ min_deposit_usd?: string;
1123
+ /** @example 0 */
1124
+ price_impact?: string;
1125
+ }[];
1126
+ };
1127
+ SupportedAssetsResponse: {
1128
+ assets?: {
1129
+ /** @example 60 */
1130
+ network_id?: string;
1131
+ /** @example Ethereum */
1132
+ network_name?: string;
1133
+ /** @example ETH */
1134
+ network_symbol?: string;
1135
+ /** @example 1 */
1136
+ eip155_id?: number;
1137
+ /**
1138
+ * @example EVM
1139
+ * @enum {string}
1140
+ */
1141
+ chain_type?: "EVM" | "TVM";
1142
+ native_currency?: {
1143
+ /** @example ETH */
1144
+ symbol?: string;
1145
+ /** @example Ether */
1146
+ name?: string;
1147
+ /** @example 18 */
1148
+ decimals?: number;
1149
+ /** @example https://assets.stridge.com/tokens/eth.png */
1150
+ logo?: string;
1151
+ /** @example 1.00 */
1152
+ min_deposit_usd?: string;
1153
+ /** @example 0 */
1154
+ price_impact?: string;
1155
+ };
1156
+ assets?: {
1157
+ /** @example USDC */
1158
+ symbol?: string;
1159
+ /** @example USD Coin */
1160
+ name?: string;
1161
+ /** @example 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 */
1162
+ address?: string;
1163
+ /** @example 6 */
1164
+ decimals?: number;
1165
+ /** @example https://assets.stridge.com/tokens/usdc.png */
1166
+ logo?: string;
1167
+ /** @example 1.00 */
1168
+ min_deposit_usd?: string;
1169
+ /** @example 0 */
1170
+ price_impact?: string;
1171
+ }[];
1172
+ }[];
1173
+ };
1174
+ };
1175
+ responses: {
1176
+ /** @description The request was malformed or failed validation. */
1177
+ BadRequest: {
1178
+ headers: {
1179
+ [name: string]: unknown;
1180
+ };
1181
+ content: {
1182
+ /**
1183
+ * @example {
1184
+ * "success": false,
1185
+ * "code": 400,
1186
+ * "error": "invalid request"
1187
+ * }
1188
+ */
1189
+ "application/json": {
1190
+ /** @example false */
1191
+ success: boolean;
1192
+ /**
1193
+ * @description HTTP status code echoed in the body.
1194
+ * @example 400
1195
+ */
1196
+ code?: number;
1197
+ /**
1198
+ * @description Human-readable error message.
1199
+ * @example invalid request
1200
+ */
1201
+ error: string;
1202
+ };
1203
+ };
1204
+ };
1205
+ /** @description The `X-API-Key` header is missing or invalid. */
1206
+ Unauthorized: {
1207
+ headers: {
1208
+ [name: string]: unknown;
1209
+ };
1210
+ content: {
1211
+ /**
1212
+ * @example {
1213
+ * "success": false,
1214
+ * "code": 401,
1215
+ * "error": "unauthenticated"
1216
+ * }
1217
+ */
1218
+ "application/json": {
1219
+ /** @example false */
1220
+ success: boolean;
1221
+ /**
1222
+ * @description HTTP status code echoed in the body.
1223
+ * @example 400
1224
+ */
1225
+ code?: number;
1226
+ /**
1227
+ * @description Human-readable error message.
1228
+ * @example invalid request
1229
+ */
1230
+ error: string;
1231
+ };
1232
+ };
1233
+ };
1234
+ /** @description The requested resource does not exist. */
1235
+ NotFound: {
1236
+ headers: {
1237
+ [name: string]: unknown;
1238
+ };
1239
+ content: {
1240
+ /**
1241
+ * @example {
1242
+ * "success": false,
1243
+ * "code": 404,
1244
+ * "error": "not found"
1245
+ * }
1246
+ */
1247
+ "application/json": {
1248
+ /** @example false */
1249
+ success: boolean;
1250
+ /**
1251
+ * @description HTTP status code echoed in the body.
1252
+ * @example 400
1253
+ */
1254
+ code?: number;
1255
+ /**
1256
+ * @description Human-readable error message.
1257
+ * @example invalid request
1258
+ */
1259
+ error: string;
1260
+ };
1261
+ };
1262
+ };
1263
+ /** @description An unexpected error occurred on the server. */
1264
+ ServerError: {
1265
+ headers: {
1266
+ [name: string]: unknown;
1267
+ };
1268
+ content: {
1269
+ /**
1270
+ * @example {
1271
+ * "success": false,
1272
+ * "code": 500,
1273
+ * "error": "internal server error"
1274
+ * }
1275
+ */
1276
+ "application/json": {
1277
+ /** @example false */
1278
+ success: boolean;
1279
+ /**
1280
+ * @description HTTP status code echoed in the body.
1281
+ * @example 400
1282
+ */
1283
+ code?: number;
1284
+ /**
1285
+ * @description Human-readable error message.
1286
+ * @example invalid request
1287
+ */
1288
+ error: string;
1289
+ };
1290
+ };
1291
+ };
1292
+ };
1293
+ parameters: {
1294
+ /** @description Page size (default 50, max 200). */
1295
+ LimitParam: number;
1296
+ /** @description Number of items to skip (default 0). */
1297
+ OffsetParam: number;
1298
+ };
1299
+ requestBodies: never;
1300
+ headers: never;
1301
+ pathItems: never;
1302
+ }
1303
+ export type $defs = Record<string, never>;
1304
+ export interface operations {
1305
+ "list-uda-addresses": {
1306
+ parameters: {
1307
+ query?: {
1308
+ /** @description Filter by owner. */
1309
+ owner?: string;
1310
+ /** @description Filter by destination network id. */
1311
+ network_id?: string;
1312
+ /** @description Filter by destination address. */
1313
+ to_address?: string;
1314
+ /** @description Filter by destination asset symbol (requires network_id). */
1315
+ asset_symbol?: string;
1316
+ /** @description Filter by status. */
1317
+ status?: "active" | "retired";
1318
+ /** @description Page size (default 50, max 200). */
1319
+ limit?: number;
1320
+ /** @description Number of items to skip (default 0). */
1321
+ offset?: number;
1322
+ };
1323
+ header?: never;
1324
+ path?: never;
1325
+ cookie?: never;
1326
+ };
1327
+ requestBody?: never;
1328
+ responses: {
1329
+ /** @description A page of UDA addresses. */
1330
+ 200: {
1331
+ headers: {
1332
+ [name: string]: unknown;
1333
+ };
1334
+ content: {
1335
+ "application/json": {
1336
+ data?: {
1337
+ /** @example uda_2f8c1a9d4e5f6071 */
1338
+ id?: string;
1339
+ /** @example 0x9f8e7d6c5b4a39281706f5e4d3c2b1a098765432 */
1340
+ owner?: string;
1341
+ /**
1342
+ * @example active
1343
+ * @enum {string}
1344
+ */
1345
+ status?: "active" | "retired";
1346
+ /**
1347
+ * Format: date-time
1348
+ * @example 2026-05-20T14:03:12Z
1349
+ */
1350
+ created_at?: string;
1351
+ /** @description Resolved destination (symbol plus the resolved contract address). */
1352
+ destination?: {
1353
+ /** @example 0x3a1f8b2c9d4e5f60718293a4b5c6d7e8f9012345 */
1354
+ address?: string;
1355
+ /** @example 60 */
1356
+ network_id?: string;
1357
+ /** @example 1 */
1358
+ eip155_id?: string;
1359
+ /** @example Ethereum */
1360
+ network_name?: string;
1361
+ /** @example USDC */
1362
+ asset_symbol?: string;
1363
+ /** @example 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 */
1364
+ asset_address?: string;
1365
+ /** @example 6 */
1366
+ asset_decimals?: number;
1367
+ };
1368
+ deposit_addresses?: {
1369
+ /** @example 0x7c2d9a1b3e4f5061728394a5b6c7d8e9f0a1b2c3 */
1370
+ address?: string;
1371
+ /** @example 60 */
1372
+ network_id?: string;
1373
+ /** @example 1 */
1374
+ eip155_id?: string;
1375
+ /** @example Ethereum */
1376
+ network_name?: string;
1377
+ accepted_assets?: {
1378
+ /** @example USDC */
1379
+ symbol?: string;
1380
+ /**
1381
+ * @description Token contract address (zero address for native).
1382
+ * @example 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
1383
+ */
1384
+ address?: string;
1385
+ /** @example 6 */
1386
+ decimals?: number;
1387
+ /** @example https://assets.stridge.com/tokens/usdc.png */
1388
+ logo?: string;
1389
+ }[];
1390
+ }[];
1391
+ /** @description Empty when no rules are configured. */
1392
+ routing_rules?: {
1393
+ match?: {
1394
+ /** @example 60 */
1395
+ source_network_id?: string;
1396
+ /** @example USDT */
1397
+ source_asset_symbol?: string;
1398
+ /** @example 0xdAC17F958D2ee523a2206206994597C13D831ec7 */
1399
+ source_token_address?: string;
1400
+ };
1401
+ destination?: {
1402
+ /** @example 0x3a1f8b2c9d4e5f60718293a4b5c6d7e8f9012345 */
1403
+ address?: string;
1404
+ /** @example 60 */
1405
+ network_id?: string;
1406
+ /** @example 1 */
1407
+ eip155_id?: string;
1408
+ /** @example Ethereum */
1409
+ network_name?: string;
1410
+ /** @example USDC */
1411
+ asset_symbol?: string;
1412
+ /** @example 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 */
1413
+ asset_address?: string;
1414
+ /** @example 6 */
1415
+ asset_decimals?: number;
1416
+ };
1417
+ }[];
1418
+ }[];
1419
+ pagination?: {
1420
+ /**
1421
+ * @description Number of items in this page.
1422
+ * @example 20
1423
+ */
1424
+ count?: number;
1425
+ /** @example 50 */
1426
+ limit?: number;
1427
+ /** @example 0 */
1428
+ offset?: number;
1429
+ };
1430
+ };
1431
+ };
1432
+ };
1433
+ /** @description The request was malformed or failed validation. */
1434
+ 400: {
1435
+ headers: {
1436
+ [name: string]: unknown;
1437
+ };
1438
+ content: {
1439
+ /**
1440
+ * @example {
1441
+ * "success": false,
1442
+ * "code": 400,
1443
+ * "error": "invalid request"
1444
+ * }
1445
+ */
1446
+ "application/json": {
1447
+ /** @example false */
1448
+ success: boolean;
1449
+ /**
1450
+ * @description HTTP status code echoed in the body.
1451
+ * @example 400
1452
+ */
1453
+ code?: number;
1454
+ /**
1455
+ * @description Human-readable error message.
1456
+ * @example invalid request
1457
+ */
1458
+ error: string;
1459
+ };
1460
+ };
1461
+ };
1462
+ /** @description The `X-API-Key` header is missing or invalid. */
1463
+ 401: {
1464
+ headers: {
1465
+ [name: string]: unknown;
1466
+ };
1467
+ content: {
1468
+ /**
1469
+ * @example {
1470
+ * "success": false,
1471
+ * "code": 401,
1472
+ * "error": "unauthenticated"
1473
+ * }
1474
+ */
1475
+ "application/json": {
1476
+ /** @example false */
1477
+ success: boolean;
1478
+ /**
1479
+ * @description HTTP status code echoed in the body.
1480
+ * @example 400
1481
+ */
1482
+ code?: number;
1483
+ /**
1484
+ * @description Human-readable error message.
1485
+ * @example invalid request
1486
+ */
1487
+ error: string;
1488
+ };
1489
+ };
1490
+ };
1491
+ /** @description An unexpected error occurred on the server. */
1492
+ 500: {
1493
+ headers: {
1494
+ [name: string]: unknown;
1495
+ };
1496
+ content: {
1497
+ /**
1498
+ * @example {
1499
+ * "success": false,
1500
+ * "code": 500,
1501
+ * "error": "internal server error"
1502
+ * }
1503
+ */
1504
+ "application/json": {
1505
+ /** @example false */
1506
+ success: boolean;
1507
+ /**
1508
+ * @description HTTP status code echoed in the body.
1509
+ * @example 400
1510
+ */
1511
+ code?: number;
1512
+ /**
1513
+ * @description Human-readable error message.
1514
+ * @example invalid request
1515
+ */
1516
+ error: string;
1517
+ };
1518
+ };
1519
+ };
1520
+ };
1521
+ };
1522
+ "create-uda-address": {
1523
+ parameters: {
1524
+ query?: never;
1525
+ header?: never;
1526
+ path?: never;
1527
+ cookie?: never;
1528
+ };
1529
+ /** @description UDA address configuration. */
1530
+ requestBody: {
1531
+ content: {
1532
+ "application/json": {
1533
+ /**
1534
+ * @description The owner the UDA is allocated for.
1535
+ * @example 0x9f8e7d6c5b4a39281706f5e4d3c2b1a098765432
1536
+ */
1537
+ owner: string;
1538
+ /** @description Where settlements for this UDA should be delivered. */
1539
+ destination: {
1540
+ /**
1541
+ * @description Destination wallet address.
1542
+ * @example 0x3a1f8b2c9d4e5f60718293a4b5c6d7e8f9012345
1543
+ */
1544
+ address: string;
1545
+ /**
1546
+ * @description Destination SLIP-44 network id.
1547
+ * @example 60
1548
+ */
1549
+ network_id: string;
1550
+ /**
1551
+ * @description Destination asset symbol.
1552
+ * @example USDC
1553
+ */
1554
+ asset_symbol?: string;
1555
+ };
1556
+ /**
1557
+ * @description Asset symbols this UDA accepts; empty means every asset on every UDA-supported chain.
1558
+ * @example [
1559
+ * "USDC",
1560
+ * "USDT"
1561
+ * ]
1562
+ */
1563
+ accepted_assets?: string[];
1564
+ /** @description Optional; max 3. Specificity-wins precedence: a rule pinning both `source_network_id` and `source_asset_symbol` beats a network-only rule. When nothing matches, settlements use the default destination. */
1565
+ routing_rules?: {
1566
+ /** @description Conditions a deposit must meet for this routing rule to apply. */
1567
+ match: {
1568
+ /** @example 60 */
1569
+ source_network_id: string;
1570
+ /** @example USDT */
1571
+ source_asset_symbol?: string;
1572
+ };
1573
+ destination: {
1574
+ /** @example 0x3a1f8b2c9d4e5f60718293a4b5c6d7e8f9012345 */
1575
+ address: string;
1576
+ /** @example 60 */
1577
+ network_id: string;
1578
+ /** @example USDC */
1579
+ asset_symbol?: string;
1580
+ };
1581
+ }[];
1582
+ };
1583
+ };
1584
+ };
1585
+ responses: {
1586
+ /** @description An existing UDA address for the `(tenant, owner)` pair was returned. */
1587
+ 200: {
1588
+ headers: {
1589
+ [name: string]: unknown;
1590
+ };
1591
+ content: {
1592
+ "application/json": {
1593
+ /** @example uda_2f8c1a9d4e5f6071 */
1594
+ id?: string;
1595
+ /** @example 0x9f8e7d6c5b4a39281706f5e4d3c2b1a098765432 */
1596
+ owner?: string;
1597
+ /**
1598
+ * @example active
1599
+ * @enum {string}
1600
+ */
1601
+ status?: "active" | "retired";
1602
+ /**
1603
+ * Format: date-time
1604
+ * @example 2026-05-20T14:03:12Z
1605
+ */
1606
+ created_at?: string;
1607
+ /** @description Resolved destination (symbol plus the resolved contract address). */
1608
+ destination?: {
1609
+ /** @example 0x3a1f8b2c9d4e5f60718293a4b5c6d7e8f9012345 */
1610
+ address?: string;
1611
+ /** @example 60 */
1612
+ network_id?: string;
1613
+ /** @example 1 */
1614
+ eip155_id?: string;
1615
+ /** @example Ethereum */
1616
+ network_name?: string;
1617
+ /** @example USDC */
1618
+ asset_symbol?: string;
1619
+ /** @example 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 */
1620
+ asset_address?: string;
1621
+ /** @example 6 */
1622
+ asset_decimals?: number;
1623
+ };
1624
+ deposit_addresses?: {
1625
+ /** @example 0x7c2d9a1b3e4f5061728394a5b6c7d8e9f0a1b2c3 */
1626
+ address?: string;
1627
+ /** @example 60 */
1628
+ network_id?: string;
1629
+ /** @example 1 */
1630
+ eip155_id?: string;
1631
+ /** @example Ethereum */
1632
+ network_name?: string;
1633
+ accepted_assets?: {
1634
+ /** @example USDC */
1635
+ symbol?: string;
1636
+ /**
1637
+ * @description Token contract address (zero address for native).
1638
+ * @example 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
1639
+ */
1640
+ address?: string;
1641
+ /** @example 6 */
1642
+ decimals?: number;
1643
+ /** @example https://assets.stridge.com/tokens/usdc.png */
1644
+ logo?: string;
1645
+ }[];
1646
+ }[];
1647
+ /** @description Empty when no rules are configured. */
1648
+ routing_rules?: {
1649
+ match?: {
1650
+ /** @example 60 */
1651
+ source_network_id?: string;
1652
+ /** @example USDT */
1653
+ source_asset_symbol?: string;
1654
+ /** @example 0xdAC17F958D2ee523a2206206994597C13D831ec7 */
1655
+ source_token_address?: string;
1656
+ };
1657
+ destination?: {
1658
+ /** @example 0x3a1f8b2c9d4e5f60718293a4b5c6d7e8f9012345 */
1659
+ address?: string;
1660
+ /** @example 60 */
1661
+ network_id?: string;
1662
+ /** @example 1 */
1663
+ eip155_id?: string;
1664
+ /** @example Ethereum */
1665
+ network_name?: string;
1666
+ /** @example USDC */
1667
+ asset_symbol?: string;
1668
+ /** @example 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 */
1669
+ asset_address?: string;
1670
+ /** @example 6 */
1671
+ asset_decimals?: number;
1672
+ };
1673
+ }[];
1674
+ };
1675
+ };
1676
+ };
1677
+ /** @description A new UDA address was created. */
1678
+ 201: {
1679
+ headers: {
1680
+ [name: string]: unknown;
1681
+ };
1682
+ content: {
1683
+ "application/json": {
1684
+ /** @example uda_2f8c1a9d4e5f6071 */
1685
+ id?: string;
1686
+ /** @example 0x9f8e7d6c5b4a39281706f5e4d3c2b1a098765432 */
1687
+ owner?: string;
1688
+ /**
1689
+ * @example active
1690
+ * @enum {string}
1691
+ */
1692
+ status?: "active" | "retired";
1693
+ /**
1694
+ * Format: date-time
1695
+ * @example 2026-05-20T14:03:12Z
1696
+ */
1697
+ created_at?: string;
1698
+ /** @description Resolved destination (symbol plus the resolved contract address). */
1699
+ destination?: {
1700
+ /** @example 0x3a1f8b2c9d4e5f60718293a4b5c6d7e8f9012345 */
1701
+ address?: string;
1702
+ /** @example 60 */
1703
+ network_id?: string;
1704
+ /** @example 1 */
1705
+ eip155_id?: string;
1706
+ /** @example Ethereum */
1707
+ network_name?: string;
1708
+ /** @example USDC */
1709
+ asset_symbol?: string;
1710
+ /** @example 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 */
1711
+ asset_address?: string;
1712
+ /** @example 6 */
1713
+ asset_decimals?: number;
1714
+ };
1715
+ deposit_addresses?: {
1716
+ /** @example 0x7c2d9a1b3e4f5061728394a5b6c7d8e9f0a1b2c3 */
1717
+ address?: string;
1718
+ /** @example 60 */
1719
+ network_id?: string;
1720
+ /** @example 1 */
1721
+ eip155_id?: string;
1722
+ /** @example Ethereum */
1723
+ network_name?: string;
1724
+ accepted_assets?: {
1725
+ /** @example USDC */
1726
+ symbol?: string;
1727
+ /**
1728
+ * @description Token contract address (zero address for native).
1729
+ * @example 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
1730
+ */
1731
+ address?: string;
1732
+ /** @example 6 */
1733
+ decimals?: number;
1734
+ /** @example https://assets.stridge.com/tokens/usdc.png */
1735
+ logo?: string;
1736
+ }[];
1737
+ }[];
1738
+ /** @description Empty when no rules are configured. */
1739
+ routing_rules?: {
1740
+ match?: {
1741
+ /** @example 60 */
1742
+ source_network_id?: string;
1743
+ /** @example USDT */
1744
+ source_asset_symbol?: string;
1745
+ /** @example 0xdAC17F958D2ee523a2206206994597C13D831ec7 */
1746
+ source_token_address?: string;
1747
+ };
1748
+ destination?: {
1749
+ /** @example 0x3a1f8b2c9d4e5f60718293a4b5c6d7e8f9012345 */
1750
+ address?: string;
1751
+ /** @example 60 */
1752
+ network_id?: string;
1753
+ /** @example 1 */
1754
+ eip155_id?: string;
1755
+ /** @example Ethereum */
1756
+ network_name?: string;
1757
+ /** @example USDC */
1758
+ asset_symbol?: string;
1759
+ /** @example 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 */
1760
+ asset_address?: string;
1761
+ /** @example 6 */
1762
+ asset_decimals?: number;
1763
+ };
1764
+ }[];
1765
+ };
1766
+ };
1767
+ };
1768
+ /** @description The request was malformed or failed validation. */
1769
+ 400: {
1770
+ headers: {
1771
+ [name: string]: unknown;
1772
+ };
1773
+ content: {
1774
+ /**
1775
+ * @example {
1776
+ * "success": false,
1777
+ * "code": 400,
1778
+ * "error": "invalid request"
1779
+ * }
1780
+ */
1781
+ "application/json": {
1782
+ /** @example false */
1783
+ success: boolean;
1784
+ /**
1785
+ * @description HTTP status code echoed in the body.
1786
+ * @example 400
1787
+ */
1788
+ code?: number;
1789
+ /**
1790
+ * @description Human-readable error message.
1791
+ * @example invalid request
1792
+ */
1793
+ error: string;
1794
+ };
1795
+ };
1796
+ };
1797
+ /** @description The `X-API-Key` header is missing or invalid. */
1798
+ 401: {
1799
+ headers: {
1800
+ [name: string]: unknown;
1801
+ };
1802
+ content: {
1803
+ /**
1804
+ * @example {
1805
+ * "success": false,
1806
+ * "code": 401,
1807
+ * "error": "unauthenticated"
1808
+ * }
1809
+ */
1810
+ "application/json": {
1811
+ /** @example false */
1812
+ success: boolean;
1813
+ /**
1814
+ * @description HTTP status code echoed in the body.
1815
+ * @example 400
1816
+ */
1817
+ code?: number;
1818
+ /**
1819
+ * @description Human-readable error message.
1820
+ * @example invalid request
1821
+ */
1822
+ error: string;
1823
+ };
1824
+ };
1825
+ };
1826
+ };
1827
+ };
1828
+ "get-quote": {
1829
+ parameters: {
1830
+ query: {
1831
+ /** @description Source SLIP-44 network id (e.g. `60`) or EIP-155 chain id (e.g. `1`). */
1832
+ from_network_id: number;
1833
+ /** @description Source token contract address (use the zero address for the chain's native asset). */
1834
+ from_asset: string;
1835
+ /** @description Destination SLIP-44 network id (e.g. `9006`) or EIP-155 chain id (e.g. `56`). */
1836
+ to_network_id: number;
1837
+ /** @description Destination token contract address. */
1838
+ to_asset: string;
1839
+ /** @description Source amount as an integer string in the source token's smallest unit. */
1840
+ amount: string;
1841
+ /** @description Source (signer) EOA; required for an executable quote. */
1842
+ from_address?: string;
1843
+ /** @description Destination recipient address; defaults to `from_address` at the provider. */
1844
+ to_address?: string;
1845
+ };
1846
+ header?: never;
1847
+ path?: never;
1848
+ cookie?: never;
1849
+ };
1850
+ requestBody?: never;
1851
+ responses: {
1852
+ /** @description An indicative quote. */
1853
+ 200: {
1854
+ headers: {
1855
+ [name: string]: unknown;
1856
+ };
1857
+ content: {
1858
+ "application/json": {
1859
+ /** @example true */
1860
+ success: boolean;
1861
+ /** @example operation completed successfully */
1862
+ message?: string;
1863
+ } & {
1864
+ data?: {
1865
+ from?: {
1866
+ /**
1867
+ * @description EIP-155 chain id for this side.
1868
+ * @example 1
1869
+ */
1870
+ network_id?: number;
1871
+ /** @example 0x0000000000000000000000000000000000000000 */
1872
+ asset_address?: string;
1873
+ /**
1874
+ * @description Amount in the asset's smallest unit.
1875
+ * @example 1000000000000000000
1876
+ */
1877
+ amount?: string;
1878
+ };
1879
+ to?: {
1880
+ /**
1881
+ * @description EIP-155 chain id for this side.
1882
+ * @example 1
1883
+ */
1884
+ network_id?: number;
1885
+ /** @example 0x0000000000000000000000000000000000000000 */
1886
+ asset_address?: string;
1887
+ /**
1888
+ * @description Amount in the asset's smallest unit.
1889
+ * @example 1000000000000000000
1890
+ */
1891
+ amount?: string;
1892
+ };
1893
+ /** @example 0.9985 */
1894
+ exchange_rate?: string;
1895
+ /**
1896
+ * Format: date-time
1897
+ * @example 2026-05-29T12:05:00Z
1898
+ */
1899
+ expires_at?: string;
1900
+ fees?: {
1901
+ /** @example 3500000000000000 */
1902
+ total_fee?: string;
1903
+ /** @example 1000000000000000 */
1904
+ gas_fee?: string;
1905
+ /**
1906
+ * @description Chain-level reserve (e.g. TRON bandwidth).
1907
+ * @example 0
1908
+ */
1909
+ network_reserve?: string;
1910
+ /** @example 2500000000000000 */
1911
+ platform_fee?: string;
1912
+ /**
1913
+ * @description Third-party (e.g. LiFi / Relay) fee.
1914
+ * @example 0
1915
+ */
1916
+ provider_fee?: string;
1917
+ items?: {
1918
+ /** @example platform */
1919
+ kind?: string;
1920
+ /** @example 2500000000000000 */
1921
+ amount?: string;
1922
+ /** @example stridge */
1923
+ source?: string;
1924
+ /** @example 0xfee0000000000000000000000000000000000000 */
1925
+ recipient?: string;
1926
+ }[];
1927
+ };
1928
+ route?: {
1929
+ /** @example lifi */
1930
+ provider?: string;
1931
+ /** @example cross_chain_swap */
1932
+ scenario?: string;
1933
+ /** @example 45 */
1934
+ estimated_time_seconds?: number;
1935
+ };
1936
+ };
1937
+ };
1938
+ };
1939
+ };
1940
+ /** @description The request was malformed or failed validation. */
1941
+ 400: {
1942
+ headers: {
1943
+ [name: string]: unknown;
1944
+ };
1945
+ content: {
1946
+ /**
1947
+ * @example {
1948
+ * "success": false,
1949
+ * "code": 400,
1950
+ * "error": "invalid request"
1951
+ * }
1952
+ */
1953
+ "application/json": {
1954
+ /** @example false */
1955
+ success: boolean;
1956
+ /**
1957
+ * @description HTTP status code echoed in the body.
1958
+ * @example 400
1959
+ */
1960
+ code?: number;
1961
+ /**
1962
+ * @description Human-readable error message.
1963
+ * @example invalid request
1964
+ */
1965
+ error: string;
1966
+ };
1967
+ };
1968
+ };
1969
+ /** @description An unexpected error occurred on the server. */
1970
+ 500: {
1971
+ headers: {
1972
+ [name: string]: unknown;
1973
+ };
1974
+ content: {
1975
+ /**
1976
+ * @example {
1977
+ * "success": false,
1978
+ * "code": 500,
1979
+ * "error": "internal server error"
1980
+ * }
1981
+ */
1982
+ "application/json": {
1983
+ /** @example false */
1984
+ success: boolean;
1985
+ /**
1986
+ * @description HTTP status code echoed in the body.
1987
+ * @example 400
1988
+ */
1989
+ code?: number;
1990
+ /**
1991
+ * @description Human-readable error message.
1992
+ * @example invalid request
1993
+ */
1994
+ error: string;
1995
+ };
1996
+ };
1997
+ };
1998
+ };
1999
+ };
2000
+ "list-supported-assets": {
2001
+ parameters: {
2002
+ query?: never;
2003
+ header?: never;
2004
+ path?: never;
2005
+ cookie?: never;
2006
+ };
2007
+ requestBody?: never;
2008
+ responses: {
2009
+ /** @description Supported chains and assets. */
2010
+ 200: {
2011
+ headers: {
2012
+ [name: string]: unknown;
2013
+ };
2014
+ content: {
2015
+ "application/json": {
2016
+ assets?: {
2017
+ /** @example 60 */
2018
+ network_id?: string;
2019
+ /** @example Ethereum */
2020
+ network_name?: string;
2021
+ /** @example ETH */
2022
+ network_symbol?: string;
2023
+ /** @example 1 */
2024
+ eip155_id?: number;
2025
+ /**
2026
+ * @example EVM
2027
+ * @enum {string}
2028
+ */
2029
+ chain_type?: "EVM" | "TVM";
2030
+ native_currency?: {
2031
+ /** @example ETH */
2032
+ symbol?: string;
2033
+ /** @example Ether */
2034
+ name?: string;
2035
+ /** @example 18 */
2036
+ decimals?: number;
2037
+ /** @example https://assets.stridge.com/tokens/eth.png */
2038
+ logo?: string;
2039
+ /** @example 1.00 */
2040
+ min_deposit_usd?: string;
2041
+ /** @example 0 */
2042
+ price_impact?: string;
2043
+ };
2044
+ assets?: {
2045
+ /** @example USDC */
2046
+ symbol?: string;
2047
+ /** @example USD Coin */
2048
+ name?: string;
2049
+ /** @example 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 */
2050
+ address?: string;
2051
+ /** @example 6 */
2052
+ decimals?: number;
2053
+ /** @example https://assets.stridge.com/tokens/usdc.png */
2054
+ logo?: string;
2055
+ /** @example 1.00 */
2056
+ min_deposit_usd?: string;
2057
+ /** @example 0 */
2058
+ price_impact?: string;
2059
+ }[];
2060
+ }[];
2061
+ };
2062
+ };
2063
+ };
2064
+ /** @description An unexpected error occurred on the server. */
2065
+ 500: {
2066
+ headers: {
2067
+ [name: string]: unknown;
2068
+ };
2069
+ content: {
2070
+ /**
2071
+ * @example {
2072
+ * "success": false,
2073
+ * "code": 500,
2074
+ * "error": "internal server error"
2075
+ * }
2076
+ */
2077
+ "application/json": {
2078
+ /** @example false */
2079
+ success: boolean;
2080
+ /**
2081
+ * @description HTTP status code echoed in the body.
2082
+ * @example 400
2083
+ */
2084
+ code?: number;
2085
+ /**
2086
+ * @description Human-readable error message.
2087
+ * @example invalid request
2088
+ */
2089
+ error: string;
2090
+ };
2091
+ };
2092
+ };
2093
+ };
2094
+ };
2095
+ "list-settlements-for-uda": {
2096
+ parameters: {
2097
+ query?: {
2098
+ /** @description Page size (default 50, max 200). */
2099
+ limit?: number;
2100
+ /** @description Number of items to skip (default 0). */
2101
+ offset?: number;
2102
+ };
2103
+ header?: never;
2104
+ path: {
2105
+ /** @description UDA address id. */
2106
+ id: string;
2107
+ };
2108
+ cookie?: never;
2109
+ };
2110
+ requestBody?: never;
2111
+ responses: {
2112
+ /** @description A page of settlements. */
2113
+ 200: {
2114
+ headers: {
2115
+ [name: string]: unknown;
2116
+ };
2117
+ content: {
2118
+ "application/json": {
2119
+ data?: {
2120
+ /** @example stl_71829304a5b6c7d8 */
2121
+ id?: string;
2122
+ /** @example uda_2f8c1a9d4e5f6071 */
2123
+ uda_id?: string;
2124
+ /**
2125
+ * @example completed
2126
+ * @enum {string}
2127
+ */
2128
+ status?: "created" | "routing" | "completed" | "failed" | "retrying";
2129
+ /**
2130
+ * Format: date-time
2131
+ * @example 2026-05-29T11:58:41Z
2132
+ */
2133
+ created_at?: string;
2134
+ /**
2135
+ * Format: date-time
2136
+ * @example 2026-05-29T11:59:25Z
2137
+ */
2138
+ updated_at?: string;
2139
+ /**
2140
+ * @description Failure reason when `status` is `failed`; empty otherwise.
2141
+ * @example
2142
+ */
2143
+ error?: string;
2144
+ deposit?: {
2145
+ /** @example 0x7c2d9a1b3e4f5061728394a5b6c7d8e9f0a1b2c3 */
2146
+ address?: string;
2147
+ /** @example 1000000 */
2148
+ amount?: string;
2149
+ /** @example USDC */
2150
+ asset_symbol?: string;
2151
+ /** @example 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 */
2152
+ asset_address?: string;
2153
+ /** @example 1 */
2154
+ network_id?: number;
2155
+ /** @example Ethereum */
2156
+ network_name?: string;
2157
+ /** @example 0xab12cd34ef56...7890 */
2158
+ tx_hash?: string;
2159
+ /**
2160
+ * Format: date-time
2161
+ * @example 2026-05-29T11:58:40Z
2162
+ */
2163
+ confirmed_at?: string;
2164
+ };
2165
+ settlement?: {
2166
+ /** @example 0x3a1f8b2c9d4e5f60718293a4b5c6d7e8f9012345 */
2167
+ address?: string;
2168
+ /** @example 998500 */
2169
+ amount?: string;
2170
+ /** @example USDC */
2171
+ asset_symbol?: string;
2172
+ /** @example 0x55d398326f99059fF775485246999027B3197955 */
2173
+ asset_address?: string;
2174
+ /** @example 56 */
2175
+ network_id?: number;
2176
+ /** @example BNB Smart Chain */
2177
+ network_name?: string;
2178
+ /** @example 0xcd34ef5678...90ab */
2179
+ tx_hash?: string;
2180
+ /**
2181
+ * Format: date-time
2182
+ * @example 2026-05-29T11:59:25Z
2183
+ */
2184
+ settled_at?: string;
2185
+ };
2186
+ fees?: {
2187
+ /** @example 1500 */
2188
+ total?: string;
2189
+ /** @example 1500 */
2190
+ platform?: string;
2191
+ /** @example 0 */
2192
+ provider?: string;
2193
+ /**
2194
+ * @description Equal to `total` (back-compat field).
2195
+ * @example 1500
2196
+ */
2197
+ fee_amount?: string;
2198
+ };
2199
+ route?: {
2200
+ /** @example lifi */
2201
+ provider?: string;
2202
+ /** @example cross_chain_swap */
2203
+ type?: string;
2204
+ /** @example 45000 */
2205
+ time_ms?: number;
2206
+ };
2207
+ }[];
2208
+ pagination?: {
2209
+ /**
2210
+ * @description Number of items in this page.
2211
+ * @example 20
2212
+ */
2213
+ count?: number;
2214
+ /** @example 50 */
2215
+ limit?: number;
2216
+ /** @example 0 */
2217
+ offset?: number;
2218
+ };
2219
+ };
2220
+ };
2221
+ };
2222
+ /** @description The `X-API-Key` header is missing or invalid. */
2223
+ 401: {
2224
+ headers: {
2225
+ [name: string]: unknown;
2226
+ };
2227
+ content: {
2228
+ /**
2229
+ * @example {
2230
+ * "success": false,
2231
+ * "code": 401,
2232
+ * "error": "unauthenticated"
2233
+ * }
2234
+ */
2235
+ "application/json": {
2236
+ /** @example false */
2237
+ success: boolean;
2238
+ /**
2239
+ * @description HTTP status code echoed in the body.
2240
+ * @example 400
2241
+ */
2242
+ code?: number;
2243
+ /**
2244
+ * @description Human-readable error message.
2245
+ * @example invalid request
2246
+ */
2247
+ error: string;
2248
+ };
2249
+ };
2250
+ };
2251
+ /** @description An unexpected error occurred on the server. */
2252
+ 500: {
2253
+ headers: {
2254
+ [name: string]: unknown;
2255
+ };
2256
+ content: {
2257
+ /**
2258
+ * @example {
2259
+ * "success": false,
2260
+ * "code": 500,
2261
+ * "error": "internal server error"
2262
+ * }
2263
+ */
2264
+ "application/json": {
2265
+ /** @example false */
2266
+ success: boolean;
2267
+ /**
2268
+ * @description HTTP status code echoed in the body.
2269
+ * @example 400
2270
+ */
2271
+ code?: number;
2272
+ /**
2273
+ * @description Human-readable error message.
2274
+ * @example invalid request
2275
+ */
2276
+ error: string;
2277
+ };
2278
+ };
2279
+ };
2280
+ };
2281
+ };
2282
+ "get-settlement": {
2283
+ parameters: {
2284
+ query?: never;
2285
+ header?: never;
2286
+ path: {
2287
+ /** @description Settlement id. */
2288
+ id: string;
2289
+ };
2290
+ cookie?: never;
2291
+ };
2292
+ requestBody?: never;
2293
+ responses: {
2294
+ /** @description The settlement. */
2295
+ 200: {
2296
+ headers: {
2297
+ [name: string]: unknown;
2298
+ };
2299
+ content: {
2300
+ "application/json": {
2301
+ /** @example stl_71829304a5b6c7d8 */
2302
+ id?: string;
2303
+ /** @example uda_2f8c1a9d4e5f6071 */
2304
+ uda_id?: string;
2305
+ /**
2306
+ * @example completed
2307
+ * @enum {string}
2308
+ */
2309
+ status?: "created" | "routing" | "completed" | "failed" | "retrying";
2310
+ /**
2311
+ * Format: date-time
2312
+ * @example 2026-05-29T11:58:41Z
2313
+ */
2314
+ created_at?: string;
2315
+ /**
2316
+ * Format: date-time
2317
+ * @example 2026-05-29T11:59:25Z
2318
+ */
2319
+ updated_at?: string;
2320
+ /**
2321
+ * @description Failure reason when `status` is `failed`; empty otherwise.
2322
+ * @example
2323
+ */
2324
+ error?: string;
2325
+ deposit?: {
2326
+ /** @example 0x7c2d9a1b3e4f5061728394a5b6c7d8e9f0a1b2c3 */
2327
+ address?: string;
2328
+ /** @example 1000000 */
2329
+ amount?: string;
2330
+ /** @example USDC */
2331
+ asset_symbol?: string;
2332
+ /** @example 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 */
2333
+ asset_address?: string;
2334
+ /** @example 1 */
2335
+ network_id?: number;
2336
+ /** @example Ethereum */
2337
+ network_name?: string;
2338
+ /** @example 0xab12cd34ef56...7890 */
2339
+ tx_hash?: string;
2340
+ /**
2341
+ * Format: date-time
2342
+ * @example 2026-05-29T11:58:40Z
2343
+ */
2344
+ confirmed_at?: string;
2345
+ };
2346
+ settlement?: {
2347
+ /** @example 0x3a1f8b2c9d4e5f60718293a4b5c6d7e8f9012345 */
2348
+ address?: string;
2349
+ /** @example 998500 */
2350
+ amount?: string;
2351
+ /** @example USDC */
2352
+ asset_symbol?: string;
2353
+ /** @example 0x55d398326f99059fF775485246999027B3197955 */
2354
+ asset_address?: string;
2355
+ /** @example 56 */
2356
+ network_id?: number;
2357
+ /** @example BNB Smart Chain */
2358
+ network_name?: string;
2359
+ /** @example 0xcd34ef5678...90ab */
2360
+ tx_hash?: string;
2361
+ /**
2362
+ * Format: date-time
2363
+ * @example 2026-05-29T11:59:25Z
2364
+ */
2365
+ settled_at?: string;
2366
+ };
2367
+ fees?: {
2368
+ /** @example 1500 */
2369
+ total?: string;
2370
+ /** @example 1500 */
2371
+ platform?: string;
2372
+ /** @example 0 */
2373
+ provider?: string;
2374
+ /**
2375
+ * @description Equal to `total` (back-compat field).
2376
+ * @example 1500
2377
+ */
2378
+ fee_amount?: string;
2379
+ };
2380
+ route?: {
2381
+ /** @example lifi */
2382
+ provider?: string;
2383
+ /** @example cross_chain_swap */
2384
+ type?: string;
2385
+ /** @example 45000 */
2386
+ time_ms?: number;
2387
+ };
2388
+ };
2389
+ };
2390
+ };
2391
+ /** @description The `X-API-Key` header is missing or invalid. */
2392
+ 401: {
2393
+ headers: {
2394
+ [name: string]: unknown;
2395
+ };
2396
+ content: {
2397
+ /**
2398
+ * @example {
2399
+ * "success": false,
2400
+ * "code": 401,
2401
+ * "error": "unauthenticated"
2402
+ * }
2403
+ */
2404
+ "application/json": {
2405
+ /** @example false */
2406
+ success: boolean;
2407
+ /**
2408
+ * @description HTTP status code echoed in the body.
2409
+ * @example 400
2410
+ */
2411
+ code?: number;
2412
+ /**
2413
+ * @description Human-readable error message.
2414
+ * @example invalid request
2415
+ */
2416
+ error: string;
2417
+ };
2418
+ };
2419
+ };
2420
+ /** @description The requested resource does not exist. */
2421
+ 404: {
2422
+ headers: {
2423
+ [name: string]: unknown;
2424
+ };
2425
+ content: {
2426
+ /**
2427
+ * @example {
2428
+ * "success": false,
2429
+ * "code": 404,
2430
+ * "error": "not found"
2431
+ * }
2432
+ */
2433
+ "application/json": {
2434
+ /** @example false */
2435
+ success: boolean;
2436
+ /**
2437
+ * @description HTTP status code echoed in the body.
2438
+ * @example 400
2439
+ */
2440
+ code?: number;
2441
+ /**
2442
+ * @description Human-readable error message.
2443
+ * @example invalid request
2444
+ */
2445
+ error: string;
2446
+ };
2447
+ };
2448
+ };
2449
+ };
2450
+ };
2451
+ "list-settlements-by-reference": {
2452
+ parameters: {
2453
+ query: {
2454
+ /** @description Lookup reference (on-chain deposit transaction id). */
2455
+ reference: string;
2456
+ };
2457
+ header?: never;
2458
+ path?: never;
2459
+ cookie?: never;
2460
+ };
2461
+ requestBody?: never;
2462
+ responses: {
2463
+ /** @description Matching settlements. */
2464
+ 200: {
2465
+ headers: {
2466
+ [name: string]: unknown;
2467
+ };
2468
+ content: {
2469
+ "application/json": {
2470
+ /**
2471
+ * @description The reference that was looked up.
2472
+ * @example 0xab12cd34ef56...7890
2473
+ */
2474
+ reference?: string;
2475
+ /** @example 1 */
2476
+ count?: number;
2477
+ data?: {
2478
+ /** @example stl_71829304a5b6c7d8 */
2479
+ id?: string;
2480
+ /** @example uda_2f8c1a9d4e5f6071 */
2481
+ uda_id?: string;
2482
+ /**
2483
+ * @example completed
2484
+ * @enum {string}
2485
+ */
2486
+ status?: "created" | "routing" | "completed" | "failed" | "retrying";
2487
+ /**
2488
+ * Format: date-time
2489
+ * @example 2026-05-29T11:58:41Z
2490
+ */
2491
+ created_at?: string;
2492
+ /**
2493
+ * Format: date-time
2494
+ * @example 2026-05-29T11:59:25Z
2495
+ */
2496
+ updated_at?: string;
2497
+ /**
2498
+ * @description Failure reason when `status` is `failed`; empty otherwise.
2499
+ * @example
2500
+ */
2501
+ error?: string;
2502
+ deposit?: {
2503
+ /** @example 0x7c2d9a1b3e4f5061728394a5b6c7d8e9f0a1b2c3 */
2504
+ address?: string;
2505
+ /** @example 1000000 */
2506
+ amount?: string;
2507
+ /** @example USDC */
2508
+ asset_symbol?: string;
2509
+ /** @example 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 */
2510
+ asset_address?: string;
2511
+ /** @example 1 */
2512
+ network_id?: number;
2513
+ /** @example Ethereum */
2514
+ network_name?: string;
2515
+ /** @example 0xab12cd34ef56...7890 */
2516
+ tx_hash?: string;
2517
+ /**
2518
+ * Format: date-time
2519
+ * @example 2026-05-29T11:58:40Z
2520
+ */
2521
+ confirmed_at?: string;
2522
+ };
2523
+ settlement?: {
2524
+ /** @example 0x3a1f8b2c9d4e5f60718293a4b5c6d7e8f9012345 */
2525
+ address?: string;
2526
+ /** @example 998500 */
2527
+ amount?: string;
2528
+ /** @example USDC */
2529
+ asset_symbol?: string;
2530
+ /** @example 0x55d398326f99059fF775485246999027B3197955 */
2531
+ asset_address?: string;
2532
+ /** @example 56 */
2533
+ network_id?: number;
2534
+ /** @example BNB Smart Chain */
2535
+ network_name?: string;
2536
+ /** @example 0xcd34ef5678...90ab */
2537
+ tx_hash?: string;
2538
+ /**
2539
+ * Format: date-time
2540
+ * @example 2026-05-29T11:59:25Z
2541
+ */
2542
+ settled_at?: string;
2543
+ };
2544
+ fees?: {
2545
+ /** @example 1500 */
2546
+ total?: string;
2547
+ /** @example 1500 */
2548
+ platform?: string;
2549
+ /** @example 0 */
2550
+ provider?: string;
2551
+ /**
2552
+ * @description Equal to `total` (back-compat field).
2553
+ * @example 1500
2554
+ */
2555
+ fee_amount?: string;
2556
+ };
2557
+ route?: {
2558
+ /** @example lifi */
2559
+ provider?: string;
2560
+ /** @example cross_chain_swap */
2561
+ type?: string;
2562
+ /** @example 45000 */
2563
+ time_ms?: number;
2564
+ };
2565
+ }[];
2566
+ };
2567
+ };
2568
+ };
2569
+ /** @description The request was malformed or failed validation. */
2570
+ 400: {
2571
+ headers: {
2572
+ [name: string]: unknown;
2573
+ };
2574
+ content: {
2575
+ /**
2576
+ * @example {
2577
+ * "success": false,
2578
+ * "code": 400,
2579
+ * "error": "invalid request"
2580
+ * }
2581
+ */
2582
+ "application/json": {
2583
+ /** @example false */
2584
+ success: boolean;
2585
+ /**
2586
+ * @description HTTP status code echoed in the body.
2587
+ * @example 400
2588
+ */
2589
+ code?: number;
2590
+ /**
2591
+ * @description Human-readable error message.
2592
+ * @example invalid request
2593
+ */
2594
+ error: string;
2595
+ };
2596
+ };
2597
+ };
2598
+ /** @description The `X-API-Key` header is missing or invalid. */
2599
+ 401: {
2600
+ headers: {
2601
+ [name: string]: unknown;
2602
+ };
2603
+ content: {
2604
+ /**
2605
+ * @example {
2606
+ * "success": false,
2607
+ * "code": 401,
2608
+ * "error": "unauthenticated"
2609
+ * }
2610
+ */
2611
+ "application/json": {
2612
+ /** @example false */
2613
+ success: boolean;
2614
+ /**
2615
+ * @description HTTP status code echoed in the body.
2616
+ * @example 400
2617
+ */
2618
+ code?: number;
2619
+ /**
2620
+ * @description Human-readable error message.
2621
+ * @example invalid request
2622
+ */
2623
+ error: string;
2624
+ };
2625
+ };
2626
+ };
2627
+ /** @description An unexpected error occurred on the server. */
2628
+ 500: {
2629
+ headers: {
2630
+ [name: string]: unknown;
2631
+ };
2632
+ content: {
2633
+ /**
2634
+ * @example {
2635
+ * "success": false,
2636
+ * "code": 500,
2637
+ * "error": "internal server error"
2638
+ * }
2639
+ */
2640
+ "application/json": {
2641
+ /** @example false */
2642
+ success: boolean;
2643
+ /**
2644
+ * @description HTTP status code echoed in the body.
2645
+ * @example 400
2646
+ */
2647
+ code?: number;
2648
+ /**
2649
+ * @description Human-readable error message.
2650
+ * @example invalid request
2651
+ */
2652
+ error: string;
2653
+ };
2654
+ };
2655
+ };
2656
+ };
2657
+ };
2658
+ }