squarefi-bff-api-module 1.36.63 → 1.36.65

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.
@@ -860,6 +860,13 @@ export interface paths {
860
860
  };
861
861
  };
862
862
  };
863
+ /** @description Wallet does not belong to tenant, or its KYC status does not allow the operation (`KYC_REQUIREMENTS_NOT_MET`) */
864
+ 403: {
865
+ headers: {
866
+ [name: string]: unknown;
867
+ };
868
+ content?: never;
869
+ };
863
870
  /** @description Wallet not found */
864
871
  404: {
865
872
  headers: {
@@ -937,210 +944,22 @@ export interface paths {
937
944
  };
938
945
  content?: never;
939
946
  };
940
- /** @description Address for this chain already exists */
941
- 409: {
942
- headers: {
943
- [name: string]: unknown;
944
- };
945
- content?: never;
946
- };
947
- };
948
- };
949
- delete?: never;
950
- options?: never;
951
- head?: never;
952
- patch?: never;
953
- trace?: never;
954
- };
955
- "/admin/crypto_wallets/{wallet_id}": {
956
- parameters: {
957
- query?: never;
958
- header?: never;
959
- path?: never;
960
- cookie?: never;
961
- };
962
- /** List crypto wallets */
963
- get: {
964
- parameters: {
965
- query?: {
966
- /** @description Filter by exact external_id */
967
- external_id?: string;
968
- /** @description Search by name (case-insensitive, partial match) */
969
- name?: string;
970
- /** @description Filter by status (default active) */
971
- status?: "active" | "inactive";
972
- /** @description Filter wallets created after this date (ISO 8601) */
973
- created_after?: string;
974
- /** @description Filter wallets created before this date (ISO 8601) */
975
- created_before?: string;
976
- offset?: number;
977
- limit?: number;
978
- };
979
- header?: never;
980
- path: {
981
- wallet_id: string;
982
- };
983
- cookie?: never;
984
- };
985
- requestBody?: never;
986
- responses: {
987
- /** @description Crypto wallets listed */
988
- 200: {
989
- headers: {
990
- [name: string]: unknown;
991
- };
992
- content: {
993
- "application/json": {
994
- success?: boolean;
995
- data?: components["schemas"]["CryptoWalletListItem"][];
996
- pagination?: components["schemas"]["PaginationResponse"];
997
- };
998
- };
999
- };
1000
- /** @description Wallet does not belong to tenant */
947
+ /** @description Wallet does not belong to tenant, or its KYC status does not allow the operation (`KYC_REQUIREMENTS_NOT_MET`) */
1001
948
  403: {
1002
949
  headers: {
1003
950
  [name: string]: unknown;
1004
951
  };
1005
- content: {
1006
- "application/json": components["schemas"]["ErrorResponse"];
1007
- };
1008
- };
1009
- /** @description Internal server error */
1010
- 500: {
1011
- headers: {
1012
- [name: string]: unknown;
1013
- };
1014
- content: {
1015
- "application/json": components["schemas"]["ErrorResponse"];
1016
- };
1017
- };
1018
- };
1019
- };
1020
- put?: never;
1021
- /** Create crypto wallet */
1022
- post: {
1023
- parameters: {
1024
- query?: never;
1025
- header?: never;
1026
- path: {
1027
- wallet_id: string;
1028
- };
1029
- cookie?: never;
1030
- };
1031
- requestBody: {
1032
- content: {
1033
- "application/json": {
1034
- name: string;
1035
- external_id?: string;
1036
- /** @description Chain IDs to create addresses on. Omit or leave empty to create a wallet without addresses; the first address added later creates the custody-provider wallet. */
1037
- chains?: number[];
1038
- };
1039
- };
1040
- };
1041
- responses: {
1042
- /** @description Crypto wallet created */
1043
- 201: {
1044
- headers: {
1045
- [name: string]: unknown;
1046
- };
1047
- content: {
1048
- "application/json": {
1049
- success?: boolean;
1050
- data?: components["schemas"]["CryptoWallet"];
1051
- message?: string;
1052
- };
1053
- };
1054
- };
1055
- /** @description Invalid request (missing name, invalid chains) */
1056
- 400: {
1057
- headers: {
1058
- [name: string]: unknown;
1059
- };
1060
- content: {
1061
- "application/json": components["schemas"]["ErrorResponse"];
1062
- };
1063
- };
1064
- /** @description Wallet does not belong to tenant */
1065
- 403: {
1066
- headers: {
1067
- [name: string]: unknown;
1068
- };
1069
- content: {
1070
- "application/json": components["schemas"]["ErrorResponse"];
1071
- };
952
+ content?: never;
1072
953
  };
1073
- /** @description external_id already exists for this tenant */
954
+ /** @description Address for this chain already exists */
1074
955
  409: {
1075
956
  headers: {
1076
957
  [name: string]: unknown;
1077
958
  };
1078
- content: {
1079
- "application/json": components["schemas"]["ErrorResponse"];
1080
- };
1081
- };
1082
- };
1083
- };
1084
- delete?: never;
1085
- options?: never;
1086
- head?: never;
1087
- patch?: never;
1088
- trace?: never;
1089
- };
1090
- "/admin/crypto_wallets/{wallet_id}/addresses": {
1091
- parameters: {
1092
- query?: never;
1093
- header?: never;
1094
- path?: never;
1095
- cookie?: never;
1096
- };
1097
- /** List crypto wallet addresses */
1098
- get: {
1099
- parameters: {
1100
- query?: {
1101
- /** @description Filter by chain ID */
1102
- chain?: number;
1103
- /** @description Filter by specific crypto wallet */
1104
- crypto_wallet_id?: string;
1105
- /** @description Search by address (case-insensitive, partial match) */
1106
- address?: string;
1107
- offset?: number;
1108
- limit?: number;
1109
- };
1110
- header?: never;
1111
- path: {
1112
- wallet_id: string;
1113
- };
1114
- cookie?: never;
1115
- };
1116
- requestBody?: never;
1117
- responses: {
1118
- /** @description Addresses listed */
1119
- 200: {
1120
- headers: {
1121
- [name: string]: unknown;
1122
- };
1123
- content: {
1124
- "application/json": {
1125
- success?: boolean;
1126
- data?: components["schemas"]["CryptoWalletAddressListItem"][];
1127
- pagination?: components["schemas"]["PaginationResponse"];
1128
- };
1129
- };
1130
- };
1131
- /** @description Wallet does not belong to tenant */
1132
- 403: {
1133
- headers: {
1134
- [name: string]: unknown;
1135
- };
1136
- content: {
1137
- "application/json": components["schemas"]["ErrorResponse"];
1138
- };
959
+ content?: never;
1139
960
  };
1140
961
  };
1141
962
  };
1142
- put?: never;
1143
- post?: never;
1144
963
  delete?: never;
1145
964
  options?: never;
1146
965
  head?: never;
@@ -1179,51 +998,7 @@ export interface paths {
1179
998
  };
1180
999
  };
1181
1000
  };
1182
- /** @description Crypto wallet not found */
1183
- 404: {
1184
- headers: {
1185
- [name: string]: unknown;
1186
- };
1187
- content: {
1188
- "application/json": components["schemas"]["ErrorResponse"];
1189
- };
1190
- };
1191
- };
1192
- };
1193
- put?: never;
1194
- post?: never;
1195
- /**
1196
- * Delete crypto wallet
1197
- * @description Soft-deletes a crypto wallet and archives it with the custody provider.
1198
- * The wallet is marked as deleted and all addresses are deactivated.
1199
- *
1200
- */
1201
- delete: {
1202
- parameters: {
1203
- query?: never;
1204
- header?: never;
1205
- path: {
1206
- wallet_id: string;
1207
- crypto_wallet_id: string;
1208
- };
1209
- cookie?: never;
1210
- };
1211
- requestBody?: never;
1212
- responses: {
1213
- /** @description Crypto wallet soft-deleted */
1214
- 200: {
1215
- headers: {
1216
- [name: string]: unknown;
1217
- };
1218
- content: {
1219
- "application/json": {
1220
- success?: boolean;
1221
- data?: components["schemas"]["CryptoWalletDeleteResponse"];
1222
- message?: string;
1223
- };
1224
- };
1225
- };
1226
- /** @description Wallet does not belong to tenant */
1001
+ /** @description Wallet does not belong to tenant, or its KYC status does not allow the operation (`KYC_REQUIREMENTS_NOT_MET`) */
1227
1002
  403: {
1228
1003
  headers: {
1229
1004
  [name: string]: unknown;
@@ -1243,6 +1018,9 @@ export interface paths {
1243
1018
  };
1244
1019
  };
1245
1020
  };
1021
+ put?: never;
1022
+ post?: never;
1023
+ delete?: never;
1246
1024
  options?: never;
1247
1025
  head?: never;
1248
1026
  patch?: never;
@@ -1290,6 +1068,15 @@ export interface paths {
1290
1068
  };
1291
1069
  };
1292
1070
  };
1071
+ /** @description Wallet does not belong to tenant, or its KYC status does not allow the operation (`KYC_REQUIREMENTS_NOT_MET`) */
1072
+ 403: {
1073
+ headers: {
1074
+ [name: string]: unknown;
1075
+ };
1076
+ content: {
1077
+ "application/json": components["schemas"]["ErrorResponse"];
1078
+ };
1079
+ };
1293
1080
  /** @description Crypto wallet not found */
1294
1081
  404: {
1295
1082
  headers: {
@@ -1469,7 +1256,8 @@ export interface paths {
1469
1256
  business_name?: string;
1470
1257
  business_type?: string;
1471
1258
  business_description?: string;
1472
- business_industry?: string;
1259
+ /** @description NAICS industry codes of the business (one or more) */
1260
+ business_industry?: string[];
1473
1261
  website?: string;
1474
1262
  /** Format: date */
1475
1263
  formation_date?: string;
@@ -1675,7 +1463,8 @@ export interface paths {
1675
1463
  business_name?: string;
1676
1464
  business_type?: string;
1677
1465
  business_description?: string;
1678
- business_industry?: string;
1466
+ /** @description NAICS industry codes of the business (one or more) */
1467
+ business_industry?: string[];
1679
1468
  website?: string;
1680
1469
  /** Format: date */
1681
1470
  formation_date?: string;
@@ -3191,8 +2980,8 @@ export interface paths {
3191
2980
  parameters: {
3192
2981
  query: {
3193
2982
  wallet_id: string;
3194
- /** @description Filter by order type */
3195
- order_type?: string;
2983
+ /** @description Order type the rates are resolved for */
2984
+ order_type: components["schemas"]["OrderTypeId"];
3196
2985
  };
3197
2986
  header?: never;
3198
2987
  path?: never;
@@ -3205,7 +2994,22 @@ export interface paths {
3205
2994
  headers: {
3206
2995
  [name: string]: unknown;
3207
2996
  };
3208
- content?: never;
2997
+ content: {
2998
+ "application/json": {
2999
+ /** @example true */
3000
+ success?: boolean;
3001
+ data?: components["schemas"]["IndividualRates"];
3002
+ };
3003
+ };
3004
+ };
3005
+ /** @description Missing `order_type`, or no tariff configured for it (`TENANT_FEE_NOT_CONFIGURED`) */
3006
+ 400: {
3007
+ headers: {
3008
+ [name: string]: unknown;
3009
+ };
3010
+ content: {
3011
+ "application/json": components["schemas"]["ErrorResponse"];
3012
+ };
3209
3013
  };
3210
3014
  };
3211
3015
  };
@@ -3230,6 +3034,24 @@ export interface paths {
3230
3034
  query?: {
3231
3035
  offset?: number;
3232
3036
  limit?: number;
3037
+ /** @description Order column to sort by (e.g. created_at, status, order_type, amount_from, amount_to) */
3038
+ sort_by?: string;
3039
+ sort_order?: "asc" | "desc";
3040
+ /**
3041
+ * @description JSON-encoded array of filters, each element `{field: value}`. An array value means OR
3042
+ * (`[{"status":["PENDING","PROCESSING"]}]`). A JSONB column is filtered by a key with the
3043
+ * text operator, e.g. `[{"meta->>workflow_status":"PROCESSING"}]` or, to find an order by
3044
+ * your own reference, `[{"meta->>reference":"invoice-2026-04-001"}]`. Besides order columns
3045
+ * it accepts `mass_payout_id` (uuid), which narrows the result to the orders of one mass
3046
+ * payout batch. Malformed JSON or a non-array value is rejected with 400.
3047
+ *
3048
+ * @example [{"status":"COMPLETE"}]
3049
+ */
3050
+ filters?: string;
3051
+ /** @description Orders created from this date (inclusive), ISO 8601 */
3052
+ date_from?: string;
3053
+ /** @description Orders created up to this date (inclusive), ISO 8601 */
3054
+ date_to?: string;
3233
3055
  /** @description If `true`, includes dust orders (amount below render threshold for either currency). Defaults to `false` — dust orders are hidden. */
3234
3056
  show_low_balance?: "true" | "false";
3235
3057
  };
@@ -3255,6 +3077,15 @@ export interface paths {
3255
3077
  };
3256
3078
  };
3257
3079
  };
3080
+ /** @description Invalid `filters` (not a JSON array) or non-uuid `mass_payout_id` */
3081
+ 400: {
3082
+ headers: {
3083
+ [name: string]: unknown;
3084
+ };
3085
+ content: {
3086
+ "application/json": components["schemas"]["ErrorResponse"];
3087
+ };
3088
+ };
3258
3089
  };
3259
3090
  };
3260
3091
  put?: never;
@@ -3283,6 +3114,9 @@ export interface paths {
3283
3114
  order_type: components["schemas"]["OrderTypeId"];
3284
3115
  /** @description If `true`, calculates inputs needed to receive the given amount. */
3285
3116
  is_reverse?: "true" | "false";
3117
+ /** @description If `true` (default), the network fee is subtracted from `result_amount`. If `false`, the fee is added on top of `from_amount` and the recipient gets the full converted amount. Ignored for reverse calculations.
3118
+ * */
3119
+ is_subtract?: "true" | "false";
3286
3120
  /** @description Destination address (for crypto withdrawals; affects network fee estimation). */
3287
3121
  to_address?: string;
3288
3122
  };
@@ -3301,30 +3135,7 @@ export interface paths {
3301
3135
  "application/json": {
3302
3136
  /** @example true */
3303
3137
  success?: boolean;
3304
- data?: {
3305
- from_amount?: number;
3306
- to_amount?: number;
3307
- rate?: number;
3308
- fee?: number;
3309
- /** Format: uuid */
3310
- fee_currency?: string;
3311
- network_fee?: number | null;
3312
- /** Format: uuid */
3313
- network_fee_currency?: string | null;
3314
- total_amount?: number;
3315
- from_currency?: {
3316
- /** Format: uuid */
3317
- uuid?: string;
3318
- symbol?: string;
3319
- name?: string;
3320
- };
3321
- to_currency?: {
3322
- /** Format: uuid */
3323
- uuid?: string;
3324
- symbol?: string;
3325
- name?: string;
3326
- };
3327
- };
3138
+ data?: components["schemas"]["OrderCalculation"];
3328
3139
  };
3329
3140
  };
3330
3141
  };
@@ -3337,6 +3148,15 @@ export interface paths {
3337
3148
  "application/json": components["schemas"]["ErrorResponse"];
3338
3149
  };
3339
3150
  };
3151
+ /** @description Wallet does not belong to tenant, or its KYC status does not allow the operation (`KYC_REQUIREMENTS_NOT_MET`) */
3152
+ 403: {
3153
+ headers: {
3154
+ [name: string]: unknown;
3155
+ };
3156
+ content: {
3157
+ "application/json": components["schemas"]["ErrorResponse"];
3158
+ };
3159
+ };
3340
3160
  };
3341
3161
  };
3342
3162
  put?: never;
@@ -5506,12 +5326,15 @@ export interface paths {
5506
5326
  /**
5507
5327
  * Get wallet balance
5508
5328
  * @description Returns raw balance records with crypto metadata.
5509
- * Automatically filters out dust balances below render_threshold.
5329
+ * Dust balances below `render_threshold` are hidden unless `show_low_balance=true`.
5510
5330
  *
5511
5331
  */
5512
5332
  get: {
5513
5333
  parameters: {
5514
- query?: never;
5334
+ query?: {
5335
+ /** @description When false (default), dust balances below threshold are hidden */
5336
+ show_low_balance?: boolean;
5337
+ };
5515
5338
  header?: never;
5516
5339
  path: {
5517
5340
  wallet_id: string;
@@ -5529,7 +5352,7 @@ export interface paths {
5529
5352
  "application/json": {
5530
5353
  /** @example true */
5531
5354
  success?: boolean;
5532
- /** @description Filtered by render_threshold; icon may be stripped from crypto.meta */
5355
+ /** @description Filtered by render_threshold unless show_low_balance=true; icon may be stripped from crypto.meta */
5533
5356
  data?: {
5534
5357
  /** Format: uuid */
5535
5358
  crypto_id?: string;
@@ -5596,6 +5419,8 @@ export interface paths {
5596
5419
  sort_order?: "ASC" | "DESC";
5597
5420
  /** @description JSON string of filters (e.g., [{"status":"complete"}]) */
5598
5421
  filters?: string;
5422
+ /** @description When false (default), dust transactions below threshold are hidden */
5423
+ show_low_balance?: boolean;
5599
5424
  };
5600
5425
  header?: never;
5601
5426
  path: {
@@ -8583,7 +8408,8 @@ export interface components {
8583
8408
  business_name?: string | null;
8584
8409
  business_type?: string | null;
8585
8410
  business_description?: string | null;
8586
- business_industry?: string | null;
8411
+ /** @description NAICS industry codes of the business (one or more). */
8412
+ business_industry?: string[] | null;
8587
8413
  website?: string | null;
8588
8414
  /** Format: date-time */
8589
8415
  formation_date?: string | null;
@@ -8694,6 +8520,170 @@ export interface components {
8694
8520
  * @enum {string}
8695
8521
  */
8696
8522
  OrderTypeId: "EXCHANGE_OMNI" | "EXCHANGE_OMNI_ONRAMP" | "EXCHANGE_OMNI_OFFRAMP" | "EXCHANGE_OMNI_CRYPTO" | "EXCHANGE_CRYPTO_INTERNAL" | "L2F_ACH_ONRAMP" | "L2F_ACH_OFFRAMP" | "L2F_SEPA_ONRAMP" | "L2F_SEPA_OFFRAMP" | "L2F_SWIFT_ONRAMP" | "L2F_SWIFT_OFFRAMP" | "L2F_WIRE_ONRAMP" | "L2F_WIRE_OFFRAMP" | "L2F_CHAPS_ONRAMP" | "L2F_CHAPS_OFFRAMP" | "L2F_FPS_ONRAMP" | "L2F_FPS_OFFRAMP" | "BRL_WIRE_ONRAMP" | "BRL_WIRE_OFFRAMP" | "BRL_ACH_ONRAMP" | "BRL_ACH_OFFRAMP" | "BRL_RTP_OFFRAMP" | "DLS_WIRE_ONRAMP" | "DLS_WIRE_OFFRAMP" | "DLS_ACH_ONRAMP" | "DLS_ACH_OFFRAMP" | "DLS_SEPA_ONRAMP" | "DLS_SEPA_OFFRAMP" | "DLS_SWIFT_ONRAMP" | "DLS_SWIFT_OFFRAMP" | "BC1_SEPA_ONRAMP" | "BC1_SEPA_OFFRAMP" | "BC1_SWIFT_ONRAMP" | "BC1_SWIFT_OFFRAMP" | "BC3_SEPA_ONRAMP" | "BC3_SEPA_OFFRAMP" | "RPP_SWIFT_OFFRAMP" | "RPP_SEPA_OFFRAMP" | "RPP_FPS_OFFRAMP" | "RPP_ACH_OFFRAMP" | "OMNIBUS_CRYPTO_TRANSFER" | "OMNIBUS_CRYPTO_WITHDRAWAL" | "OMNIBUS_INTERNAL_TRANSFER" | "SEGREGATED_CRYPTO_TRANSFER" | "TRANSFER_INTERNAL" | "TRANSFER_CARD_PREPAID" | "TRANSFER_CARD_SUBACCOUNT" | "TRANSFER_CARD_WHOLESALE" | "WITHDRAW_CARD_PREPAID" | "WITHDRAW_CARD_SUBACCOUNT" | "REFUND_CARD_PREPAID" | "REFUND_CARD_SUBACCOUNT" | "RN_CARDS_OFFRAMP" | "CARD_ISSUING_FEE" | "MONTHLY_FEE";
8523
+ OrderCalculation: {
8524
+ /**
8525
+ * Format: uuid
8526
+ * @description Source currency UUID.
8527
+ */
8528
+ from_currency: string;
8529
+ /**
8530
+ * Format: uuid
8531
+ * @description Destination currency UUID.
8532
+ */
8533
+ to_currency: string;
8534
+ /**
8535
+ * @description Source currency symbol.
8536
+ * @example USDT
8537
+ */
8538
+ from_symbol: string;
8539
+ /**
8540
+ * @description Destination currency symbol.
8541
+ * @example USD
8542
+ */
8543
+ to_symbol: string;
8544
+ /**
8545
+ * @description Decimals the source-currency amounts are truncated to.
8546
+ * @example 6
8547
+ */
8548
+ from_decimals: number;
8549
+ /**
8550
+ * @description Decimals the destination-currency amounts are truncated to.
8551
+ * @example 2
8552
+ */
8553
+ to_decimals: number;
8554
+ /**
8555
+ * @description Amount to be spent in the source currency.
8556
+ * @example 100
8557
+ */
8558
+ from_amount: number;
8559
+ /**
8560
+ * @description Amount to be received in the destination currency.
8561
+ * @example 98.5
8562
+ */
8563
+ result_amount: number;
8564
+ /**
8565
+ * @description Amount converted before fees, in the destination currency.
8566
+ * @example 100
8567
+ */
8568
+ net_amount: number;
8569
+ /**
8570
+ * @description Total fees (`comission` + `network_fee`), in the source currency.
8571
+ * @example 1.5
8572
+ */
8573
+ fees: number;
8574
+ /**
8575
+ * @description Service commission excluding the network fee (wire name is intentionally `comission`).
8576
+ * @example 1.5
8577
+ */
8578
+ comission: number;
8579
+ /**
8580
+ * Format: uuid
8581
+ * @description Currency UUID `comission` is denominated in. Omitted by older engines — then it is the same currency on both sides.
8582
+ */
8583
+ commission_currency?: string;
8584
+ /**
8585
+ * @description Percentage part of the commission, in the commission currency.
8586
+ * @example 1
8587
+ */
8588
+ percent_commission: number;
8589
+ /**
8590
+ * @description Fixed part of the commission, in the commission currency.
8591
+ * @example 0.5
8592
+ */
8593
+ fixed_commission: number;
8594
+ /**
8595
+ * @description Markup applied, in whole percent.
8596
+ * @example 1.5
8597
+ */
8598
+ base_markup: number;
8599
+ /**
8600
+ * @description Estimated blockchain network fee in the source currency (crypto withdrawals only, otherwise 0).
8601
+ * @example 0
8602
+ */
8603
+ network_fee: number;
8604
+ /**
8605
+ * @description Network fee in the chain native currency (ETH, BNB, …), 18 decimals.
8606
+ * @example 0
8607
+ */
8608
+ network_fee_native: number;
8609
+ /**
8610
+ * @description Network fee in USD, 8 decimals.
8611
+ * @example 0
8612
+ */
8613
+ network_fee_usd: number;
8614
+ /**
8615
+ * @description Transaction fee. Always 0 for now.
8616
+ * @example 0
8617
+ */
8618
+ transaction_fee: number;
8619
+ /**
8620
+ * @description Exchange rate applied (source → destination), 6 decimals. Includes the tenant FX spread.
8621
+ * @example 0.985
8622
+ */
8623
+ rate: number;
8624
+ /**
8625
+ * @description Market rate before the tenant FX spread. Equal to `rate` when no spread applies.
8626
+ * @example 1
8627
+ */
8628
+ base_rate: number;
8629
+ /**
8630
+ * @description Tenant FX spread already taken off `rate`, in whole percent.
8631
+ * @example 1.5
8632
+ */
8633
+ fx_spread: number;
8634
+ /**
8635
+ * @description Percent markup of the applied tariff.
8636
+ * @example 1.5
8637
+ */
8638
+ markup: number;
8639
+ /**
8640
+ * @description Fixed USD markup of the applied tariff.
8641
+ * @example 0.5
8642
+ */
8643
+ markup_usd: number;
8644
+ /**
8645
+ * @description Percent markup on the network fee.
8646
+ * @example 0
8647
+ */
8648
+ gas_markup: number;
8649
+ /**
8650
+ * @description Percent discount on the network fee.
8651
+ * @example 0
8652
+ */
8653
+ gas_discount: number;
8654
+ /** @description Whether the order type is an internal (on-platform) operation. */
8655
+ is_internal: boolean;
8656
+ /** @description Whether the operation is allowed for the caller with these inputs. */
8657
+ allowed: boolean;
8658
+ /** @description Calculation error text, `null` on success. */
8659
+ error: string | null;
8660
+ };
8661
+ IndividualRates: {
8662
+ /**
8663
+ * @description Percent commission applied to the amount.
8664
+ * @example 1.5
8665
+ */
8666
+ markup: number;
8667
+ /**
8668
+ * @description Fixed commission in USD.
8669
+ * @example 0.5
8670
+ */
8671
+ markup_usd: number;
8672
+ /**
8673
+ * @description Percent markup on the network fee.
8674
+ * @example 0
8675
+ */
8676
+ gas_markup: number;
8677
+ /**
8678
+ * @description Percent discount on the network fee.
8679
+ * @example 0
8680
+ */
8681
+ gas_discount: number;
8682
+ /** @description Order type the resolved tariff row belongs to. Absent for the zero-fee internal transfer. */
8683
+ order_type?: string;
8684
+ } & {
8685
+ [key: string]: unknown;
8686
+ };
8697
8687
  OrderType: {
8698
8688
  id?: components["schemas"]["OrderTypeId"];
8699
8689
  description?: string;
@@ -8874,13 +8864,13 @@ export interface components {
8874
8864
  destination_currency?: string;
8875
8865
  /** @description Whether deposits are enabled for this account, resolved from the account's KYC rail (virtual_accounts_programs.kyc_rails.is_deposit_enabled). When false, deposit_instructions is returned as an empty array on every surface (admin included) since admin routes are also consumed by BaaS API clients. */
8876
8866
  is_deposit_enabled?: boolean;
8877
- /** @description Bank deposit instructions grouped by instruction type (ACH, FEDWIRE, SWIFT). Returned as an empty array when is_deposit_enabled is false. */
8867
+ /** @description Bank deposit instructions, one element per payment rail (ACH, FEDWIRE, SWIFT, SEPA_CT, CHAPS, FPS). Returned as an empty array when is_deposit_enabled is false. */
8878
8868
  deposit_instructions?: {
8879
8869
  /**
8880
- * @description Payment rail type
8870
+ * @description Payment rail type. Uppercase; a new provider rail is added to this list when it ships.
8881
8871
  * @enum {string}
8882
8872
  */
8883
- instruction_type?: "ACH" | "FEDWIRE" | "SWIFT";
8873
+ instruction_type?: "ACH" | "FEDWIRE" | "SWIFT" | "SEPA_CT" | "CHAPS" | "FPS";
8884
8874
  /**
8885
8875
  * @description Unique memo/reference code for this deposit
8886
8876
  * @example EE8EX7E