@stable_sea/sdk 0.1.5 → 0.1.6

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.
package/README.md CHANGED
@@ -106,6 +106,58 @@ quota. Authentication and IP/edge refusals omit them; outer timeout, cancellatio
106
106
  and response-size failures may also omit them. On HTTP 429, wait at least
107
107
  `Retry-After` seconds. For mutation retries, reuse the same idempotency key.
108
108
 
109
+ ## Manage bank accounts
110
+
111
+ Select **Manage bank accounts** and **Read financial data** when creating the key
112
+ in Terminal. Submit registration with `POST /v1/bank_accounts`, poll the returned
113
+ `baop_` ID at `GET /v1/bank_account_operations/{id}`, then read the resulting
114
+ `bacc_` account. Registration preserves Terminal's screening rules and does not
115
+ enable funding or payouts. Remove an account with
116
+ `POST /v1/bank_accounts/{id}/remove`; pending transactions prevent removal.
117
+
118
+ See [the bank account guide](../../docs/api/bank-accounts.md) for examples and retry behavior.
119
+
120
+ ## Read saved bank accounts
121
+
122
+ Use a key with `money:read`:
123
+
124
+ ```ts
125
+ const banks = await client.GET("/v1/bank_accounts");
126
+ if (banks.error) throw new Error(banks.error.error.message);
127
+ console.log(banks.data.data);
128
+ ```
129
+
130
+ Account numbers and holder identity are masked by default. For complete values,
131
+ select **Read full bank details** alongside **Read financial data** when creating
132
+ or rotating the key in Terminal. Existing keys keep their permissions.
133
+
134
+ Use the returned `bacc_` ID with `GET /v1/bank_accounts/{id}`. Removed and
135
+ cross-business accounts return not found. Newly added or changed details can
136
+ briefly return 503; retry the read. Test keys read only their isolated sandbox
137
+ bank accounts.
138
+
139
+ ## Funding and deposits
140
+
141
+ Select **Read financial data** and **Create deposits** in Terminal. Read
142
+ `GET /v1/funding` for current ACH limits, wire instructions and on-chain
143
+ addresses. For ACH, create a quote with `POST /v1/deposit_quotes`, poll its
144
+ `qt_` ID until ready, then review and acknowledge its bank authorization before
145
+ submitting `POST /v1/deposits`. Poll the `depo_` resource and its transaction for
146
+ the actual outcome. A quote expires five minutes after creation and can fund
147
+ one deposit. Keep the same mutation object and body for retries.
148
+
149
+ Authorization text is redacted on ordinary reads. To retrieve and review it,
150
+ select **Read full bank details** (`money:bank_accounts_sensitive_read`)
151
+ for the reading key, or obtain authorization through Terminal.
152
+
153
+ Declare an on-chain source address with `POST /v1/source_wallet_declarations`.
154
+ Poll its `swdec_` ID, check `cleared`, then read funding again. A declaration
155
+ does not send funds; replay does not renew clearance. Wire quotes estimate fees,
156
+ and wire transfers use the instructions returned by funding.
157
+
158
+ See [the funding guide](../../docs/api/funding.md) for the complete sequence,
159
+ permissions and retry behavior.
160
+
109
161
  ## Contract changes
110
162
 
111
163
  - `GET /v1/balances`: `chain` gains the value `solana`. A USDC balance held on
@@ -122,6 +122,172 @@ export interface paths {
122
122
  patch?: never;
123
123
  trace?: never;
124
124
  };
125
+ "/v1/bank_account_operations/{id}": {
126
+ parameters: {
127
+ query?: never;
128
+ header?: never;
129
+ path?: never;
130
+ cookie?: never;
131
+ };
132
+ /**
133
+ * Retrieve a bank account operation
134
+ * @description Returns bank registration or removal processing status. A succeeded registration records the account; it does not promise verification, enable funding or clear screening. Requires money:read.
135
+ */
136
+ get: operations["bank_account_operations.get"];
137
+ put?: never;
138
+ post?: never;
139
+ delete?: never;
140
+ options?: never;
141
+ head?: never;
142
+ patch?: never;
143
+ trace?: never;
144
+ };
145
+ "/v1/bank_accounts": {
146
+ parameters: {
147
+ query?: never;
148
+ header?: never;
149
+ path?: never;
150
+ cookie?: never;
151
+ };
152
+ /**
153
+ * List bank accounts
154
+ * @description Lists saved US and Mexican bank accounts, newest first by created_ts, then ID. Requires money:read. Account numbers and holder identity are masked unless the key also has money:bank_accounts_sensitive_read. Institution, routing and postal address fields follow the same visibility as Terminal.
155
+ *
156
+ * Use either starting_after or ending_before with a bank account ID. limit defaults to 10 and cannot exceed 100. An unknown or removed cursor returns an error. Newly added or changed accounts can briefly return 503 before updated details are available; retry the read.
157
+ */
158
+ get: operations["bank_accounts.list"];
159
+ put?: never;
160
+ /**
161
+ * Register a bank account
162
+ * @description Registers a US or Mexican bank account using Terminal's existing validation and screening. Provide country and the matching us_bank_account or mx_bank_account details. Requires money:bank_accounts_write and an Idempotency-Key. Poll the returned operation, then retrieve its bank_account with money:read. Registration alone does not enable the account or make it eligible for funding or payouts.
163
+ */
164
+ post: operations["bank_accounts.create"];
165
+ delete?: never;
166
+ options?: never;
167
+ head?: never;
168
+ patch?: never;
169
+ trace?: never;
170
+ };
171
+ "/v1/bank_accounts/{id}": {
172
+ parameters: {
173
+ query?: never;
174
+ header?: never;
175
+ path?: never;
176
+ cookie?: never;
177
+ };
178
+ /**
179
+ * Retrieve a bank account
180
+ * @description Retrieves one saved bank account. Requires money:read; full account numbers and holder identity additionally require money:bank_accounts_sensitive_read. Unknown, removed and cross-business IDs return the same not-found response. Newly added or changed accounts can briefly return 503 before updated details are available; retry the read.
181
+ */
182
+ get: operations["bank_accounts.get"];
183
+ put?: never;
184
+ post?: never;
185
+ delete?: never;
186
+ options?: never;
187
+ head?: never;
188
+ patch?: never;
189
+ trace?: never;
190
+ };
191
+ "/v1/bank_accounts/{id}/remove": {
192
+ parameters: {
193
+ query?: never;
194
+ header?: never;
195
+ path?: never;
196
+ cookie?: never;
197
+ };
198
+ get?: never;
199
+ put?: never;
200
+ /**
201
+ * Remove a bank account
202
+ * @description Archives a saved bank account using Terminal's removal restrictions. Pending transactions prevent removal. Poll the returned operation for the outcome. Removal preserves transaction history and does not cancel or reverse a deposit. Requires money:bank_accounts_write and an Idempotency-Key.
203
+ */
204
+ post: operations["bank_accounts.remove"];
205
+ delete?: never;
206
+ options?: never;
207
+ head?: never;
208
+ patch?: never;
209
+ trace?: never;
210
+ };
211
+ "/v1/deposit_quotes": {
212
+ parameters: {
213
+ query?: never;
214
+ header?: never;
215
+ path?: never;
216
+ cookie?: never;
217
+ };
218
+ get?: never;
219
+ put?: never;
220
+ /**
221
+ * Create a deposit quote
222
+ * @description Creates a persisted ACH or wire fee quote. Requires money:read and an Idempotency-Key. Poll its ID until status is ready or failed. ACH needs an owned US bank account; the ready quote includes the amount-bound bank authorization to acknowledge before a deposit. Quotes expire five minutes after creation, and retries do not extend expiry. Wire fees are indicative; final fees use the first recorded receipt. No money moves when creating a quote.
223
+ */
224
+ post: operations["deposit_quotes.create"];
225
+ delete?: never;
226
+ options?: never;
227
+ head?: never;
228
+ patch?: never;
229
+ trace?: never;
230
+ };
231
+ "/v1/deposit_quotes/{id}": {
232
+ parameters: {
233
+ query?: never;
234
+ header?: never;
235
+ path?: never;
236
+ cookie?: never;
237
+ };
238
+ /**
239
+ * Retrieve a deposit quote
240
+ * @description Returns the persisted quote and its fixed expiry. Requires money:read. The authorization's holder name stays masked unless the key also has money:bank_accounts_sensitive_read. Unknown and cross-business quote IDs return the same not-found response.
241
+ */
242
+ get: operations["deposit_quotes.get"];
243
+ put?: never;
244
+ post?: never;
245
+ delete?: never;
246
+ options?: never;
247
+ head?: never;
248
+ patch?: never;
249
+ trace?: never;
250
+ };
251
+ "/v1/deposits": {
252
+ parameters: {
253
+ query?: never;
254
+ header?: never;
255
+ path?: never;
256
+ cookie?: never;
257
+ };
258
+ get?: never;
259
+ put?: never;
260
+ /**
261
+ * Submit an ACH deposit
262
+ * @description Submits an ACH deposit using one ready, unexpired deposit quote and explicit bank-authorization acknowledgement. Requires money:deposits_write and an Idempotency-Key. A quote can fund one deposit. Poll the deposit and its transaction for the actual outcome; acceptance is not settlement. The worker checks current business access, funding eligibility, fee terms and limits before booking. Retry the same request with the same key after a lost response to recover its original deposit.
263
+ */
264
+ post: operations["deposits.create"];
265
+ delete?: never;
266
+ options?: never;
267
+ head?: never;
268
+ patch?: never;
269
+ trace?: never;
270
+ };
271
+ "/v1/deposits/{id}": {
272
+ parameters: {
273
+ query?: never;
274
+ header?: never;
275
+ path?: never;
276
+ cookie?: never;
277
+ };
278
+ /**
279
+ * Retrieve a deposit
280
+ * @description Returns the actual native funding lifecycle and transaction once booking commits. Requires money:read. A failed or returned bank pull is a failed deposit, not a settled transfer. Unknown and cross-business IDs return the same not-found response.
281
+ */
282
+ get: operations["deposits.get"];
283
+ put?: never;
284
+ post?: never;
285
+ delete?: never;
286
+ options?: never;
287
+ head?: never;
288
+ patch?: never;
289
+ trace?: never;
290
+ };
125
291
  "/v1/event_types": {
126
292
  parameters: {
127
293
  query?: never;
@@ -278,6 +444,30 @@ export interface paths {
278
444
  patch?: never;
279
445
  trace?: never;
280
446
  };
447
+ "/v1/funding": {
448
+ parameters: {
449
+ query?: never;
450
+ header?: never;
451
+ path?: never;
452
+ cookie?: never;
453
+ };
454
+ /**
455
+ * Read deposit methods and instructions
456
+ * @description Returns ACH deposit limits, wire instructions and on-chain deposit addresses for your business. Requires money:read. Limits and method switches are read when you make the request; eligibility is checked again when a deposit executes.
457
+ *
458
+ * Wire instructions are available after business verification and funding setup. On-chain addresses follow the same network and source-wallet screening rules as Terminal. A nonempty memo must accompany the transfer.
459
+ *
460
+ * Instruction updates may briefly return 503 while they become available. instructions_updated_ts records their last refresh; observed_ts records the current limit and control observation. Test keys use isolated sandbox data and simulated financial partners.
461
+ */
462
+ get: operations["funding.snapshot"];
463
+ put?: never;
464
+ post?: never;
465
+ delete?: never;
466
+ options?: never;
467
+ head?: never;
468
+ patch?: never;
469
+ trace?: never;
470
+ };
281
471
  "/v1/notifications": {
282
472
  parameters: {
283
473
  query?: never;
@@ -436,6 +626,46 @@ export interface paths {
436
626
  patch?: never;
437
627
  trace?: never;
438
628
  };
629
+ "/v1/source_wallet_declarations": {
630
+ parameters: {
631
+ query?: never;
632
+ header?: never;
633
+ path?: never;
634
+ cookie?: never;
635
+ };
636
+ get?: never;
637
+ put?: never;
638
+ /**
639
+ * Declare a source wallet
640
+ * @description Screens the wallet you intend to fund from using Terminal's existing screening service. Requires money:deposits_write and an Idempotency-Key. Poll until status is screened or failed, then check funding for available deposit instructions. Only the clearance outcome is returned. Retrying a completed declaration does not screen it again or renew its clearance.
641
+ */
642
+ post: operations["source_wallet_declarations.create"];
643
+ delete?: never;
644
+ options?: never;
645
+ head?: never;
646
+ patch?: never;
647
+ trace?: never;
648
+ };
649
+ "/v1/source_wallet_declarations/{id}": {
650
+ parameters: {
651
+ query?: never;
652
+ header?: never;
653
+ path?: never;
654
+ cookie?: never;
655
+ };
656
+ /**
657
+ * Retrieve a source-wallet declaration
658
+ * @description Returns the recorded screening outcome. Requires money:read. A completed declaration is historical; check funding for current deposit eligibility. Unknown and cross-business IDs return the same not-found response.
659
+ */
660
+ get: operations["source_wallet_declarations.get"];
661
+ put?: never;
662
+ post?: never;
663
+ delete?: never;
664
+ options?: never;
665
+ head?: never;
666
+ patch?: never;
667
+ trace?: never;
668
+ };
439
669
  "/v1/statements": {
440
670
  parameters: {
441
671
  query?: never;
@@ -797,7 +1027,165 @@ export interface components {
797
1027
  /** @enum {string} */
798
1028
  object: "list";
799
1029
  };
1030
+ BankAccount: {
1031
+ /** @enum {string} */
1032
+ beneficiary_type: "self" | "third_party";
1033
+ /** @enum {string} */
1034
+ country: "US" | "MX";
1035
+ /** Format: date-time */
1036
+ created_ts: string;
1037
+ /** @enum {string} */
1038
+ currency: "USD" | "MXN";
1039
+ /** @description True when account numbers and holder identity are masked. Full details require money:bank_accounts_sensitive_read in addition to money:read. */
1040
+ details_masked: boolean;
1041
+ id: string;
1042
+ /** @description False for an isolated simulated bank account. */
1043
+ livemode: boolean;
1044
+ mx_bank_account?: components["schemas"]["MXBankAccountDetails"];
1045
+ /** @enum {string} */
1046
+ object: "bank_account";
1047
+ /**
1048
+ * @description Current bank account status. Does not guarantee that every funding or payout method is available.
1049
+ * @enum {string}
1050
+ */
1051
+ status: "enabled" | "disabled";
1052
+ us_bank_account?: components["schemas"]["USBankAccountDetails"];
1053
+ };
1054
+ BankAccountAddress: {
1055
+ city: string;
1056
+ line1: string;
1057
+ line2?: string | null;
1058
+ postal_code: string;
1059
+ state: string;
1060
+ };
1061
+ BankAccountCreateAddress: {
1062
+ city: string;
1063
+ line1: string;
1064
+ line2?: string | null;
1065
+ postal_code: string;
1066
+ state: string;
1067
+ };
1068
+ BankAccountCreateInput: {
1069
+ /**
1070
+ * @description Declare self only when this business owns the account. Omission is treated as third_party.
1071
+ * @enum {string|null}
1072
+ */
1073
+ beneficiary_type?: "self" | "third_party" | null;
1074
+ /** @enum {string} */
1075
+ country: "US" | "MX";
1076
+ mx_bank_account?: components["schemas"]["MXBankAccountCreateDetails"];
1077
+ us_bank_account?: components["schemas"]["USBankAccountCreateDetails"];
1078
+ };
1079
+ BankAccountList: {
1080
+ data: components["schemas"]["BankAccount"][];
1081
+ has_more: boolean;
1082
+ /** @enum {string} */
1083
+ object: "list";
1084
+ };
1085
+ BankAccountOperation: {
1086
+ /** @description The registered or removed bank account, once processing succeeds. Registration does not enable funding or payouts. */
1087
+ bank_account?: string;
1088
+ /** Format: date-time */
1089
+ created_ts: string;
1090
+ failure_code?: string;
1091
+ id: string;
1092
+ livemode: boolean;
1093
+ /** @enum {string} */
1094
+ object: "bank_account_operation";
1095
+ /** @enum {string} */
1096
+ operation: "create" | "remove";
1097
+ /** @enum {string} */
1098
+ state: "pending" | "succeeded" | "failed";
1099
+ };
800
1100
  Decimal: string;
1101
+ Deposit: {
1102
+ /** Format: date-time */
1103
+ created_ts: string;
1104
+ failure_code?: string;
1105
+ id: string;
1106
+ livemode: boolean;
1107
+ /** @enum {string} */
1108
+ object: "deposit";
1109
+ /**
1110
+ * @description Native funding lifecycle. A bank return is a failed deposit; submission is not settlement.
1111
+ * @enum {string}
1112
+ */
1113
+ status: "pending" | "processing" | "completed" | "failed";
1114
+ transaction?: string;
1115
+ };
1116
+ DepositInput: {
1117
+ /** @description Acknowledge the ACH authorization returned with this quote before submission. */
1118
+ authorization_accepted: boolean;
1119
+ quote_id: string;
1120
+ };
1121
+ DepositQuote: {
1122
+ /** Format: date-time */
1123
+ created_ts: string;
1124
+ details: {
1125
+ amount_usd: string;
1126
+ authorization: {
1127
+ account_holder_name: string;
1128
+ account_number_masked: string;
1129
+ account_type: string;
1130
+ /** @description Bank acknowledgment text; redacted as **** without money:bank_accounts_sensitive_read. */
1131
+ acknowledgment: string;
1132
+ /** @description Amount-bound authorization details; redacted as **** without money:bank_accounts_sensitive_read. */
1133
+ authorization_details: string;
1134
+ bank_name: string;
1135
+ /** @description Whether holder identity and authorization text are redacted. */
1136
+ holder_masked: boolean;
1137
+ /** @description Bank authorization text; redacted as **** without money:bank_accounts_sensitive_read. */
1138
+ review_authorization: string;
1139
+ routing_number: string;
1140
+ } | null;
1141
+ bank_account: string | null;
1142
+ pricing: {
1143
+ bank_fee_usd: string;
1144
+ /** Format: int64 */
1145
+ bps: number;
1146
+ /** @description Whether current policy sweeps conversion surplus above 1:1 USD/USDC before fees. This does not guarantee a below-par top-up. */
1147
+ caps_at_par: boolean;
1148
+ /** @description USD amount converted before platform fees. */
1149
+ conversion_input: string;
1150
+ /** @description Indicative gross USDC proceeds before platform fees. */
1151
+ estimated_conversion_output?: string | null;
1152
+ /** @description Indicative USDC per USD before fees; not a guaranteed rate. */
1153
+ estimated_conversion_rate?: string | null;
1154
+ /** @description Indicative USDC proceeds after fees, not guaranteed settlement. */
1155
+ estimated_proceeds?: string | null;
1156
+ platform_fee_usdc: string;
1157
+ /** @enum {string} */
1158
+ settlement_asset: "USDC";
1159
+ /** @description Whether current policy targets 1:1 USD/USDC before fees. Below-par top-ups require a shortfall no greater than the larger of 25 basis points of principal or 1 USD, sufficient platform funds and accepted adjustment; otherwise settlement uses the market fill. */
1160
+ settles_at_par: boolean;
1161
+ /** @enum {string} */
1162
+ source_symbol: "USD";
1163
+ total_source_debit: string;
1164
+ };
1165
+ /** @enum {string} */
1166
+ rail: "ach" | "wire";
1167
+ /** @description ACH fees are fixed until expiry, subject to current fee terms and eligibility. Wire fees are indicative; final fees use the first recorded receipt. */
1168
+ terms_fixed: boolean;
1169
+ } | null;
1170
+ /**
1171
+ * Format: date-time
1172
+ * @description Fixed expiry for this quote; retries do not extend it.
1173
+ */
1174
+ expires_ts: string;
1175
+ failure_code?: string;
1176
+ id: string;
1177
+ livemode: boolean;
1178
+ /** @enum {string} */
1179
+ object: "deposit_quote";
1180
+ /** @enum {string} */
1181
+ status: "pending" | "ready" | "failed";
1182
+ };
1183
+ DepositQuoteInput: {
1184
+ amount_usd: string;
1185
+ bank_account?: string;
1186
+ /** @enum {string} */
1187
+ rail: "ach" | "wire";
1188
+ };
801
1189
  Error: {
802
1190
  error: {
803
1191
  /** @description Legal values/transitions on an illegal-transition conflict. */
@@ -861,7 +1249,7 @@ export interface components {
861
1249
  object: "list";
862
1250
  };
863
1251
  /** @enum {string} */
864
- EventTypeName: "external_wallet.created" | "external_wallet.updated" | "external_wallet_operation.updated" | "notification.created" | "order.updated" | "transaction.created" | "transaction.updated";
1252
+ EventTypeName: "bank_account.created" | "bank_account.removed" | "bank_account_operation.updated" | "deposit.updated" | "deposit_quote.updated" | "external_wallet.created" | "external_wallet.updated" | "external_wallet_operation.updated" | "notification.created" | "order.updated" | "source_wallet_declaration.updated" | "transaction.created" | "transaction.updated";
865
1253
  ExternalWallet: {
866
1254
  /** @description The wallet's on-chain address, exactly as the business connected it. */
867
1255
  address: string;
@@ -956,12 +1344,103 @@ export interface components {
956
1344
  ExternalWalletRenameInput: {
957
1345
  name: string;
958
1346
  };
1347
+ FundingMethod: {
1348
+ ach?: {
1349
+ /** @enum {string} */
1350
+ binding_window: "daily" | "weekly";
1351
+ daily: {
1352
+ limit_usd: string;
1353
+ remaining_usd: string;
1354
+ /** Format: date-time */
1355
+ resets_ts: string;
1356
+ used_usd: string;
1357
+ };
1358
+ enabled: boolean;
1359
+ remaining_usd: string;
1360
+ weekly: {
1361
+ limit_usd: string;
1362
+ remaining_usd: string;
1363
+ /** Format: date-time */
1364
+ resets_ts: string;
1365
+ used_usd: string;
1366
+ };
1367
+ };
1368
+ /** @enum {string} */
1369
+ object: "funding_method";
1370
+ onchain?: {
1371
+ enabled: boolean;
1372
+ instructions: {
1373
+ address: string;
1374
+ /** @description Include a nonempty memo with the transfer. An empty memo means this address does not require one. */
1375
+ memo: string;
1376
+ payment_rail: string;
1377
+ symbol: string;
1378
+ }[];
1379
+ source_wallet_cleared: boolean;
1380
+ source_wallet_required: boolean;
1381
+ };
1382
+ /** @enum {string} */
1383
+ type: "ach" | "wire" | "onchain";
1384
+ wire?: {
1385
+ enabled: boolean;
1386
+ instructions: {
1387
+ account_number: string;
1388
+ account_type: string;
1389
+ bank_address: {
1390
+ city: string;
1391
+ country: string;
1392
+ line1: string;
1393
+ line2: string;
1394
+ postal_code: string;
1395
+ state: string;
1396
+ };
1397
+ bank_name: string;
1398
+ beneficiary_address: {
1399
+ city: string;
1400
+ country: string;
1401
+ line1: string;
1402
+ line2: string;
1403
+ postal_code: string;
1404
+ state: string;
1405
+ };
1406
+ beneficiary_name: string;
1407
+ reference: string;
1408
+ routing_number: string;
1409
+ } | null;
1410
+ };
1411
+ };
1412
+ FundingSnapshot: {
1413
+ data: components["schemas"]["FundingMethod"][];
1414
+ /** Format: date-time */
1415
+ instructions_updated_ts: string;
1416
+ livemode: boolean;
1417
+ /** @enum {string} */
1418
+ object: "funding_snapshot";
1419
+ /** Format: date-time */
1420
+ observed_ts: string;
1421
+ };
959
1422
  List: {
960
1423
  data: components["schemas"]["Resource"][];
961
1424
  has_more: boolean;
962
1425
  /** @enum {string} */
963
1426
  object: "list";
964
1427
  };
1428
+ MXBankAccountCreateDetails: {
1429
+ account_holder_first_name: string;
1430
+ account_holder_last_name: string;
1431
+ clabe: string;
1432
+ /** @description Optional RFC or CURP, validated by the existing recipient rules. */
1433
+ holder_identifier?: string;
1434
+ legal_entity_name: string;
1435
+ };
1436
+ MXBankAccountDetails: {
1437
+ account_holder_first_name: string;
1438
+ account_holder_last_name: string;
1439
+ clabe: string;
1440
+ /** @description Account holder RFC or CURP. Omitted when unavailable; masked unless full details are permitted. */
1441
+ holder_identifier?: string;
1442
+ legal_entity_name: string;
1443
+ };
965
1444
  /** @description Customer metadata. Sensitive data is forbidden. */
966
1445
  Metadata: {
967
1446
  [key: string]: string;
@@ -1201,7 +1680,25 @@ export interface components {
1201
1680
  /** @enum {string} */
1202
1681
  object: "list";
1203
1682
  };
1204
- Statement: {
1683
+ SourceWalletDeclaration: {
1684
+ /** @description Recorded screening outcome, once processed. Recheck funding for current eligibility; retries do not renew clearance. */
1685
+ cleared: boolean | null;
1686
+ /** Format: date-time */
1687
+ created_ts: string;
1688
+ failure_code?: string;
1689
+ id: string;
1690
+ livemode: boolean;
1691
+ /** @enum {string} */
1692
+ object: "source_wallet_declaration";
1693
+ /** @enum {string} */
1694
+ status: "pending" | "screened" | "failed";
1695
+ };
1696
+ SourceWalletDeclarationInput: {
1697
+ address: string;
1698
+ /** @enum {string} */
1699
+ chain: "ethereum" | "polygon" | "arbitrum" | "base" | "solana" | "stellar";
1700
+ };
1701
+ Statement: {
1205
1702
  /** Format: date-time */
1206
1703
  created_ts: string;
1207
1704
  id: string;
@@ -1362,6 +1859,24 @@ export interface components {
1362
1859
  /** @enum {string} */
1363
1860
  object: "list";
1364
1861
  };
1862
+ USBankAccountCreateDetails: {
1863
+ account_number: string;
1864
+ /** @enum {string} */
1865
+ account_type: "checking" | "saving";
1866
+ bank_name: string;
1867
+ owner_address: components["schemas"]["BankAccountCreateAddress"];
1868
+ owner_name: string;
1869
+ routing_number: string;
1870
+ };
1871
+ USBankAccountDetails: {
1872
+ account_number: string;
1873
+ /** @enum {string} */
1874
+ account_type: "checking" | "saving";
1875
+ bank_name: string;
1876
+ owner_address: components["schemas"]["BankAccountAddress"];
1877
+ owner_name: string;
1878
+ routing_number: string;
1879
+ };
1365
1880
  WebhookDelivery: {
1366
1881
  attempt_count: number;
1367
1882
  /** Format: date-time */
@@ -1737,6 +2252,368 @@ export interface operations {
1737
2252
  };
1738
2253
  };
1739
2254
  };
2255
+ "bank_account_operations.get": {
2256
+ parameters: {
2257
+ query?: never;
2258
+ header?: never;
2259
+ path: {
2260
+ id: string;
2261
+ };
2262
+ cookie?: never;
2263
+ };
2264
+ requestBody?: never;
2265
+ responses: {
2266
+ /** @description OK */
2267
+ 200: {
2268
+ headers: {
2269
+ "X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
2270
+ "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
2271
+ "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
2272
+ [name: string]: unknown;
2273
+ };
2274
+ content: {
2275
+ "application/json": components["schemas"]["BankAccountOperation"];
2276
+ };
2277
+ };
2278
+ 400: components["responses"]["Error400"];
2279
+ 401: components["responses"]["Error401"];
2280
+ 403: components["responses"]["Error403"];
2281
+ 429: components["responses"]["Error429"];
2282
+ /** @description Error response. */
2283
+ default: {
2284
+ headers: {
2285
+ [name: string]: unknown;
2286
+ };
2287
+ content: {
2288
+ "application/json": components["schemas"]["Error"];
2289
+ };
2290
+ };
2291
+ };
2292
+ };
2293
+ "bank_accounts.list": {
2294
+ parameters: {
2295
+ query?: {
2296
+ limit?: number;
2297
+ starting_after?: string;
2298
+ ending_before?: string;
2299
+ };
2300
+ header?: never;
2301
+ path?: never;
2302
+ cookie?: never;
2303
+ };
2304
+ requestBody?: never;
2305
+ responses: {
2306
+ /** @description OK */
2307
+ 200: {
2308
+ headers: {
2309
+ "X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
2310
+ "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
2311
+ "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
2312
+ [name: string]: unknown;
2313
+ };
2314
+ content: {
2315
+ "application/json": components["schemas"]["BankAccountList"];
2316
+ };
2317
+ };
2318
+ 400: components["responses"]["Error400"];
2319
+ 401: components["responses"]["Error401"];
2320
+ 403: components["responses"]["Error403"];
2321
+ 429: components["responses"]["Error429"];
2322
+ /** @description Error response. */
2323
+ default: {
2324
+ headers: {
2325
+ [name: string]: unknown;
2326
+ };
2327
+ content: {
2328
+ "application/json": components["schemas"]["Error"];
2329
+ };
2330
+ };
2331
+ };
2332
+ };
2333
+ "bank_accounts.create": {
2334
+ parameters: {
2335
+ query?: never;
2336
+ header: {
2337
+ "Idempotency-Key": components["parameters"]["Idempotency-Key"];
2338
+ };
2339
+ path?: never;
2340
+ cookie?: never;
2341
+ };
2342
+ requestBody?: {
2343
+ content: {
2344
+ "application/json": components["schemas"]["BankAccountCreateInput"];
2345
+ };
2346
+ };
2347
+ responses: {
2348
+ /** @description OK */
2349
+ 200: {
2350
+ headers: {
2351
+ "X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
2352
+ "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
2353
+ "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
2354
+ [name: string]: unknown;
2355
+ };
2356
+ content: {
2357
+ "application/json": components["schemas"]["BankAccountOperation"];
2358
+ };
2359
+ };
2360
+ 400: components["responses"]["Error400"];
2361
+ 401: components["responses"]["Error401"];
2362
+ 403: components["responses"]["Error403"];
2363
+ 409: components["responses"]["Error409"];
2364
+ 429: components["responses"]["Error429"];
2365
+ /** @description Error response. */
2366
+ default: {
2367
+ headers: {
2368
+ [name: string]: unknown;
2369
+ };
2370
+ content: {
2371
+ "application/json": components["schemas"]["Error"];
2372
+ };
2373
+ };
2374
+ };
2375
+ };
2376
+ "bank_accounts.get": {
2377
+ parameters: {
2378
+ query?: never;
2379
+ header?: never;
2380
+ path: {
2381
+ id: string;
2382
+ };
2383
+ cookie?: never;
2384
+ };
2385
+ requestBody?: never;
2386
+ responses: {
2387
+ /** @description OK */
2388
+ 200: {
2389
+ headers: {
2390
+ "X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
2391
+ "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
2392
+ "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
2393
+ [name: string]: unknown;
2394
+ };
2395
+ content: {
2396
+ "application/json": components["schemas"]["BankAccount"];
2397
+ };
2398
+ };
2399
+ 400: components["responses"]["Error400"];
2400
+ 401: components["responses"]["Error401"];
2401
+ 403: components["responses"]["Error403"];
2402
+ 429: components["responses"]["Error429"];
2403
+ /** @description Error response. */
2404
+ default: {
2405
+ headers: {
2406
+ [name: string]: unknown;
2407
+ };
2408
+ content: {
2409
+ "application/json": components["schemas"]["Error"];
2410
+ };
2411
+ };
2412
+ };
2413
+ };
2414
+ "bank_accounts.remove": {
2415
+ parameters: {
2416
+ query?: never;
2417
+ header: {
2418
+ "Idempotency-Key": components["parameters"]["Idempotency-Key"];
2419
+ };
2420
+ path: {
2421
+ id: string;
2422
+ };
2423
+ cookie?: never;
2424
+ };
2425
+ requestBody?: never;
2426
+ responses: {
2427
+ /** @description OK */
2428
+ 200: {
2429
+ headers: {
2430
+ "X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
2431
+ "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
2432
+ "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
2433
+ [name: string]: unknown;
2434
+ };
2435
+ content: {
2436
+ "application/json": components["schemas"]["BankAccountOperation"];
2437
+ };
2438
+ };
2439
+ 400: components["responses"]["Error400"];
2440
+ 401: components["responses"]["Error401"];
2441
+ 403: components["responses"]["Error403"];
2442
+ 409: components["responses"]["Error409"];
2443
+ 429: components["responses"]["Error429"];
2444
+ /** @description Error response. */
2445
+ default: {
2446
+ headers: {
2447
+ [name: string]: unknown;
2448
+ };
2449
+ content: {
2450
+ "application/json": components["schemas"]["Error"];
2451
+ };
2452
+ };
2453
+ };
2454
+ };
2455
+ "deposit_quotes.create": {
2456
+ parameters: {
2457
+ query?: never;
2458
+ header: {
2459
+ "Idempotency-Key": components["parameters"]["Idempotency-Key"];
2460
+ };
2461
+ path?: never;
2462
+ cookie?: never;
2463
+ };
2464
+ requestBody?: {
2465
+ content: {
2466
+ "application/json": components["schemas"]["DepositQuoteInput"];
2467
+ };
2468
+ };
2469
+ responses: {
2470
+ /** @description OK */
2471
+ 200: {
2472
+ headers: {
2473
+ "X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
2474
+ "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
2475
+ "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
2476
+ [name: string]: unknown;
2477
+ };
2478
+ content: {
2479
+ "application/json": components["schemas"]["DepositQuote"];
2480
+ };
2481
+ };
2482
+ 400: components["responses"]["Error400"];
2483
+ 401: components["responses"]["Error401"];
2484
+ 403: components["responses"]["Error403"];
2485
+ 409: components["responses"]["Error409"];
2486
+ 429: components["responses"]["Error429"];
2487
+ /** @description Error response. */
2488
+ default: {
2489
+ headers: {
2490
+ [name: string]: unknown;
2491
+ };
2492
+ content: {
2493
+ "application/json": components["schemas"]["Error"];
2494
+ };
2495
+ };
2496
+ };
2497
+ };
2498
+ "deposit_quotes.get": {
2499
+ parameters: {
2500
+ query?: never;
2501
+ header?: never;
2502
+ path: {
2503
+ id: string;
2504
+ };
2505
+ cookie?: never;
2506
+ };
2507
+ requestBody?: never;
2508
+ responses: {
2509
+ /** @description OK */
2510
+ 200: {
2511
+ headers: {
2512
+ "X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
2513
+ "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
2514
+ "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
2515
+ [name: string]: unknown;
2516
+ };
2517
+ content: {
2518
+ "application/json": components["schemas"]["DepositQuote"];
2519
+ };
2520
+ };
2521
+ 400: components["responses"]["Error400"];
2522
+ 401: components["responses"]["Error401"];
2523
+ 403: components["responses"]["Error403"];
2524
+ 429: components["responses"]["Error429"];
2525
+ /** @description Error response. */
2526
+ default: {
2527
+ headers: {
2528
+ [name: string]: unknown;
2529
+ };
2530
+ content: {
2531
+ "application/json": components["schemas"]["Error"];
2532
+ };
2533
+ };
2534
+ };
2535
+ };
2536
+ "deposits.create": {
2537
+ parameters: {
2538
+ query?: never;
2539
+ header: {
2540
+ "Idempotency-Key": components["parameters"]["Idempotency-Key"];
2541
+ };
2542
+ path?: never;
2543
+ cookie?: never;
2544
+ };
2545
+ requestBody?: {
2546
+ content: {
2547
+ "application/json": components["schemas"]["DepositInput"];
2548
+ };
2549
+ };
2550
+ responses: {
2551
+ /** @description OK */
2552
+ 200: {
2553
+ headers: {
2554
+ "X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
2555
+ "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
2556
+ "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
2557
+ [name: string]: unknown;
2558
+ };
2559
+ content: {
2560
+ "application/json": components["schemas"]["Deposit"];
2561
+ };
2562
+ };
2563
+ 400: components["responses"]["Error400"];
2564
+ 401: components["responses"]["Error401"];
2565
+ 403: components["responses"]["Error403"];
2566
+ 409: components["responses"]["Error409"];
2567
+ 429: components["responses"]["Error429"];
2568
+ /** @description Error response. */
2569
+ default: {
2570
+ headers: {
2571
+ [name: string]: unknown;
2572
+ };
2573
+ content: {
2574
+ "application/json": components["schemas"]["Error"];
2575
+ };
2576
+ };
2577
+ };
2578
+ };
2579
+ "deposits.get": {
2580
+ parameters: {
2581
+ query?: never;
2582
+ header?: never;
2583
+ path: {
2584
+ id: string;
2585
+ };
2586
+ cookie?: never;
2587
+ };
2588
+ requestBody?: never;
2589
+ responses: {
2590
+ /** @description OK */
2591
+ 200: {
2592
+ headers: {
2593
+ "X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
2594
+ "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
2595
+ "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
2596
+ [name: string]: unknown;
2597
+ };
2598
+ content: {
2599
+ "application/json": components["schemas"]["Deposit"];
2600
+ };
2601
+ };
2602
+ 400: components["responses"]["Error400"];
2603
+ 401: components["responses"]["Error401"];
2604
+ 403: components["responses"]["Error403"];
2605
+ 429: components["responses"]["Error429"];
2606
+ /** @description Error response. */
2607
+ default: {
2608
+ headers: {
2609
+ [name: string]: unknown;
2610
+ };
2611
+ content: {
2612
+ "application/json": components["schemas"]["Error"];
2613
+ };
2614
+ };
2615
+ };
2616
+ };
1740
2617
  "event_types.catalog": {
1741
2618
  parameters: {
1742
2619
  query?: never;
@@ -2063,6 +2940,42 @@ export interface operations {
2063
2940
  };
2064
2941
  };
2065
2942
  };
2943
+ "funding.snapshot": {
2944
+ parameters: {
2945
+ query?: never;
2946
+ header?: never;
2947
+ path?: never;
2948
+ cookie?: never;
2949
+ };
2950
+ requestBody?: never;
2951
+ responses: {
2952
+ /** @description OK */
2953
+ 200: {
2954
+ headers: {
2955
+ "X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
2956
+ "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
2957
+ "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
2958
+ [name: string]: unknown;
2959
+ };
2960
+ content: {
2961
+ "application/json": components["schemas"]["FundingSnapshot"];
2962
+ };
2963
+ };
2964
+ 400: components["responses"]["Error400"];
2965
+ 401: components["responses"]["Error401"];
2966
+ 403: components["responses"]["Error403"];
2967
+ 429: components["responses"]["Error429"];
2968
+ /** @description Error response. */
2969
+ default: {
2970
+ headers: {
2971
+ [name: string]: unknown;
2972
+ };
2973
+ content: {
2974
+ "application/json": components["schemas"]["Error"];
2975
+ };
2976
+ };
2977
+ };
2978
+ };
2066
2979
  "notifications.list": {
2067
2980
  parameters: {
2068
2981
  query?: {
@@ -2385,6 +3298,87 @@ export interface operations {
2385
3298
  };
2386
3299
  };
2387
3300
  };
3301
+ "source_wallet_declarations.create": {
3302
+ parameters: {
3303
+ query?: never;
3304
+ header: {
3305
+ "Idempotency-Key": components["parameters"]["Idempotency-Key"];
3306
+ };
3307
+ path?: never;
3308
+ cookie?: never;
3309
+ };
3310
+ requestBody?: {
3311
+ content: {
3312
+ "application/json": components["schemas"]["SourceWalletDeclarationInput"];
3313
+ };
3314
+ };
3315
+ responses: {
3316
+ /** @description OK */
3317
+ 200: {
3318
+ headers: {
3319
+ "X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
3320
+ "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
3321
+ "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
3322
+ [name: string]: unknown;
3323
+ };
3324
+ content: {
3325
+ "application/json": components["schemas"]["SourceWalletDeclaration"];
3326
+ };
3327
+ };
3328
+ 400: components["responses"]["Error400"];
3329
+ 401: components["responses"]["Error401"];
3330
+ 403: components["responses"]["Error403"];
3331
+ 409: components["responses"]["Error409"];
3332
+ 429: components["responses"]["Error429"];
3333
+ /** @description Error response. */
3334
+ default: {
3335
+ headers: {
3336
+ [name: string]: unknown;
3337
+ };
3338
+ content: {
3339
+ "application/json": components["schemas"]["Error"];
3340
+ };
3341
+ };
3342
+ };
3343
+ };
3344
+ "source_wallet_declarations.get": {
3345
+ parameters: {
3346
+ query?: never;
3347
+ header?: never;
3348
+ path: {
3349
+ id: string;
3350
+ };
3351
+ cookie?: never;
3352
+ };
3353
+ requestBody?: never;
3354
+ responses: {
3355
+ /** @description OK */
3356
+ 200: {
3357
+ headers: {
3358
+ "X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
3359
+ "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
3360
+ "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
3361
+ [name: string]: unknown;
3362
+ };
3363
+ content: {
3364
+ "application/json": components["schemas"]["SourceWalletDeclaration"];
3365
+ };
3366
+ };
3367
+ 400: components["responses"]["Error400"];
3368
+ 401: components["responses"]["Error401"];
3369
+ 403: components["responses"]["Error403"];
3370
+ 429: components["responses"]["Error429"];
3371
+ /** @description Error response. */
3372
+ default: {
3373
+ headers: {
3374
+ [name: string]: unknown;
3375
+ };
3376
+ content: {
3377
+ "application/json": components["schemas"]["Error"];
3378
+ };
3379
+ };
3380
+ };
3381
+ };
2388
3382
  "statements.list": {
2389
3383
  parameters: {
2390
3384
  query?: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stable_sea/sdk",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "files": [