@cubist-labs/cubesigner-sdk 0.4.241 → 0.4.246

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/package.json +1 -1
  2. package/dist/spec/env/gamma.json +5 -0
  3. package/dist/src/audit_log.d.ts +5 -5
  4. package/dist/src/audit_log.js +1 -1
  5. package/dist/src/client/api_client.d.ts +22 -7
  6. package/dist/src/client/api_client.d.ts.map +1 -1
  7. package/dist/src/client/api_client.js +43 -13
  8. package/dist/src/client/base_client.d.ts +5 -1
  9. package/dist/src/client/base_client.d.ts.map +1 -1
  10. package/dist/src/client/base_client.js +16 -10
  11. package/dist/src/client/session.d.ts +3 -1
  12. package/dist/src/client/session.d.ts.map +1 -1
  13. package/dist/src/client/session.js +7 -3
  14. package/dist/src/client.d.ts +12 -5
  15. package/dist/src/client.d.ts.map +1 -1
  16. package/dist/src/client.js +15 -4
  17. package/dist/src/diffie_hellman.js +2 -2
  18. package/dist/src/env.d.ts +7 -0
  19. package/dist/src/env.d.ts.map +1 -1
  20. package/dist/src/env.js +14 -1
  21. package/dist/src/fetch.d.ts.map +1 -1
  22. package/dist/src/fetch.js +2 -3
  23. package/dist/src/key.d.ts +17 -1
  24. package/dist/src/key.d.ts.map +1 -1
  25. package/dist/src/key.js +19 -3
  26. package/dist/src/policy.d.ts +24 -7
  27. package/dist/src/policy.d.ts.map +1 -1
  28. package/dist/src/policy.js +34 -16
  29. package/dist/src/response.d.ts +29 -5
  30. package/dist/src/response.d.ts.map +1 -1
  31. package/dist/src/response.js +62 -24
  32. package/dist/src/schema.d.ts +975 -84
  33. package/dist/src/schema.d.ts.map +1 -1
  34. package/dist/src/schema.js +1 -1
  35. package/dist/src/schema_types.d.ts +10 -1
  36. package/dist/src/schema_types.d.ts.map +1 -1
  37. package/dist/src/schema_types.js +2 -1
  38. package/dist/src/scopes.d.ts.map +1 -1
  39. package/dist/src/scopes.js +23 -3
  40. package/dist/src/user_export.d.ts +1 -1
  41. package/dist/src/user_export.js +3 -3
  42. package/dist/src/util.d.ts +7 -0
  43. package/dist/src/util.d.ts.map +1 -1
  44. package/dist/src/util.js +30 -7
  45. package/package.json +1 -1
  46. package/src/audit_log.ts +3 -5
  47. package/src/client/api_client.ts +54 -14
  48. package/src/client/base_client.ts +13 -3
  49. package/src/client/session.ts +10 -3
  50. package/src/client.ts +17 -4
  51. package/src/diffie_hellman.ts +1 -1
  52. package/src/env.ts +17 -0
  53. package/src/fetch.ts +1 -2
  54. package/src/key.ts +26 -2
  55. package/src/policy.ts +34 -16
  56. package/src/response.ts +72 -25
  57. package/src/schema.ts +1034 -92
  58. package/src/schema_types.ts +12 -1
  59. package/src/scopes.ts +22 -2
  60. package/src/user_export.ts +2 -2
  61. package/src/util.ts +34 -8
@@ -1660,6 +1660,19 @@ export interface paths {
1660
1660
  */
1661
1661
  get: operations["userOrgs"];
1662
1662
  };
1663
+ "/v1/org/{org_id}/binance/sign/{material_id}": {
1664
+ /**
1665
+ * Sign Binance RPC Request
1666
+ * @description Sign Binance RPC Request
1667
+ *
1668
+ * Signs a typed [`BinanceRpc`] request with the [`KeyType::Ed25519BinanceApi`]
1669
+ * key identified by `material_id`. The signer URL-encodes the inner request,
1670
+ * appends Binance's `recvWindow` and `timestamp` parameters, signs the
1671
+ * resulting query, and returns the full query string ready to be submitted
1672
+ * to Binance.
1673
+ */
1674
+ post: operations["binanceSign"];
1675
+ };
1663
1676
  "/v1/org/{org_id}/blob/sign/{key_id}": {
1664
1677
  /**
1665
1678
  * Sign Raw Blob
@@ -1745,34 +1758,97 @@ export type webhooks = Record<string, never>;
1745
1758
  export interface components {
1746
1759
  schemas: {
1747
1760
  AcceptedResponse: components["schemas"]["ErrorResponse"] & Record<string, never>;
1761
+ /** @description Different responses we return for success status codes. */
1762
+ AcceptedValue: OneOf<[
1763
+ {
1764
+ SignDryRun: components["schemas"]["SignDryRunArgs"];
1765
+ },
1766
+ {
1767
+ BinanceDryRun: components["schemas"]["BinanceDryRunArgs"];
1768
+ },
1769
+ {
1770
+ MfaRequired: components["schemas"]["MfaRequiredArgs"];
1771
+ }
1772
+ ]>;
1773
+ /** @enum {string} */
1774
+ AcceptedValueCode: "SignDryRun" | "BinanceDryRun" | "MfaRequired";
1748
1775
  /**
1749
- * @description Different responses we return for status code "202 Accepted".
1776
+ * @description Determines who controls the keys within an org
1777
+ * @enum {string}
1778
+ */
1779
+ AccessModel: "User" | "Org";
1780
+ /**
1781
+ * @description One asset balance entry in [`AccountInfoResponse::balances`]. Distinct from
1782
+ * [`SubAccountAsset`] because the spot-account schema lacks the `freeze` and
1783
+ * `withdrawing` fields.
1784
+ */
1785
+ AccountBalance: {
1786
+ /** @description Asset symbol (e.g. `"USDT"`, `"BTC"`). */
1787
+ asset: string;
1788
+ /** @description Available balance. */
1789
+ free: string;
1790
+ /** @description Balance locked in open orders. */
1791
+ locked: string;
1792
+ };
1793
+ /**
1794
+ * @description Parameters for `GET /api/v3/account`.
1750
1795
  *
1751
- * Even though "202 Accepted" is a successful response, we represent
1752
- * it as a Rust error because that makes it easy to have route handlers
1753
- * return `Result<T, SignerError>` where `T` is the type of the
1754
- * response for the status code "200 Ok".
1796
+ * Returns Spot account info for whichever account the signing key
1797
+ * authenticates as (master or sub).
1755
1798
  */
1756
- AcceptedValue: {
1757
- MfaRequired: {
1758
- /** @description Always set to first MFA id from `Self::ids` */
1759
- id: string;
1760
- /** @description Non-empty MFA request IDs */
1761
- ids: string[];
1762
- /** @description Organization id */
1763
- org_id: string;
1764
- /** @description Optional policy evaluation tree (included in signer responses, when requested) */
1765
- policy_eval_tree?: unknown;
1766
- session?: components["schemas"]["NewSessionResponse"] | null;
1767
- };
1799
+ AccountInfoRequest: {
1800
+ /**
1801
+ * @description If `true`, the response omits assets with all-zero balances. Defaults to
1802
+ * `false` (Binance's default).
1803
+ */
1804
+ omitZeroBalances?: boolean | null;
1805
+ };
1806
+ /** @description Response returned by `cs_binanceAccountInfo`. */
1807
+ AccountInfoResponse: {
1808
+ /** @description Account type, e.g. `"SPOT"`. Left as `String` for forward compatibility. */
1809
+ accountType: string;
1810
+ /** @description One entry per asset. Affected by the `omit_zero_balances` request flag. */
1811
+ balances: components["schemas"]["AccountBalance"][];
1812
+ brokered: boolean;
1813
+ /** Format: int64 */
1814
+ buyerCommission: number;
1815
+ canDeposit: boolean;
1816
+ canTrade: boolean;
1817
+ canWithdraw: boolean;
1818
+ commissionRates: components["schemas"]["CommissionRates"];
1819
+ /**
1820
+ * Format: int64
1821
+ * @description Maker commission, in basis points (e.g. `10` = 0.1%). Superseded by
1822
+ * [`AccountInfoResponse::commission_rates`] for fractional rates.
1823
+ */
1824
+ makerCommission: number;
1825
+ /** @description Permission flags, e.g. `["SPOT", "MARGIN"]`. */
1826
+ permissions: string[];
1827
+ preventSor: boolean;
1828
+ requireSelfTradePrevention: boolean;
1829
+ /** Format: int64 */
1830
+ sellerCommission: number;
1831
+ /** Format: int64 */
1832
+ takerCommission: number;
1833
+ /**
1834
+ * Format: int64
1835
+ * @description Account user id.
1836
+ */
1837
+ uid: number;
1838
+ /**
1839
+ * Format: int64
1840
+ * @description Last account update time (ms since epoch).
1841
+ */
1842
+ updateTime: number;
1768
1843
  };
1769
- /** @enum {string} */
1770
- AcceptedValueCode: "MfaRequired";
1771
1844
  /**
1772
- * @description Determines who controls the keys within an org
1845
+ * @description Wallet type used as the source or destination of a [`UniversalTransferRequest`].
1846
+ *
1847
+ * Serializes to the SCREAMING_SNAKE_CASE strings Binance expects. The default
1848
+ * is [`AccountType::Spot`].
1773
1849
  * @enum {string}
1774
1850
  */
1775
- AccessModel: "User" | "Org";
1851
+ AccountType: "SPOT" | "USDT_FUTURE" | "COIN_FUTURE" | "MARGIN";
1776
1852
  /** @description Request to add OIDC identity to an existing user account */
1777
1853
  AddIdentityRequest: {
1778
1854
  oidc_token: string;
@@ -2069,6 +2145,8 @@ export interface components {
2069
2145
  AuthenticatorTransport: "usb" | "nfc" | "ble" | "internal";
2070
2146
  /** @description Request to sign a serialized Avalanche transaction */
2071
2147
  AvaSerializedTxSignRequest: {
2148
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
2149
+ dry_run?: boolean;
2072
2150
  /**
2073
2151
  * @description Request additional information to be included in the response, explaining
2074
2152
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -2091,6 +2169,8 @@ export interface components {
2091
2169
  };
2092
2170
  /** @description Request to sign an Avalanche transaction */
2093
2171
  AvaSignRequest: {
2172
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
2173
+ dry_run?: boolean;
2094
2174
  /**
2095
2175
  * @description Request additional information to be included in the response, explaining
2096
2176
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -2128,6 +2208,8 @@ export interface components {
2128
2208
  /** @description Wrapper around a zeroizing 32-byte fixed-size array */
2129
2209
  B32: string;
2130
2210
  BabylonCovSignRequest: {
2211
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
2212
+ dry_run?: boolean;
2131
2213
  /**
2132
2214
  * @description Request additional information to be included in the response, explaining
2133
2215
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -2321,6 +2403,8 @@ export interface components {
2321
2403
  */
2322
2404
  value: number;
2323
2405
  }) & {
2406
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
2407
+ dry_run?: boolean;
2324
2408
  /**
2325
2409
  * @description Request additional information to be included in the response, explaining
2326
2410
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -2700,7 +2784,7 @@ export interface components {
2700
2784
  /** @enum {string} */
2701
2785
  BadGatewayErrorCode: "Generic" | "CustomChainRpcError" | "EsploraApiError" | "SentryApiError" | "CallWebhookError" | "OAuthProviderError" | "OidcDisoveryFailed" | "OidcIssuerJwkEndpointUnavailable" | "SmtpServerUnavailable";
2702
2786
  /** @enum {string} */
2703
- BadRequestErrorCode: "GenericBadRequest" | "DisallowedAllowRuleReference" | "InvalidPaginationToken" | "InvalidEmail" | "InvalidEmailTemplate" | "QueryMetricsError" | "InvalidTelegramData" | "ValidationError" | "WebhookPolicyTimeoutOutOfBounds" | "WebhookPolicyDisallowedUrlScheme" | "WebhookPolicyDisallowedUrlHost" | "WebhookPolicyDisallowedHeaders" | "ReservedName" | "UserEmailNotConfigured" | "EmailPasswordNotFound" | "PasswordAuthNotAllowedByInvitation" | "OneTimeCodeExpired" | "InvalidBody" | "InvalidJwt" | "InvitationNoLongerValid" | "TokenRequestError" | "InvalidMfaReceipt" | "InvalidMfaPolicyCount" | "InvalidMfaPolicyNumAuthFactors" | "InvalidMfaPolicyNumAllowedApprovers" | "InvalidMfaPolicyGracePeriodTooLong" | "InvalidBabylonStakingPolicyParams" | "InvalidSuiTxReceiversEmptyAllowlist" | "InvalidBtcTxReceiversEmptyAllowlist" | "InvalidRequireRoleSessionAllowlist" | "InvalidCreateKeyCount" | "InvalidDiffieHellmanCount" | "OrgInviteExistingUser" | "OrgUserAlreadyExists" | "OrgNameTaken" | "KwkNotFoundInRegion" | "OrgIsNotOrgExport" | "RoleNameTaken" | "PolicyNameTaken" | "NameTaken" | "ContactNameInvalid" | "ContactAddressesInvalid" | "ContactLabelInvalid" | "ContactModified" | "PolicyNotFound" | "PolicyVersionNotFound" | "PolicyRuleDisallowedByType" | "PolicyTypeDisallowed" | "PolicyDuplicateError" | "PolicyStillAttached" | "PolicyModified" | "PolicyNotAttached" | "AddKeyToRoleCountTooHigh" | "InvalidKeyId" | "InvalidTimeLockAlreadyInThePast" | "InvalidRestrictedScopes" | "InvalidUpdate" | "InvalidMetadataLength" | "InvalidLength" | "InvalidKeyMaterialId" | "KeyNotFound" | "SiweChallengeNotFound" | "SiweInvalidRequest" | "UserExportDerivedKey" | "UserExportPublicKeyInvalid" | "NistP256PublicKeyInvalid" | "UnableToAccessSmtpRelay" | "UserExportInProgress" | "RoleNotFound" | "InvalidRoleNameOrId" | "InvalidMfaReceiptOrgIdMissing" | "InvalidMfaReceiptInvalidOrgId" | "MfaRequestNotFound" | "InvalidKeyType" | "InvalidKeyMaterial" | "InvalidHexValue" | "InvalidBase32Value" | "InvalidBase58Value" | "InvalidSs58Value" | "InvalidForkVersionLength" | "InvalidEthAddress" | "InvalidStellarAddress" | "InvalidOrgNameOrId" | "InvalidUpdateOrgRequestDisallowedMfaType" | "InvalidUpdateOrgRequestEmptyAllowedMfaTypes" | "EmailOtpDelayTooShortForRegisterMfa" | "InvalidStakeDeposit" | "InvalidBlobSignRequest" | "InvalidDiffieHellmanRequest" | "InvalidSolanaSignRequest" | "InvalidEip712SignRequest" | "OnlySpecifyOne" | "NoOidcDataInProof" | "InvalidEvmSignRequest" | "InvalidEth2SignRequest" | "InvalidDeriveKeyRequest" | "InvalidStakingAmount" | "CustomStakingAmountNotAllowedForWrapperContract" | "InvalidUnstakeRequest" | "InvalidCreateUserRequest" | "UserAlreadyExists" | "IdpUserAlreadyExists" | "CognitoUserAlreadyOrgMember" | "UserNotFound" | "UserWithEmailNotFound" | "PolicyKeyMismatch" | "EmptyScopes" | "InvalidScopesForRoleSession" | "InvalidLifetime" | "NoSingleKeyForUser" | "InvalidOrgPolicyRule" | "SourceIpAllowlistEmpty" | "LimitWindowTooLong" | "Erc20ContractDisallowed" | "EmptyRuleError" | "OptionalListEmpty" | "MultipleExclusiveFieldsProvided" | "DuplicateFieldEntry" | "InvalidRange" | "InvalidOrgPolicyRepeatedRule" | "InvalidSuiTransaction" | "SuiSenderMismatch" | "AvaSignHashError" | "AvaSignError" | "BtcSegwitHashError" | "BtcTaprootHashError" | "BtcSignError" | "TaprootSignError" | "Eip712SignError" | "InvalidMemberRoleInUserAdd" | "InvalidMemberRoleInRecipientAdd" | "ThirdPartyUserAlreadyExists" | "OidcIdentityAlreadyExists" | "UserAlreadyHasIdentity" | "ThirdPartyUserNotFound" | "DeleteOidcUserError" | "DeleteUserError" | "SessionRoleMismatch" | "InvalidOidcToken" | "InvalidOidcIdentity" | "OidcIssuerUnsupported" | "OidcIssuerNotAllowed" | "OidcIssuerNoApplicableJwk" | "FidoKeyAlreadyRegistered" | "FidoKeySignCountTooLow" | "FidoVerificationFailed" | "FidoChallengeMfaMismatch" | "UnsupportedLegacyCognitoSession" | "InvalidIdentityProof" | "PaginationDataExpired" | "ExistingKeysViolateExclusiveKeyAccess" | "ExportDelayTooShort" | "ExportWindowTooLong" | "InvalidTotpFailureLimit" | "InvalidEip191SignRequest" | "CannotResendUserInvitation" | "InvalidNotificationEndpointCount" | "CannotDeletePendingSubscription" | "InvalidNotificationUrlProtocol" | "EmptyOneOfOrgEventFilter" | "EmptyAllExceptOrgEventFilter" | "InvalidTapNodeHash" | "InvalidOneTimeCode" | "MessageNotFound" | "MessageAlreadySigned" | "MessageRejected" | "MessageReplaced" | "InvalidMessageType" | "EmptyAddress" | "InvalidEth2SigningPolicySlotRange" | "InvalidEth2SigningPolicyEpochRange" | "InvalidEth2SigningPolicyTimestampRange" | "InvalidEth2SigningPolicyOverlappingRule" | "RpcUrlMissing" | "MmiChainIdMissing" | "EthersInvalidRpcUrl" | "EthersGetTransactionCountError" | "InvalidPassword" | "BabylonStakingFeePlusDustOverflow" | "BabylonStaking" | "BabylonStakingIncorrectKey" | "BabylonStakingSegwitNonDeposit" | "BabylonStakingRegistrationRequiresTaproot" | "PsbtSigning" | "TooManyResets" | "TooManyRequests" | "TooManyFailedLogins" | "BadBtcMessageSignP2shFlag" | "InvalidTendermintRequest" | "PolicyVersionMaxReached" | "PolicyVersionInvalid" | "PolicySecretLimitReached" | "PolicySecretTooLarge" | "InvalidImportKey" | "AlienOwnerInvalid" | "EmptyUpdateRequest" | "InvalidPolicyReference" | "PolicyEngineDisabled" | "InvalidWasmPolicy" | "InvalidPolicy" | "RedundantDerivationPath" | "ImportKeyMissing" | "InvalidAbiMethods" | "BabylonCovSign" | "InvalidPolicyLogsRequest" | "UserProfileMigrationMultipleEntries" | "UserProfileMigrationTooManyItems" | "InputTooShort" | "InvalidTweakLength" | "InvalidCustomChains" | "InvalidRpcRequest";
2787
+ BadRequestErrorCode: "GenericBadRequest" | "DisallowedAllowRuleReference" | "InvalidPaginationToken" | "InvalidEmail" | "InvalidEmailTemplate" | "QueryMetricsError" | "InvalidTelegramData" | "ValidationError" | "WebhookPolicyTimeoutOutOfBounds" | "WebhookPolicyDisallowedUrlScheme" | "WebhookPolicyDisallowedUrlHost" | "WebhookPolicyDisallowedHeaders" | "ReservedName" | "UserEmailNotConfigured" | "EmailPasswordNotFound" | "PasswordAuthNotAllowedByInvitation" | "OneTimeCodeExpired" | "InvalidBody" | "InvalidJwt" | "InvitationNoLongerValid" | "TokenRequestError" | "InvalidMfaReceipt" | "InvalidMfaPolicyCount" | "InvalidMfaPolicyNumAuthFactors" | "InvalidMfaPolicyNumAllowedApprovers" | "InvalidMfaPolicyGracePeriodTooLong" | "InvalidBabylonStakingPolicyParams" | "InvalidSuiTxReceiversEmptyAllowlist" | "InvalidBtcTxReceiversEmptyAllowlist" | "InvalidRequireRoleSessionAllowlist" | "InvalidCreateKeyCount" | "InvalidDiffieHellmanCount" | "OrgInviteExistingUser" | "OrgUserAlreadyExists" | "OrgNameTaken" | "KwkNotFoundInRegion" | "OrgIsNotOrgExport" | "RoleNameTaken" | "PolicyNameTaken" | "NameTaken" | "ContactNameInvalid" | "ContactAddressesInvalid" | "ContactLabelInvalid" | "ContactModified" | "PolicyNotFound" | "PolicyVersionNotFound" | "PolicyRuleDisallowedByType" | "PolicyTypeDisallowed" | "PolicyDuplicateError" | "PolicyStillAttached" | "PolicyModified" | "PolicyNotAttached" | "AddKeyToRoleCountTooHigh" | "InvalidKeyId" | "InvalidTimeLockAlreadyInThePast" | "InvalidRestrictedScopes" | "InvalidUpdate" | "InvalidMetadataLength" | "InvalidLength" | "InvalidKeyMaterialId" | "KeyNotFound" | "SiweChallengeNotFound" | "SiweInvalidRequest" | "UserExportDerivedKey" | "UserExportPublicKeyInvalid" | "NistP256PublicKeyInvalid" | "UnableToAccessSmtpRelay" | "UserExportInProgress" | "RoleNotFound" | "InvalidRoleNameOrId" | "InvalidMfaReceiptOrgIdMissing" | "InvalidMfaReceiptInvalidOrgId" | "MfaRequestNotFound" | "InvalidKeyType" | "InvalidPropertiesForKeyType" | "MismatchedKeyPropertiesPatch" | "MissingBinanceApiKey" | "BinanceKeyMasterMismatch" | "InvalidKeyMaterial" | "InvalidHexValue" | "InvalidBase32Value" | "InvalidBase58Value" | "InvalidBase64Value" | "InvalidSs58Value" | "InvalidForkVersionLength" | "InvalidEthAddress" | "InvalidStellarAddress" | "InvalidOrgNameOrId" | "InvalidUpdateOrgRequestDisallowedMfaType" | "InvalidUpdateOrgRequestEmptyAllowedMfaTypes" | "EmailOtpDelayTooShortForRegisterMfa" | "InvalidStakeDeposit" | "InvalidBlobSignRequest" | "InvalidDiffieHellmanRequest" | "InvalidSolanaSignRequest" | "InvalidEip712SignRequest" | "OnlySpecifyOne" | "NoOidcDataInProof" | "InvalidEvmSignRequest" | "InvalidEth2SignRequest" | "InvalidDeriveKeyRequest" | "InvalidStakingAmount" | "CustomStakingAmountNotAllowedForWrapperContract" | "InvalidUnstakeRequest" | "InvalidCreateUserRequest" | "UserAlreadyExists" | "IdpUserAlreadyExists" | "CognitoUserAlreadyOrgMember" | "UserNotFound" | "UserWithEmailNotFound" | "PolicyKeyMismatch" | "EmptyScopes" | "InvalidScopesForRoleSession" | "InvalidLifetime" | "NoSingleKeyForUser" | "InvalidOrgPolicyRule" | "SourceIpAllowlistEmpty" | "LimitWindowTooLong" | "Erc20ContractDisallowed" | "EmptyRuleError" | "OptionalListEmpty" | "MultipleExclusiveFieldsProvided" | "DuplicateFieldEntry" | "InvalidRange" | "InvalidOrgPolicyRepeatedRule" | "InvalidSuiTransaction" | "SuiSenderMismatch" | "AvaSignHashError" | "AvaSignError" | "BtcSegwitHashError" | "BtcTaprootHashError" | "BtcSignError" | "TaprootSignError" | "Eip712SignError" | "InvalidMemberRoleInUserAdd" | "InvalidMemberRoleInRecipientAdd" | "ThirdPartyUserAlreadyExists" | "OidcIdentityAlreadyExists" | "UserAlreadyHasIdentity" | "ThirdPartyUserNotFound" | "DeleteOidcUserError" | "DeleteUserError" | "SessionRoleMismatch" | "InvalidOidcToken" | "InvalidOidcIdentity" | "OidcIssuerUnsupported" | "OidcIssuerNotAllowed" | "OidcIssuerNoApplicableJwk" | "FidoKeyAlreadyRegistered" | "FidoKeySignCountTooLow" | "FidoVerificationFailed" | "FidoChallengeMfaMismatch" | "UnsupportedLegacyCognitoSession" | "InvalidIdentityProof" | "PaginationDataExpired" | "ExistingKeysViolateExclusiveKeyAccess" | "ExportDelayTooShort" | "ExportWindowTooLong" | "InvalidTotpFailureLimit" | "InvalidEip191SignRequest" | "CannotResendUserInvitation" | "InvalidNotificationEndpointCount" | "CannotDeletePendingSubscription" | "InvalidNotificationUrlProtocol" | "EmptyOneOfOrgEventFilter" | "EmptyAllExceptOrgEventFilter" | "InvalidTapNodeHash" | "InvalidOneTimeCode" | "MessageNotFound" | "MessageAlreadySigned" | "MessageRejected" | "MessageReplaced" | "InvalidMessageType" | "EmptyAddress" | "InvalidEth2SigningPolicySlotRange" | "InvalidEth2SigningPolicyEpochRange" | "InvalidEth2SigningPolicyTimestampRange" | "InvalidEth2SigningPolicyOverlappingRule" | "RpcUrlMissing" | "MmiChainIdMissing" | "EthersInvalidRpcUrl" | "EthersGetTransactionCountError" | "InvalidPassword" | "BabylonStakingFeePlusDustOverflow" | "BabylonStaking" | "BabylonStakingIncorrectKey" | "BabylonStakingSegwitNonDeposit" | "BabylonStakingRegistrationRequiresTaproot" | "PsbtSigning" | "TooManyResets" | "TooManyRequests" | "TooManyFailedLogins" | "BadBtcMessageSignP2shFlag" | "InvalidTendermintRequest" | "PolicyVersionMaxReached" | "PolicyVersionInvalid" | "PolicySecretLimitReached" | "PolicySecretTooLarge" | "InvalidImportKey" | "AlienOwnerInvalid" | "EmptyUpdateRequest" | "InvalidPolicyReference" | "PolicyEngineDisabled" | "InvalidWasmPolicy" | "InvalidPolicy" | "RedundantDerivationPath" | "ImportKeyMissing" | "InvalidAbiMethods" | "BabylonCovSign" | "InvalidPolicyLogsRequest" | "UserProfileMigrationMultipleEntries" | "UserProfileMigrationTooManyItems" | "InputTooShort" | "InvalidTweakLength" | "InvalidCustomChains" | "InvalidRpcRequest";
2704
2788
  BillingArgs: {
2705
2789
  billing_org: components["schemas"]["Id"];
2706
2790
  event_type: components["schemas"]["BillingEvent"];
@@ -2717,7 +2801,204 @@ export interface components {
2717
2801
  * @description Billing event types.
2718
2802
  * @enum {string}
2719
2803
  */
2720
- BillingEvent: "Mmi" | "MmiMessageGet" | "MmiMessageList" | "MmiMessageSign" | "MmiMessageReject" | "MmiMessageDelete" | "AboutMe" | "UserResetEmailInit" | "UserResetEmailComplete" | "UserDeleteTotp" | "UserResetTotpInit" | "UserResetTotpComplete" | "UserVerifyTotp" | "UserRegisterFidoInit" | "UserRegisterFidoComplete" | "UserDeleteFido" | "CreateProofOidc" | "CreateProofCubeSigner" | "VerifyProof" | "AddOidcIdentity" | "RemoveOidcIdentity" | "ListOidcIdentities" | "GetOrg" | "UpdateOrg" | "GetOrgExport" | "CreateOrg" | "ListKeys" | "AttestKey" | "GetKey" | "GetKeyByMaterialId" | "ListKeyRoles" | "UpdateKey" | "ListHistoricalKeyTx" | "Invite" | "CancelInvitation" | "ListInvitations" | "ListUsers" | "GetUser" | "GetUserByEmail" | "GetUserByOidc" | "UpdateMembership" | "ResetMemberMfa" | "CompleteResetMemberMfa" | "CreateRole" | "AttestRole" | "GetRole" | "ListTokenKeys" | "ListRoles" | "GetRoleKey" | "ListRoleKeys" | "ListRoleUsers" | "UpdateRole" | "DeleteRole" | "ConfigureEmail" | "GetEmailConfig" | "DeleteEmailConfig" | "ListHistoricalRoleTx" | "CreatePolicy" | "GetPolicy" | "ListPolicies" | "DeletePolicy" | "UpdatePolicy" | "InvokePolicy" | "GetPolicyLogs" | "UploadWasmPolicy" | "GetPolicySecrets" | "UpdatePolicySecrets" | "SetPolicySecret" | "DeletePolicySecret" | "CreatePolicyImportKey" | "GetPolicyBucket" | "ListPolicyBuckets" | "UpdatePolicyBucket" | "UserExportDelete" | "UserExportList" | "UserExportInit" | "UserExportComplete" | "AddUserToRole" | "RemoveUserFromRole" | "MfaApproveCs" | "MfaRejectCs" | "MfaGet" | "MfaList" | "AddKeysToRole" | "RemoveKeyFromRole" | "CreateToken" | "CreateSession" | "RevokeSession" | "RevokeCurrentSession" | "RevokeSessions" | "ListSessions" | "GetSession" | "SignerSessionRefresh" | "MfaApproveTotp" | "MfaRejectTotp" | "MfaFidoInit" | "MfaApproveFidoComplete" | "MfaRejectFidoComplete" | "MfaEmailInit" | "MfaEmailComplete" | "Cube3signerHeartbeat" | "CreateContact" | "GetContact" | "ListContacts" | "DeleteContact" | "UpdateContact" | "LookupContactsByAddress" | "QueryMetrics" | "QueryAuditLog" | "Counts" | "CreateKey" | "ImportKey" | "CreateKeyImportKey" | "DeriveKey" | "DeleteKey" | "AvaSign" | "AvaSerializedTxSign" | "BabylonRegistration" | "BabylonStaking" | "BabylonCovSign" | "BlobSign" | "BtcMessageSign" | "BtcSign" | "DiffieHellmanExchange" | "PsbtSign" | "PsbtLegacyInputSign" | "PsbtSegwitInputSign" | "PsbtTaprootInputSign" | "TaprootSign" | "Eip712Sign" | "Eip191Sign" | "Eth1Sign" | "Eth2Sign" | "SolanaSign" | "SuiSign" | "TendermintSign" | "Stake" | "Unstake" | "PasskeyAuthInit" | "PasskeyAuthComplete" | "OidcAuth" | "Oauth2Twitter" | "OAuth2TokenRefresh" | "EmailOtpAuth" | "SiweInit" | "SiweComplete" | "TelegramAuth" | "CreateOidcUser" | "DeleteOidcUser" | "DeleteUser" | "CreateEotsNonces" | "EotsSign" | "AuthMigrationIdentityAdd" | "AuthMigrationIdentityRemove" | "AuthMigrationUserUpdate" | "KeyCreated" | "KeyImported" | "InvitationAccept" | "IdpAuthenticate" | "IdpPasswordResetRequest" | "IdpPasswordResetConfirm" | "RpcApi" | "RpcCreateTransaction" | "RpcGetTransaction" | "RpcListTransactions" | "CustomChainRpcCall" | "EsploraApiCall" | "SentryApiCall" | "SentryApiCallPublic" | "MmiJwkSet" | "AttestationJwkSet" | "UserOrgs" | "PublicOrgInfo" | "EmailMyOrgs";
2804
+ BillingEvent: "Mmi" | "MmiMessageGet" | "MmiMessageList" | "MmiMessageSign" | "MmiMessageReject" | "MmiMessageDelete" | "AboutMe" | "UserResetEmailInit" | "UserResetEmailComplete" | "UserDeleteTotp" | "UserResetTotpInit" | "UserResetTotpComplete" | "UserVerifyTotp" | "UserRegisterFidoInit" | "UserRegisterFidoComplete" | "UserDeleteFido" | "CreateProofOidc" | "CreateProofCubeSigner" | "VerifyProof" | "AddOidcIdentity" | "RemoveOidcIdentity" | "ListOidcIdentities" | "GetOrg" | "UpdateOrg" | "GetOrgExport" | "CreateOrg" | "ListKeys" | "AttestKey" | "GetKey" | "GetKeyByMaterialId" | "ListKeyRoles" | "UpdateKey" | "ListHistoricalKeyTx" | "Invite" | "CancelInvitation" | "ListInvitations" | "ListUsers" | "GetUser" | "GetUserByEmail" | "GetUserByOidc" | "UpdateMembership" | "ResetMemberMfa" | "CompleteResetMemberMfa" | "CreateRole" | "AttestRole" | "GetRole" | "ListTokenKeys" | "ListRoles" | "GetRoleKey" | "ListRoleKeys" | "ListRoleUsers" | "UpdateRole" | "DeleteRole" | "ConfigureEmail" | "GetEmailConfig" | "DeleteEmailConfig" | "ListHistoricalRoleTx" | "CreatePolicy" | "GetPolicy" | "ListPolicies" | "DeletePolicy" | "UpdatePolicy" | "InvokePolicy" | "GetPolicyLogs" | "UploadWasmPolicy" | "GetPolicySecrets" | "UpdatePolicySecrets" | "SetPolicySecret" | "DeletePolicySecret" | "CreatePolicyImportKey" | "GetPolicyBucket" | "ListPolicyBuckets" | "UpdatePolicyBucket" | "UserExportDelete" | "UserExportList" | "UserExportInit" | "UserExportComplete" | "AddUserToRole" | "RemoveUserFromRole" | "MfaApproveCs" | "MfaRejectCs" | "MfaGet" | "MfaList" | "AddKeysToRole" | "RemoveKeyFromRole" | "CreateToken" | "CreateSession" | "RevokeSession" | "RevokeCurrentSession" | "RevokeSessions" | "ListSessions" | "GetSession" | "SignerSessionRefresh" | "MfaApproveTotp" | "MfaRejectTotp" | "MfaFidoInit" | "MfaApproveFidoComplete" | "MfaRejectFidoComplete" | "MfaEmailInit" | "MfaEmailComplete" | "Cube3signerHeartbeat" | "CreateContact" | "GetContact" | "ListContacts" | "DeleteContact" | "UpdateContact" | "LookupContactsByAddress" | "QueryMetrics" | "QueryAuditLog" | "Counts" | "CreateKey" | "ImportKey" | "CreateKeyImportKey" | "DeriveKey" | "DeleteKey" | "AvaSign" | "AvaSerializedTxSign" | "BabylonRegistration" | "BabylonStaking" | "BabylonCovSign" | "BinanceSign" | "BlobSign" | "BtcMessageSign" | "BtcSign" | "DiffieHellmanExchange" | "PsbtSign" | "PsbtLegacyInputSign" | "PsbtSegwitInputSign" | "PsbtTaprootInputSign" | "TaprootSign" | "Eip712Sign" | "Eip191Sign" | "Eth1Sign" | "Eth2Sign" | "SolanaSign" | "SuiSign" | "TendermintSign" | "Stake" | "Unstake" | "PasskeyAuthInit" | "PasskeyAuthComplete" | "OidcAuth" | "Oauth2Twitter" | "OAuth2TokenRefresh" | "EmailOtpAuth" | "SiweInit" | "SiweComplete" | "TelegramAuth" | "CreateOidcUser" | "DeleteOidcUser" | "DeleteUser" | "CreateEotsNonces" | "EotsSign" | "AuthMigrationIdentityAdd" | "AuthMigrationIdentityRemove" | "AuthMigrationUserUpdate" | "KeyCreated" | "KeyImported" | "InvitationAccept" | "IdpAuthenticate" | "IdpPasswordResetRequest" | "IdpPasswordResetConfirm" | "RpcApi" | "RpcCreateTransaction" | "RpcGetTransaction" | "RpcListTransactions" | "RpcRetryTransaction" | "RpcBinance" | "CustomChainRpcCall" | "EsploraApiCall" | "SentryApiCall" | "SentryApiCallPublic" | "MmiJwkSet" | "AttestationJwkSet" | "UserOrgs" | "PublicOrgInfo" | "EmailMyOrgs";
2805
+ /** @description Parameters envelope for all Binance RPC methods. */
2806
+ BinanceAccountInfoParams: components["schemas"]["AccountInfoRequest"] & {
2807
+ dryRun?: components["schemas"]["BinanceDryRunMode"] | null;
2808
+ keyId: components["schemas"]["Id"];
2809
+ /**
2810
+ * Format: float
2811
+ * @description Optional "receive window", i.e., for how long the request stays valid.
2812
+ * May only be specified in milliseconds, with up to three decimal places of precision.
2813
+ * If omitted, defaults to 10000. Must not be greater than 60000.
2814
+ */
2815
+ recvWindow?: number | null;
2816
+ };
2817
+ BinanceApiPropertiesPatch: {
2818
+ /** @description The Binance-issued API key string. Encrypted server-side before storage. */
2819
+ api_key?: string | null;
2820
+ /** @description Email address of the Binance (master or sub) account this key authenticates as. */
2821
+ email?: string | null;
2822
+ /** @description Whether this corresponds to a master (as opposed to a sub) account on Binance. */
2823
+ is_master?: boolean | null;
2824
+ /** @description Arbitrary label. Useful for storing the corresponding API key label on the Binance side. */
2825
+ label?: string | null;
2826
+ };
2827
+ /** @description Parameters envelope for all Binance RPC methods. */
2828
+ BinanceDepositParams: components["schemas"]["DepositRequest"] & {
2829
+ dryRun?: components["schemas"]["BinanceDryRunMode"] | null;
2830
+ keyId: components["schemas"]["Id"];
2831
+ /**
2832
+ * Format: float
2833
+ * @description Optional "receive window", i.e., for how long the request stays valid.
2834
+ * May only be specified in milliseconds, with up to three decimal places of precision.
2835
+ * If omitted, defaults to 10000. Must not be greater than 60000.
2836
+ */
2837
+ recvWindow?: number | null;
2838
+ };
2839
+ BinanceDryRunArgs: {
2840
+ /** @description The Binance API method that would have been used */
2841
+ method: string;
2842
+ /** @description The Binance API url method that would have been called */
2843
+ url: string;
2844
+ };
2845
+ /**
2846
+ * @description Different "dry run" modes for executing Binance requests.
2847
+ * @enum {string}
2848
+ */
2849
+ BinanceDryRunMode: "NO_SIGN" | "NO_SUBMIT";
2850
+ /**
2851
+ * @description Binance-family RPC methods. Each variant authenticates as the
2852
+ * [`KeyType::Ed25519BinanceApi`] key in its `params.key_id`.
2853
+ */
2854
+ BinanceRpc: {
2855
+ /** @enum {string} */
2856
+ method: "cs_binanceSubToMaster";
2857
+ params: components["schemas"]["BinanceSubToMasterParams"];
2858
+ } | {
2859
+ /** @enum {string} */
2860
+ method: "cs_binanceSubToSub";
2861
+ params: components["schemas"]["BinanceSubToSubParams"];
2862
+ } | {
2863
+ /** @enum {string} */
2864
+ method: "cs_binanceUniversalTransfer";
2865
+ params: components["schemas"]["BinanceUniversalTransferParams"];
2866
+ } | {
2867
+ /** @enum {string} */
2868
+ method: "cs_binanceSubAccountAssets";
2869
+ params: components["schemas"]["BinanceSubAccountAssetsParams"];
2870
+ } | {
2871
+ /** @enum {string} */
2872
+ method: "cs_binanceAccountInfo";
2873
+ params: components["schemas"]["BinanceAccountInfoParams"];
2874
+ } | {
2875
+ /** @enum {string} */
2876
+ method: "cs_binanceSubAccountTransferHistory";
2877
+ params: components["schemas"]["BinanceSubAccountTransferHistoryParams"];
2878
+ } | {
2879
+ /** @enum {string} */
2880
+ method: "cs_binanceUniversalTransferHistory";
2881
+ params: components["schemas"]["BinanceUniversalTransferHistoryParams"];
2882
+ } | {
2883
+ /** @enum {string} */
2884
+ method: "cs_binanceWithdraw";
2885
+ params: components["schemas"]["BinanceWithdrawParams"];
2886
+ } | {
2887
+ /** @enum {string} */
2888
+ method: "cs_binanceWithdrawHistory";
2889
+ params: components["schemas"]["BinanceWithdrawHistoryParams"];
2890
+ } | {
2891
+ /** @enum {string} */
2892
+ method: "cs_binanceDeposit";
2893
+ params: components["schemas"]["BinanceDepositParams"];
2894
+ };
2895
+ /** @description Response returned by the typed `binance_sign` endpoint. */
2896
+ BinanceSignResponse: {
2897
+ /** @description Optional policy evaluation tree. */
2898
+ policy_eval_tree?: unknown;
2899
+ } & {
2900
+ /**
2901
+ * @description The full signed query string, ready to be submitted to Binance.
2902
+ * Encoded as `<urlencoded params>&recvWindow=<ms>&timestamp=<ms>&signature=<urlencoded base64 sig>`.
2903
+ */
2904
+ signed_query: string;
2905
+ };
2906
+ /** @description Parameters envelope for all Binance RPC methods. */
2907
+ BinanceSubAccountAssetsParams: components["schemas"]["SubAccountAssetsRequest"] & {
2908
+ dryRun?: components["schemas"]["BinanceDryRunMode"] | null;
2909
+ keyId: components["schemas"]["Id"];
2910
+ /**
2911
+ * Format: float
2912
+ * @description Optional "receive window", i.e., for how long the request stays valid.
2913
+ * May only be specified in milliseconds, with up to three decimal places of precision.
2914
+ * If omitted, defaults to 10000. Must not be greater than 60000.
2915
+ */
2916
+ recvWindow?: number | null;
2917
+ };
2918
+ /** @description Parameters envelope for all Binance RPC methods. */
2919
+ BinanceSubAccountTransferHistoryParams: components["schemas"]["SubAccountTransferHistoryRequest"] & {
2920
+ dryRun?: components["schemas"]["BinanceDryRunMode"] | null;
2921
+ keyId: components["schemas"]["Id"];
2922
+ /**
2923
+ * Format: float
2924
+ * @description Optional "receive window", i.e., for how long the request stays valid.
2925
+ * May only be specified in milliseconds, with up to three decimal places of precision.
2926
+ * If omitted, defaults to 10000. Must not be greater than 60000.
2927
+ */
2928
+ recvWindow?: number | null;
2929
+ };
2930
+ /** @description Parameters envelope for all Binance RPC methods. */
2931
+ BinanceSubToMasterParams: components["schemas"]["SubToMasterRequest"] & {
2932
+ dryRun?: components["schemas"]["BinanceDryRunMode"] | null;
2933
+ keyId: components["schemas"]["Id"];
2934
+ /**
2935
+ * Format: float
2936
+ * @description Optional "receive window", i.e., for how long the request stays valid.
2937
+ * May only be specified in milliseconds, with up to three decimal places of precision.
2938
+ * If omitted, defaults to 10000. Must not be greater than 60000.
2939
+ */
2940
+ recvWindow?: number | null;
2941
+ };
2942
+ /** @description Parameters envelope for all Binance RPC methods. */
2943
+ BinanceSubToSubParams: components["schemas"]["SubToSubRequest"] & {
2944
+ dryRun?: components["schemas"]["BinanceDryRunMode"] | null;
2945
+ keyId: components["schemas"]["Id"];
2946
+ /**
2947
+ * Format: float
2948
+ * @description Optional "receive window", i.e., for how long the request stays valid.
2949
+ * May only be specified in milliseconds, with up to three decimal places of precision.
2950
+ * If omitted, defaults to 10000. Must not be greater than 60000.
2951
+ */
2952
+ recvWindow?: number | null;
2953
+ };
2954
+ /** @description Parameters envelope for all Binance RPC methods. */
2955
+ BinanceUniversalTransferHistoryParams: components["schemas"]["UniversalTransferHistoryRequest"] & {
2956
+ dryRun?: components["schemas"]["BinanceDryRunMode"] | null;
2957
+ keyId: components["schemas"]["Id"];
2958
+ /**
2959
+ * Format: float
2960
+ * @description Optional "receive window", i.e., for how long the request stays valid.
2961
+ * May only be specified in milliseconds, with up to three decimal places of precision.
2962
+ * If omitted, defaults to 10000. Must not be greater than 60000.
2963
+ */
2964
+ recvWindow?: number | null;
2965
+ };
2966
+ /** @description Parameters envelope for all Binance RPC methods. */
2967
+ BinanceUniversalTransferParams: components["schemas"]["UniversalTransferRequest"] & {
2968
+ dryRun?: components["schemas"]["BinanceDryRunMode"] | null;
2969
+ keyId: components["schemas"]["Id"];
2970
+ /**
2971
+ * Format: float
2972
+ * @description Optional "receive window", i.e., for how long the request stays valid.
2973
+ * May only be specified in milliseconds, with up to three decimal places of precision.
2974
+ * If omitted, defaults to 10000. Must not be greater than 60000.
2975
+ */
2976
+ recvWindow?: number | null;
2977
+ };
2978
+ /** @description Parameters envelope for all Binance RPC methods. */
2979
+ BinanceWithdrawHistoryParams: components["schemas"]["WithdrawHistoryRequest"] & {
2980
+ dryRun?: components["schemas"]["BinanceDryRunMode"] | null;
2981
+ keyId: components["schemas"]["Id"];
2982
+ /**
2983
+ * Format: float
2984
+ * @description Optional "receive window", i.e., for how long the request stays valid.
2985
+ * May only be specified in milliseconds, with up to three decimal places of precision.
2986
+ * If omitted, defaults to 10000. Must not be greater than 60000.
2987
+ */
2988
+ recvWindow?: number | null;
2989
+ };
2990
+ /** @description Parameters envelope for all Binance RPC methods. */
2991
+ BinanceWithdrawParams: components["schemas"]["WithdrawRequest"] & {
2992
+ dryRun?: components["schemas"]["BinanceDryRunMode"] | null;
2993
+ keyId: components["schemas"]["Id"];
2994
+ /**
2995
+ * Format: float
2996
+ * @description Optional "receive window", i.e., for how long the request stays valid.
2997
+ * May only be specified in milliseconds, with up to three decimal places of precision.
2998
+ * If omitted, defaults to 10000. Must not be greater than 60000.
2999
+ */
3000
+ recvWindow?: number | null;
3001
+ };
2721
3002
  /** @description A bitcoin address and its network. */
2722
3003
  BitcoinAddressInfo: {
2723
3004
  /**
@@ -2733,6 +3014,8 @@ export interface components {
2733
3014
  * }
2734
3015
  */
2735
3016
  BlobSignRequest: {
3017
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
3018
+ dry_run?: boolean;
2736
3019
  /**
2737
3020
  * @description Request additional information to be included in the response, explaining
2738
3021
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -2821,6 +3104,8 @@ export interface components {
2821
3104
  };
2822
3105
  /** @description Data to sign */
2823
3106
  BtcMessageSignRequest: {
3107
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
3108
+ dry_run?: boolean;
2824
3109
  /**
2825
3110
  * @description Request additional information to be included in the response, explaining
2826
3111
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -2857,6 +3142,8 @@ export interface components {
2857
3142
  /** @enum {string} */
2858
3143
  BtcSighashType: "All" | "None" | "Single" | "AllPlusAnyoneCanPay" | "NonePlusAnyoneCanPay" | "SinglePlusAnyoneCanPay";
2859
3144
  BtcSignRequest: {
3145
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
3146
+ dry_run?: boolean;
2860
3147
  /**
2861
3148
  * @description Request additional information to be included in the response, explaining
2862
3149
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -3058,6 +3345,13 @@ export interface components {
3058
3345
  client?: components["schemas"]["ClientProfile"];
3059
3346
  os_info?: components["schemas"]["OsInfo"];
3060
3347
  };
3348
+ /** @description Commission rates as decimal strings (e.g. `"0.00100000"`). */
3349
+ CommissionRates: {
3350
+ buyer: string;
3351
+ maker: string;
3352
+ seller: string;
3353
+ taker: string;
3354
+ };
3061
3355
  /**
3062
3356
  * @description Fields that are common to different types of resources such as keys, roles, etc.
3063
3357
  * Includes versioning fields plus metadata, edit policy, etc.
@@ -3148,7 +3442,7 @@ export interface components {
3148
3442
  type: "fido";
3149
3443
  };
3150
3444
  /** @enum {string} */
3151
- ConflictErrorCode: "ConcurrentRequestDisallowed" | "ConcurrentLockCreation";
3445
+ ConflictErrorCode: "ConcurrentRequestDisallowed" | "ConcurrentLockCreation" | "ConcurrentTransactionSubmission";
3152
3446
  /** @description A contact in the org. */
3153
3447
  Contact: components["schemas"]["CommonFields"] & {
3154
3448
  /**
@@ -3445,6 +3739,29 @@ export interface components {
3445
3739
  CreationOptionsWithHash: components["schemas"]["ChallengePieces"] & {
3446
3740
  options: components["schemas"]["PublicKeyCredentialCreationOptions"];
3447
3741
  };
3742
+ /** @description Core RPC methods (transaction CRUD). */
3743
+ CsRpc: OneOf<[
3744
+ {
3745
+ /** @enum {string} */
3746
+ method: "cs_createTransaction";
3747
+ params: components["schemas"]["CreateTransactionRequest"];
3748
+ },
3749
+ {
3750
+ /** @enum {string} */
3751
+ method: "cs_retryTransaction";
3752
+ params: components["schemas"]["RetryTransactionRequest"];
3753
+ },
3754
+ {
3755
+ /** @enum {string} */
3756
+ method: "cs_getTransaction";
3757
+ params: components["schemas"]["GetTransactionRequest"];
3758
+ },
3759
+ {
3760
+ /** @enum {string} */
3761
+ method: "cs_listTransactions";
3762
+ params: components["schemas"]["ListTransactionsRequest"];
3763
+ }
3764
+ ]>;
3448
3765
  CubeSignerUserInfo: {
3449
3766
  /** @description All multi-factor authentication methods configured for this user */
3450
3767
  configured_mfa: components["schemas"]["ConfiguredMfa"][];
@@ -3477,6 +3794,40 @@ export interface components {
3477
3794
  /** @description Custom EVM chains. */
3478
3795
  evm: components["schemas"]["EvmCustomChain"][];
3479
3796
  };
3797
+ /**
3798
+ * @description Parameters for `GET /sapi/v1/capital/deposit/address`.
3799
+ *
3800
+ * Fetches the deposit address for `coin` on the account that the signing key
3801
+ * authenticates as. Optionally narrows the address to a specific `network`.
3802
+ */
3803
+ DepositRequest: {
3804
+ /**
3805
+ * @description Required only when `network` is `"LIGHTNING"`: the deposit amount that
3806
+ * the returned invoice should encode, as a decimal string.
3807
+ */
3808
+ amount?: string | null;
3809
+ /** @description The asset symbol whose deposit address to fetch (e.g. `"USDT"`, `"BTC"`). */
3810
+ coin: string;
3811
+ /**
3812
+ * @description Network identifier (e.g. `"BSC"`, `"ETH"`). If omitted, Binance returns
3813
+ * the address on the asset's default network.
3814
+ */
3815
+ network?: string | null;
3816
+ };
3817
+ /** @description Response returned by `cs_binanceDeposit`. */
3818
+ DepositResponse: {
3819
+ /** @description Deposit address. */
3820
+ address: string;
3821
+ /** @description Asset symbol (echoes [`DepositRequest::coin`]). */
3822
+ coin: string;
3823
+ /**
3824
+ * @description Secondary address identifier required by some assets (e.g. memo for
3825
+ * XRP, tag for XLM). Empty string when the asset does not use one.
3826
+ */
3827
+ tag: string;
3828
+ /** @description Blockchain explorer URL for `address`. */
3829
+ url: string;
3830
+ };
3480
3831
  /**
3481
3832
  * @description Information produced by a successful deposit
3482
3833
  * @example {
@@ -3563,6 +3914,8 @@ export interface components {
3563
3914
  mnemonic_id?: string | null;
3564
3915
  };
3565
3916
  DiffieHellmanRequest: {
3917
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
3918
+ dry_run?: boolean;
3566
3919
  /**
3567
3920
  * @description Request additional information to be included in the response, explaining
3568
3921
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -3643,6 +3996,8 @@ export interface components {
3643
3996
  time_lock_until?: components["schemas"]["EpochDateTime"] | null;
3644
3997
  };
3645
3998
  Eip191SignRequest: {
3999
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
4000
+ dry_run?: boolean;
3646
4001
  /**
3647
4002
  * @description Request additional information to be included in the response, explaining
3648
4003
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -3765,6 +4120,8 @@ export interface components {
3765
4120
  * }
3766
4121
  */
3767
4122
  Eip712SignRequest: {
4123
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
4124
+ dry_run?: boolean;
3768
4125
  /**
3769
4126
  * @description Request additional information to be included in the response, explaining
3770
4127
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -3860,6 +4217,8 @@ export interface components {
3860
4217
  * at a specified block height.
3861
4218
  */
3862
4219
  EotsCreateNonceRequest: {
4220
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
4221
+ dry_run?: boolean;
3863
4222
  /**
3864
4223
  * @description Request additional information to be included in the response, explaining
3865
4224
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -3910,6 +4269,8 @@ export interface components {
3910
4269
  };
3911
4270
  /** @description Request for an EOTS signature on a specified message, chain-id, block-height triple */
3912
4271
  EotsSignRequest: {
4272
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
4273
+ dry_run?: boolean;
3913
4274
  /**
3914
4275
  * @description Request additional information to be included in the response, explaining
3915
4276
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -4006,6 +4367,8 @@ export interface components {
4006
4367
  * }
4007
4368
  */
4008
4369
  Eth1SignRequest: {
4370
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
4371
+ dry_run?: boolean;
4009
4372
  /**
4010
4373
  * @description Request additional information to be included in the response, explaining
4011
4374
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -4068,6 +4431,8 @@ export interface components {
4068
4431
  * }
4069
4432
  */
4070
4433
  Eth2SignRequest: {
4434
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
4435
+ dry_run?: boolean;
4071
4436
  /**
4072
4437
  * @description Request additional information to be included in the response, explaining
4073
4438
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -4190,6 +4555,11 @@ export interface components {
4190
4555
  };
4191
4556
  /** @description EVM-specific transaction details. */
4192
4557
  EvmTransactionDetails: {
4558
+ /**
4559
+ * Format: int64
4560
+ * @description The EVM chain id for the chain the transaction is submitted to.
4561
+ */
4562
+ chain_id: number;
4193
4563
  /**
4194
4564
  * @description The transaction hash, as submitted to the chain.
4195
4565
  *
@@ -4201,7 +4571,7 @@ export interface components {
4201
4571
  *
4202
4572
  * Can be undefined if the transaction hasn't been signed yet, or failed to be signed.
4203
4573
  */
4204
- signature?: string;
4574
+ signature?: string | null;
4205
4575
  /** @description The transaction itself. */
4206
4576
  tx: unknown;
4207
4577
  };
@@ -4253,8 +4623,7 @@ export interface components {
4253
4623
  /**
4254
4624
  * @description Optional nonce.
4255
4625
  *
4256
- * If not specified, the sender's transaction count from the latest block is
4257
- * used.
4626
+ * If not specified, the next available nonce is used.
4258
4627
  */
4259
4628
  nonce?: string | null;
4260
4629
  };
@@ -4270,7 +4639,7 @@ export interface components {
4270
4639
  * @description Explicitly named scopes for accessing CubeSigner APIs
4271
4640
  * @enum {string}
4272
4641
  */
4273
- ExplicitScope: "sign:*" | "sign:ava" | "sign:blob" | "sign:diffieHellman" | "sign:btc:*" | "sign:btc:segwit" | "sign:btc:taproot" | "sign:btc:psbt:*" | "sign:btc:psbt:doge" | "sign:btc:psbt:legacy" | "sign:btc:psbt:segwit" | "sign:btc:psbt:taproot" | "sign:btc:psbt:ltcSegwit" | "sign:btc:message:*" | "sign:btc:message:segwit" | "sign:btc:message:legacy" | "sign:babylon:*" | "sign:babylon:eots:*" | "sign:babylon:eots:nonces" | "sign:babylon:eots:sign" | "sign:babylon:staking:*" | "sign:babylon:staking:deposit" | "sign:babylon:staking:unbond" | "sign:babylon:staking:withdraw" | "sign:babylon:staking:slash" | "sign:babylon:registration" | "sign:babylon:covenant" | "sign:evm:*" | "sign:evm:tx" | "sign:evm:eip191" | "sign:evm:eip712" | "sign:eth2:*" | "sign:eth2:validate" | "sign:eth2:stake" | "sign:eth2:unstake" | "sign:solana" | "sign:sui" | "sign:tendermint" | "sign:mmi" | "manage:*" | "manage:readonly" | "manage:email:*" | "manage:email:get" | "manage:email:update" | "manage:email:delete" | "manage:mfa:*" | "manage:mfa:readonly" | "manage:mfa:list" | "manage:mfa:vote:*" | "manage:mfa:vote:cs" | "manage:mfa:vote:email" | "manage:mfa:vote:fido" | "manage:mfa:vote:totp" | "manage:mfa:register:*" | "manage:mfa:register:fido" | "manage:mfa:register:totp" | "manage:mfa:register:email" | "manage:mfa:unregister:*" | "manage:mfa:unregister:fido" | "manage:mfa:unregister:totp" | "manage:mfa:verify:*" | "manage:mfa:verify:totp" | "manage:key:*" | "manage:key:readonly" | "manage:key:get" | "manage:key:attest" | "manage:key:listRoles" | "manage:key:list" | "manage:key:history:tx:list" | "manage:key:create" | "manage:key:import" | "manage:key:update:*" | "manage:key:update:owner" | "manage:key:update:policy" | "manage:key:update:enabled" | "manage:key:update:region" | "manage:key:update:metadata" | "manage:key:update:editPolicy" | "manage:key:delete" | "manage:policy:*" | "manage:policy:readonly" | "manage:policy:create" | "manage:policy:get" | "manage:policy:list" | "manage:policy:delete" | "manage:policy:update:*" | "manage:policy:update:owner" | "manage:policy:update:name" | "manage:policy:update:acl" | "manage:policy:update:editPolicy" | "manage:policy:update:metadata" | "manage:policy:update:rule" | "manage:policy:invoke" | "manage:policy:wasm:*" | "manage:policy:wasm:upload" | "manage:policy:secrets:*" | "manage:policy:secrets:get" | "manage:policy:secrets:update:*" | "manage:policy:secrets:update:values" | "manage:policy:secrets:update:acl" | "manage:policy:secrets:update:editPolicy" | "manage:policy:buckets:*" | "manage:policy:buckets:get" | "manage:policy:buckets:list" | "manage:policy:buckets:update:*" | "manage:policy:buckets:update:owner" | "manage:policy:buckets:update:acl" | "manage:policy:buckets:update:metadata" | "manage:contact:*" | "manage:contact:readonly" | "manage:contact:create" | "manage:contact:get" | "manage:contact:list" | "manage:contact:delete" | "manage:contact:update:*" | "manage:contact:update:name" | "manage:contact:update:addresses" | "manage:contact:update:owner" | "manage:contact:update:labels" | "manage:contact:update:metadata" | "manage:contact:update:editPolicy" | "manage:contact:lookup:*" | "manage:contact:lookup:address" | "manage:policy:createImportKey" | "manage:role:*" | "manage:role:readonly" | "manage:role:create" | "manage:role:delete" | "manage:role:get:*" | "manage:role:attest" | "manage:role:get:keys" | "manage:role:get:keys:list" | "manage:role:get:keys:get" | "manage:role:get:users" | "manage:role:list" | "manage:role:update:*" | "manage:role:update:enabled" | "manage:role:update:policy" | "manage:role:update:editPolicy" | "manage:role:update:actions" | "manage:role:update:key:*" | "manage:role:update:key:add" | "manage:role:update:key:remove" | "manage:role:update:user:*" | "manage:role:update:user:add" | "manage:role:update:user:remove" | "manage:role:history:tx:list" | "manage:identity:*" | "manage:identity:readonly" | "manage:identity:verify" | "manage:identity:add" | "manage:identity:remove" | "manage:identity:list" | "manage:org:*" | "manage:org:create" | "manage:org:metrics:query" | "manage:org:audit:query" | "manage:org:readonly" | "manage:org:addUser" | "manage:org:inviteUser" | "manage:org:inviteAlien" | "manage:org:invitation:list" | "manage:org:invitation:cancel" | "manage:org:updateMembership" | "manage:org:listUsers" | "manage:org:user:get" | "manage:org:deleteUser" | "manage:org:get" | "manage:org:update:*" | "manage:org:update:enabled" | "manage:org:update:policy" | "manage:org:update:signPolicy" | "manage:org:update:export" | "manage:org:update:totpFailureLimit" | "manage:org:update:notificationEndpoints" | "manage:org:update:defaultInviteKind" | "manage:org:update:idpConfiguration" | "manage:org:update:passkeyConfiguration" | "manage:org:update:emailPreferences" | "manage:org:update:historicalData" | "manage:org:update:requireScopeCeiling" | "manage:org:update:alienLoginRequirement" | "manage:org:update:memberLoginRequirement" | "manage:org:update:keyExportRequirement" | "manage:org:update:allowedMfaTypes" | "manage:org:update:policyEngineConf" | "manage:org:update:customChains" | "manage:org:update:extProps" | "manage:org:update:editPolicy" | "manage:org:user:resetMfa" | "manage:session:*" | "manage:session:readonly" | "manage:session:get" | "manage:session:list" | "manage:session:create" | "manage:session:extend" | "manage:session:revoke" | "manage:export:*" | "manage:export:readonly" | "manage:export:org:*" | "manage:export:org:get" | "manage:export:user:*" | "manage:export:user:delete" | "manage:export:user:list" | "manage:authMigration:*" | "manage:authMigration:identity:add" | "manage:authMigration:identity:remove" | "manage:authMigration:user:update" | "manage:mmi:*" | "manage:mmi:readonly" | "manage:mmi:get" | "manage:mmi:list" | "manage:mmi:reject" | "manage:mmi:delete" | "export:*" | "export:user:*" | "export:user:init" | "export:user:complete" | "mmi:*" | "orgAccess:*" | "orgAccess:child:*" | "rpc:*" | "rpc:createTransaction:*" | "rpc:createTransaction:evm" | "rpc:getTransaction" | "rpc:listTransactions";
4642
+ ExplicitScope: "sign:*" | "sign:ava" | "sign:binance:*" | "sign:binance:subToMaster" | "sign:binance:subToSub" | "sign:binance:universalTransfer" | "sign:binance:subAccountAssets" | "sign:binance:accountInfo" | "sign:binance:subAccountTransferHistory" | "sign:binance:universalTransferHistory" | "sign:binance:withdraw" | "sign:binance:withdrawHistory" | "sign:binance:deposit" | "sign:blob" | "sign:diffieHellman" | "sign:btc:*" | "sign:btc:segwit" | "sign:btc:taproot" | "sign:btc:psbt:*" | "sign:btc:psbt:doge" | "sign:btc:psbt:legacy" | "sign:btc:psbt:segwit" | "sign:btc:psbt:taproot" | "sign:btc:psbt:ltcSegwit" | "sign:btc:message:*" | "sign:btc:message:segwit" | "sign:btc:message:legacy" | "sign:babylon:*" | "sign:babylon:eots:*" | "sign:babylon:eots:nonces" | "sign:babylon:eots:sign" | "sign:babylon:staking:*" | "sign:babylon:staking:deposit" | "sign:babylon:staking:unbond" | "sign:babylon:staking:withdraw" | "sign:babylon:staking:slash" | "sign:babylon:registration" | "sign:babylon:covenant" | "sign:evm:*" | "sign:evm:tx" | "sign:evm:eip191" | "sign:evm:eip712" | "sign:eth2:*" | "sign:eth2:validate" | "sign:eth2:stake" | "sign:eth2:unstake" | "sign:solana" | "sign:sui" | "sign:tendermint" | "sign:mmi" | "manage:*" | "manage:readonly" | "manage:email:*" | "manage:email:get" | "manage:email:update" | "manage:email:delete" | "manage:mfa:*" | "manage:mfa:readonly" | "manage:mfa:list" | "manage:mfa:vote:*" | "manage:mfa:vote:cs" | "manage:mfa:vote:email" | "manage:mfa:vote:fido" | "manage:mfa:vote:totp" | "manage:mfa:register:*" | "manage:mfa:register:fido" | "manage:mfa:register:totp" | "manage:mfa:register:email" | "manage:mfa:unregister:*" | "manage:mfa:unregister:fido" | "manage:mfa:unregister:totp" | "manage:mfa:verify:*" | "manage:mfa:verify:totp" | "manage:key:*" | "manage:key:readonly" | "manage:key:get" | "manage:key:attest" | "manage:key:listRoles" | "manage:key:list" | "manage:key:history:tx:list" | "manage:key:create" | "manage:key:import" | "manage:key:update:*" | "manage:key:update:owner" | "manage:key:update:policy" | "manage:key:update:enabled" | "manage:key:update:region" | "manage:key:update:metadata" | "manage:key:update:properties" | "manage:key:update:editPolicy" | "manage:key:delete" | "manage:policy:*" | "manage:policy:readonly" | "manage:policy:create" | "manage:policy:get" | "manage:policy:list" | "manage:policy:delete" | "manage:policy:update:*" | "manage:policy:update:owner" | "manage:policy:update:name" | "manage:policy:update:acl" | "manage:policy:update:editPolicy" | "manage:policy:update:metadata" | "manage:policy:update:rule" | "manage:policy:invoke" | "manage:policy:wasm:*" | "manage:policy:wasm:upload" | "manage:policy:secrets:*" | "manage:policy:secrets:get" | "manage:policy:secrets:update:*" | "manage:policy:secrets:update:values" | "manage:policy:secrets:update:acl" | "manage:policy:secrets:update:editPolicy" | "manage:policy:buckets:*" | "manage:policy:buckets:get" | "manage:policy:buckets:list" | "manage:policy:buckets:update:*" | "manage:policy:buckets:update:owner" | "manage:policy:buckets:update:acl" | "manage:policy:buckets:update:metadata" | "manage:contact:*" | "manage:contact:readonly" | "manage:contact:create" | "manage:contact:get" | "manage:contact:list" | "manage:contact:delete" | "manage:contact:update:*" | "manage:contact:update:name" | "manage:contact:update:addresses" | "manage:contact:update:owner" | "manage:contact:update:labels" | "manage:contact:update:metadata" | "manage:contact:update:editPolicy" | "manage:contact:lookup:*" | "manage:contact:lookup:address" | "manage:policy:createImportKey" | "manage:role:*" | "manage:role:readonly" | "manage:role:create" | "manage:role:delete" | "manage:role:get:*" | "manage:role:attest" | "manage:role:get:keys" | "manage:role:get:keys:list" | "manage:role:get:keys:get" | "manage:role:get:users" | "manage:role:list" | "manage:role:update:*" | "manage:role:update:enabled" | "manage:role:update:policy" | "manage:role:update:editPolicy" | "manage:role:update:actions" | "manage:role:update:key:*" | "manage:role:update:key:add" | "manage:role:update:key:remove" | "manage:role:update:user:*" | "manage:role:update:user:add" | "manage:role:update:user:remove" | "manage:role:history:tx:list" | "manage:identity:*" | "manage:identity:readonly" | "manage:identity:verify" | "manage:identity:add" | "manage:identity:remove" | "manage:identity:list" | "manage:org:*" | "manage:org:create" | "manage:org:metrics:query" | "manage:org:audit:query" | "manage:org:readonly" | "manage:org:addUser" | "manage:org:inviteUser" | "manage:org:inviteAlien" | "manage:org:invitation:list" | "manage:org:invitation:cancel" | "manage:org:updateMembership:*" | "manage:org:updateMembership:owner" | "manage:org:updateMembership:member" | "manage:org:updateMembership:alien" | "manage:org:listUsers" | "manage:org:user:get" | "manage:org:deleteUser:*" | "manage:org:deleteUser:owner" | "manage:org:deleteUser:member" | "manage:org:deleteUser:alien" | "manage:org:get" | "manage:org:update:*" | "manage:org:update:enabled" | "manage:org:update:policy" | "manage:org:update:signPolicy" | "manage:org:update:export" | "manage:org:update:totpFailureLimit" | "manage:org:update:notificationEndpoints" | "manage:org:update:defaultInviteKind" | "manage:org:update:idpConfiguration" | "manage:org:update:passkeyConfiguration" | "manage:org:update:emailPreferences" | "manage:org:update:historicalData" | "manage:org:update:requireScopeCeiling" | "manage:org:update:alienLoginRequirement" | "manage:org:update:memberLoginRequirement" | "manage:org:update:keyExportRequirement" | "manage:org:update:allowedMfaTypes" | "manage:org:update:policyEngineConf" | "manage:org:update:customChains" | "manage:org:update:extProps" | "manage:org:update:editPolicy" | "manage:org:user:resetMfa" | "manage:session:*" | "manage:session:readonly" | "manage:session:get" | "manage:session:list" | "manage:session:create" | "manage:session:extend" | "manage:session:revoke" | "manage:export:*" | "manage:export:readonly" | "manage:export:org:*" | "manage:export:org:get" | "manage:export:user:*" | "manage:export:user:delete" | "manage:export:user:list" | "manage:authMigration:*" | "manage:authMigration:identity:add" | "manage:authMigration:identity:remove" | "manage:authMigration:user:update" | "manage:mmi:*" | "manage:mmi:readonly" | "manage:mmi:get" | "manage:mmi:list" | "manage:mmi:reject" | "manage:mmi:delete" | "export:*" | "export:user:*" | "export:user:init" | "export:user:complete" | "mmi:*" | "orgAccess:*" | "orgAccess:child:*" | "rpc:*" | "rpc:createTransaction:*" | "rpc:createTransaction:evm" | "rpc:retryTransaction" | "rpc:getTransaction" | "rpc:listTransactions" | "rpc:binance";
4274
4643
  /**
4275
4644
  * @description This type specifies the interpretation of the `fee` field in Babylon
4276
4645
  * staking requests. If `sats`, the field is intpreted as a fixed value
@@ -4727,9 +5096,7 @@ export interface components {
4727
5096
  key_type: string;
4728
5097
  };
4729
5098
  /** @description The top-level JSON-RPC request type. */
4730
- JsonRpcRequest: {
4731
- method: "JsonRpcRequest";
4732
- } & Omit<components["schemas"]["RpcMethod"], "method"> & {
5099
+ JsonRpcRequest: components["schemas"]["RpcMethod"] & {
4733
5100
  /** @description Request ID */
4734
5101
  id?: string;
4735
5102
  /** @description JSON-RPC version. */
@@ -4746,7 +5113,7 @@ export interface components {
4746
5113
  result?: Record<string, unknown> | null;
4747
5114
  };
4748
5115
  /** @description Valid `result` from the JSON-RPC API. */
4749
- JsonRpcResult: components["schemas"]["TransactionInfo"] | components["schemas"]["ListTransactionsPaginatedResponse"];
5116
+ JsonRpcResult: components["schemas"]["TransactionInfo"] | components["schemas"]["ListTransactionsPaginatedResponse"] | components["schemas"]["SubAccountTransferResponse"] | components["schemas"]["UniversalTransferResponse"] | components["schemas"]["SubAccountAssetsResponse"] | components["schemas"]["AccountInfoResponse"] | components["schemas"]["SubAccountTransferHistoryResponse"] | components["schemas"]["UniversalTransferHistoryResponse"] | components["schemas"]["WithdrawResponse"] | components["schemas"]["WithdrawHistoryResponse"] | components["schemas"]["DepositResponse"];
4750
5117
  JwkSetResponse: {
4751
5118
  /** @description The keys included in this set */
4752
5119
  keys: Record<string, never>[];
@@ -4848,6 +5215,7 @@ export interface components {
4848
5215
  * ]
4849
5216
  */
4850
5217
  policy: unknown[];
5218
+ properties?: components["schemas"]["KeyPropertiesPatch"] | null;
4851
5219
  /** @description The key provenance. */
4852
5220
  provenance?: string | null;
4853
5221
  /**
@@ -4875,8 +5243,21 @@ export interface components {
4875
5243
  KeyInfos: {
4876
5244
  keys: components["schemas"]["KeyInfo"][];
4877
5245
  };
5246
+ /**
5247
+ * @description Client-side wire payload for [`KeyProperties`]. Used in both directions:
5248
+ *
5249
+ * - **On write**: a *patch*, i.e., for each field, missing means "leave alone",
5250
+ * `null` means "clear", and a value means "set". Secret fields arrive in the
5251
+ * clear and are encrypted server-side before persisting.
5252
+ * - **On read**: each field is omitted when the stored property is unset; secret
5253
+ * fields are emitted with the redacted marker (e.g. "[REDACTED]").
5254
+ */
5255
+ KeyPropertiesPatch: components["schemas"]["BinanceApiPropertiesPatch"] & {
5256
+ /** @enum {string} */
5257
+ kind: "BinanceApi";
5258
+ };
4878
5259
  /** @enum {string} */
4879
- KeyType: "SecpEthAddr" | "SecpBtc" | "SecpBtcTest" | "SecpBtcLegacy" | "SecpBtcLegacyTest" | "SecpAvaAddr" | "SecpAvaTestAddr" | "BlsPub" | "BlsInactive" | "BlsAvaIcm" | "Ed25519SolanaAddr" | "Ed25519SuiAddr" | "Ed25519AptosAddr" | "Ed25519CardanoAddrVk" | "Ed25519StellarAddr" | "Ed25519SubstrateAddr" | "Ed25519CantonAddr" | "Mnemonic" | "Stark" | "BabylonEots" | "BabylonCov" | "TaprootBtc" | "TaprootBtcTest" | "SecpCosmosAddr" | "P256CosmosAddr" | "P256OntologyAddr" | "P256Neo3Addr" | "Ed25519TendermintAddr" | "SecpTronAddr" | "Ed25519TonAddr" | "SecpDogeAddr" | "SecpDogeTestAddr" | "SecpKaspaAddr" | "SecpKaspaTestAddr" | "SchnorrKaspaAddr" | "SchnorrKaspaTestAddr" | "SecpLtc" | "SecpLtcTest" | "SecpXrpAddr" | "Ed25519XrpAddr" | "BabyJubjub";
5260
+ KeyType: "SecpEthAddr" | "SecpBtc" | "SecpBtcTest" | "SecpBtcLegacy" | "SecpBtcLegacyTest" | "SecpAvaAddr" | "SecpAvaTestAddr" | "BlsPub" | "BlsInactive" | "BlsAvaIcm" | "Ed25519SolanaAddr" | "Ed25519SuiAddr" | "Ed25519AptosAddr" | "Ed25519CardanoAddrVk" | "Ed25519StellarAddr" | "Ed25519SubstrateAddr" | "Ed25519CantonAddr" | "Ed25519BinanceApi" | "Mnemonic" | "Stark" | "BabylonEots" | "BabylonCov" | "TaprootBtc" | "TaprootBtcTest" | "SecpCosmosAddr" | "P256CosmosAddr" | "P256OntologyAddr" | "P256Neo3Addr" | "Ed25519TendermintAddr" | "SecpTronAddr" | "Ed25519TonAddr" | "SecpDogeAddr" | "SecpDogeTestAddr" | "SecpKaspaAddr" | "SecpKaspaTestAddr" | "SchnorrKaspaAddr" | "SchnorrKaspaTestAddr" | "SecpLtc" | "SecpLtcTest" | "SecpXrpAddr" | "Ed25519XrpAddr" | "BabyJubjub";
4880
5261
  KeyTypeAndDerivationPath: {
4881
5262
  /**
4882
5263
  * @description List of derivation paths for which to derive.
@@ -4947,7 +5328,7 @@ export interface components {
4947
5328
  */
4948
5329
  owner?: string | null;
4949
5330
  };
4950
- /** @description The response to [`cs_listTransactions`](super::request::RpcMethod::ListTransactions) */
5331
+ /** @description The response to [`cs_listTransactions`](super::request::CsRpc::ListTransactions) */
4951
5332
  ListTransactionsResponse: {
4952
5333
  /** @description A list of transaction infos. */
4953
5334
  transactions: components["schemas"]["TransactionInfo"][];
@@ -5033,6 +5414,17 @@ export interface components {
5033
5414
  request: components["schemas"]["HttpRequest"];
5034
5415
  status: components["schemas"]["Status"];
5035
5416
  };
5417
+ MfaRequiredArgs: {
5418
+ /** @description Always set to first MFA id from `Self::ids` */
5419
+ id: string;
5420
+ /** @description Non-empty MFA request IDs */
5421
+ ids: string[];
5422
+ /** @description Organization id */
5423
+ org_id: string;
5424
+ /** @description Optional policy evaluation tree (included in signer responses, when requested) */
5425
+ policy_eval_tree?: unknown;
5426
+ session?: components["schemas"]["NewSessionResponse"] | null;
5427
+ };
5036
5428
  /** @description Org-wide MFA requirements. */
5037
5429
  MfaRequirements: {
5038
5430
  alien_login_requirement?: components["schemas"]["SecondFactorRequirement"];
@@ -5072,7 +5464,7 @@ export interface components {
5072
5464
  verified_email?: string | null;
5073
5465
  };
5074
5466
  MigrateUpdateUsersRequest: components["schemas"]["MigrateUpdateUserItem"][];
5075
- MmiMetadata: (components["schemas"]["MmiMetadataExt"] | null) & {
5467
+ MmiMetadata: {
5076
5468
  /** @description Chain ID (not required when signing a personal message (EIP-191)) */
5077
5469
  chainId?: string | null;
5078
5470
  /** @description If the custodian should publish the transaction */
@@ -5086,40 +5478,6 @@ export interface components {
5086
5478
  /** @description The category of transaction, as best can be determined by the wallet */
5087
5479
  transactionCategory?: string | null;
5088
5480
  };
5089
- MmiMetadataExt: {
5090
- /**
5091
- * @description All accounts the user can access.
5092
- * Only set when requested explicitly, i.e., via 'customer_listAccountsSigned'.
5093
- */
5094
- accounts?: {
5095
- /**
5096
- * @description An Ethereum address, hex-encoded, with leading '0x'
5097
- * @example 0x0123456789012345678901234567890123456789
5098
- */
5099
- address: string;
5100
- /** @description Account metadata */
5101
- metadata?: unknown;
5102
- /** @description Account name */
5103
- name: string;
5104
- /** @description Ordered list of name-value pairs */
5105
- tags?: {
5106
- /** @description Tag name */
5107
- name: string;
5108
- /** @description Tag value */
5109
- value: string;
5110
- }[];
5111
- }[] | null;
5112
- /** @description The customer ID of the user, i.e., the customer's organization ID. */
5113
- customerId: string | null;
5114
- /** @description A human readable name of the corresponding organization, if any. */
5115
- customerName: string | null;
5116
- } & {
5117
- /**
5118
- * @description This must match the `sub` claim of the customer proof of
5119
- * the user or role session which created the transaction.
5120
- */
5121
- userId: string | null;
5122
- };
5123
5481
  MmiRejectRequest: {
5124
5482
  /** @description Optional reason for rejecting. */
5125
5483
  reason?: string | null;
@@ -5292,7 +5650,7 @@ export interface components {
5292
5650
  * @description All different kinds of sensitive operations
5293
5651
  * @enum {string}
5294
5652
  */
5295
- OperationKind: "AvaSign" | "AvaChainTxSign" | "BabylonCovSign" | "BabylonRegistration" | "BabylonStaking" | "BlobSign" | "BtcMessageSign" | "BtcSign" | "DiffieHellman" | "PsbtSign" | "TaprootSign" | "Eip191Sign" | "Eip712Sign" | "EotsNonces" | "EotsSign" | "Eth1Sign" | "Eth2Sign" | "Eth2Stake" | "Eth2Unstake" | "SolanaSign" | "SuiSign" | "TendermintSign" | "RoleUpdate";
5653
+ OperationKind: "AvaSign" | "AvaChainTxSign" | "BabylonCovSign" | "BabylonRegistration" | "BabylonStaking" | "BinanceSign" | "BlobSign" | "BtcMessageSign" | "BtcSign" | "DiffieHellman" | "PsbtSign" | "TaprootSign" | "Eip191Sign" | "Eip712Sign" | "EotsNonces" | "EotsSign" | "Eth1Sign" | "Eth2Sign" | "Eth2Stake" | "Eth2Unstake" | "SolanaSign" | "SuiSign" | "TendermintSign" | "RoleUpdate";
5296
5654
  OrgAlertsPrefs: {
5297
5655
  /** @description Recipient users for org-level alerts */
5298
5656
  alert_recipients?: components["schemas"]["Id"][] | null;
@@ -6278,6 +6636,8 @@ export interface components {
6278
6636
  ]>;
6279
6637
  /** @description A request to sign a PSBT */
6280
6638
  PsbtSignRequest: {
6639
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
6640
+ dry_run?: boolean;
6281
6641
  /**
6282
6642
  * @description Request additional information to be included in the response, explaining
6283
6643
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -6809,6 +7169,11 @@ export interface components {
6809
7169
  RestrictedActionsMap: {
6810
7170
  [key: string]: components["schemas"]["MemberRole"][];
6811
7171
  };
7172
+ /** @description Parameters for the [`cs_retryTransaction`](RpcMethod::RetryTransaction) method. */
7173
+ RetryTransactionRequest: components["schemas"]["EvmTxCustomization"] & {
7174
+ /** @description The transaction id. */
7175
+ id: string;
7176
+ };
6812
7177
  /**
6813
7178
  * @description List of role actions that can be restricted to a set of member roles
6814
7179
  * @enum {string}
@@ -6881,20 +7246,14 @@ export interface components {
6881
7246
  /** @description A JSON Web Token whose claims contain the `RoleInfo` structure. */
6882
7247
  jwt: string;
6883
7248
  };
6884
- /** @description The RPC API method and matching parameters. */
6885
- RpcMethod: {
6886
- /** @enum {string} */
6887
- method: "cs_createTransaction";
6888
- params: components["schemas"]["CreateTransactionRequest"];
6889
- } | {
6890
- /** @enum {string} */
6891
- method: "cs_getTransaction";
6892
- params: components["schemas"]["GetTransactionRequest"];
6893
- } | {
6894
- /** @enum {string} */
6895
- method: "cs_listTransactions";
6896
- params: components["schemas"]["ListTransactionsRequest"];
6897
- };
7249
+ /**
7250
+ * @description The RPC API method and matching parameters.
7251
+ *
7252
+ * Top-level dispatch. Wire format is preserved by `#[serde(untagged)]`: each
7253
+ * inbound request is matched against one of the internally-tagged inner enums
7254
+ * ([`CsRpc`] for the core methods, [`BinanceRpc`] for the Binance family).
7255
+ */
7256
+ RpcMethod: components["schemas"]["CsRpc"] | components["schemas"]["BinanceRpc"];
6898
7257
  /** @description All scopes for accessing CubeSigner APIs */
6899
7258
  Scope: components["schemas"]["ExplicitScope"] | string;
6900
7259
  /** @description A set of scopes. */
@@ -7035,6 +7394,12 @@ export interface components {
7035
7394
  /** @description All metrics must include 'org_id' as a dimension. */
7036
7395
  org_id: string;
7037
7396
  };
7397
+ SignDryRunArgs: {
7398
+ /** @description Whether MFA is required */
7399
+ mfa_requests: components["schemas"]["MfaRequestInfo"][];
7400
+ /** @description Optional policy evaluation tree, if requested */
7401
+ policy_eval_tree?: unknown;
7402
+ };
7038
7403
  SignResponse: {
7039
7404
  /** @description Optional policy evaluation tree. */
7040
7405
  policy_eval_tree?: unknown;
@@ -7129,6 +7494,8 @@ export interface components {
7129
7494
  * }
7130
7495
  */
7131
7496
  SolanaSignRequest: {
7497
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
7498
+ dry_run?: boolean;
7132
7499
  /**
7133
7500
  * @description Request additional information to be included in the response, explaining
7134
7501
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -7158,6 +7525,8 @@ export interface components {
7158
7525
  source_ip: string;
7159
7526
  };
7160
7527
  StakeRequest: {
7528
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
7529
+ dry_run?: boolean;
7161
7530
  /**
7162
7531
  * @description Request additional information to be included in the response, explaining
7163
7532
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -7237,6 +7606,164 @@ export interface components {
7237
7606
  num_auth_factors: number;
7238
7607
  request_comparer?: components["schemas"]["HttpRequestCmp"];
7239
7608
  };
7609
+ /**
7610
+ * @description A single asset balance entry returned by [`SubAccountAssetsResponse`].
7611
+ *
7612
+ * All balance fields are decimal strings (Binance preserves precision by not
7613
+ * converting to floats).
7614
+ */
7615
+ SubAccountAsset: {
7616
+ /** @description Asset symbol (e.g. `"USDT"`, `"BTC"`). */
7617
+ asset: string;
7618
+ /** @description Available balance. */
7619
+ free: string;
7620
+ /** @description Balance frozen by Binance (e.g. due to compliance holds). */
7621
+ freeze: string;
7622
+ /** @description Balance locked in open orders. */
7623
+ locked: string;
7624
+ /** @description Balance currently being withdrawn. */
7625
+ withdrawing: string;
7626
+ };
7627
+ /**
7628
+ * @description Parameters for `GET /sapi/v4/sub-account/assets`.
7629
+ *
7630
+ * Queries the spot-wallet balances of a single sub-account. Must be called by
7631
+ * a master-account credential.
7632
+ */
7633
+ SubAccountAssetsRequest: {
7634
+ /** @description Email address of the sub-account whose balances to fetch. */
7635
+ email: string;
7636
+ };
7637
+ /** @description Response returned by `cs_binanceSubAccountAssets`. */
7638
+ SubAccountAssetsResponse: {
7639
+ /**
7640
+ * @description One entry per asset held in the sub-account's spot wallet. Binance
7641
+ * omits assets with all-zero balances.
7642
+ */
7643
+ balances: components["schemas"]["SubAccountAsset"][];
7644
+ };
7645
+ /** @description One transfer entry in [`SubAccountTransferHistoryResponse`]. */
7646
+ SubAccountTransferHistoryEntry: {
7647
+ /** @description Asset symbol (e.g. `"USDT"`). */
7648
+ asset: string;
7649
+ /** @description Email of the counterparty account on the other side of the transfer. */
7650
+ counterParty: string;
7651
+ /**
7652
+ * @description Email of the account this entry's API key authenticates as. Binance
7653
+ * returns this on each row even though it is the same for the whole page.
7654
+ */
7655
+ email: string;
7656
+ /**
7657
+ * @description Wallet type debited on the source side (e.g. `"SPOT"`,
7658
+ * `"USDT_FUTURE"`). Left as `String` for forward compatibility.
7659
+ */
7660
+ fromAccountType: string;
7661
+ /** @description Amount transferred, as a decimal string. */
7662
+ qty: string;
7663
+ /**
7664
+ * @description Transfer status: `"PROCESS"`, `"SUCCESS"`, or `"FAILURE"`. Left as
7665
+ * `String` for forward compatibility.
7666
+ */
7667
+ status: string;
7668
+ /**
7669
+ * Format: int64
7670
+ * @description Time of the transfer (ms since epoch).
7671
+ */
7672
+ time: number;
7673
+ /** @description Wallet type credited on the destination side. */
7674
+ toAccountType: string;
7675
+ /**
7676
+ * Format: int64
7677
+ * @description Transfer id. Matches the `txnId` returned by the original
7678
+ * [`SubAccountTransferResponse`].
7679
+ */
7680
+ tranId: number;
7681
+ /**
7682
+ * Format: int32
7683
+ * @description `1` = transfer in, `2` = transfer out.
7684
+ */
7685
+ type: number;
7686
+ };
7687
+ /**
7688
+ * @description Parameters for `GET /sapi/v1/sub-account/transfer/subUserHistory`.
7689
+ *
7690
+ * Lists the transfer history of the calling sub-account. Covers both
7691
+ * sub-to-master and sub-to-sub transfers. All filters are optional; if
7692
+ * `start_time`/`end_time` are omitted, Binance returns the most recent 30
7693
+ * days. If `r#type` is omitted, Binance defaults to `TransferOut` (`2`).
7694
+ */
7695
+ SubAccountTransferHistoryRequest: {
7696
+ /** @description Filter to a specific asset (e.g. `"USDT"`). */
7697
+ asset?: string | null;
7698
+ /**
7699
+ * Format: int64
7700
+ * @description Window end (ms since epoch).
7701
+ */
7702
+ endTime?: number | null;
7703
+ /**
7704
+ * Format: int32
7705
+ * @description Page size (Binance default: 500).
7706
+ */
7707
+ limit?: number | null;
7708
+ /**
7709
+ * @description If `true`, include failed transfers in the response. Binance defaults
7710
+ * to `false`.
7711
+ */
7712
+ returnFailHistory?: boolean | null;
7713
+ /**
7714
+ * Format: int64
7715
+ * @description Window start (ms since epoch).
7716
+ */
7717
+ startTime?: number | null;
7718
+ /**
7719
+ * Format: int32
7720
+ * @description Direction filter (`1` = transfer in, `2` = transfer out).
7721
+ */
7722
+ type?: number | null;
7723
+ };
7724
+ /**
7725
+ * @description Response returned by `cs_binanceSubAccountTransferHistory`.
7726
+ *
7727
+ * Binance returns a top-level JSON array; this newtype preserves that wire
7728
+ * format while giving the response a named type in the OpenAPI schema.
7729
+ */
7730
+ SubAccountTransferHistoryResponse: components["schemas"]["SubAccountTransferHistoryEntry"][];
7731
+ /** @description Response returned by `cs_binanceSubToMaster` and `cs_binanceSubToSub`. */
7732
+ SubAccountTransferResponse: {
7733
+ /** Format: int64 */
7734
+ txnId: number;
7735
+ };
7736
+ /**
7737
+ * @description Parameters for `POST /sapi/v1/sub-account/transfer/subToMaster`.
7738
+ *
7739
+ * Transfers an asset from the caller's sub-account to the master account.
7740
+ */
7741
+ SubToMasterRequest: {
7742
+ /**
7743
+ * @description The amount being transferred, formatted as a decimal string (e.g. `"0.1"`).
7744
+ * Sent verbatim: Binance is strict about decimal formatting.
7745
+ */
7746
+ amount: string;
7747
+ /** @description The asset symbol being transferred (e.g. `"USDT"`, `"BTC"`). */
7748
+ asset: string;
7749
+ };
7750
+ /**
7751
+ * @description Parameters for `POST /sapi/v1/sub-account/transfer/subToSub`.
7752
+ *
7753
+ * Transfers an asset from the caller's sub-account to another sub-account
7754
+ * under the same master account.
7755
+ */
7756
+ SubToSubRequest: {
7757
+ /** @description The amount being transferred, as a decimal string (e.g. `"0.1"`). */
7758
+ amount: string;
7759
+ /** @description The asset symbol being transferred (e.g. `"USDT"`). */
7760
+ asset: string;
7761
+ /**
7762
+ * @description Email address of the destination sub-account. Must be a sub-account of
7763
+ * the same master.
7764
+ */
7765
+ toEmail: string;
7766
+ };
7240
7767
  /**
7241
7768
  * @description The status of a subscription
7242
7769
  * @enum {string}
@@ -7258,6 +7785,8 @@ export interface components {
7258
7785
  SuiChain: "mainnet" | "devnet" | "testnet";
7259
7786
  /** @description Request to sign a serialized SUI transaction */
7260
7787
  SuiSignRequest: {
7788
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
7789
+ dry_run?: boolean;
7261
7790
  /**
7262
7791
  * @description Request additional information to be included in the response, explaining
7263
7792
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -7284,6 +7813,8 @@ export interface components {
7284
7813
  tx: string;
7285
7814
  };
7286
7815
  TaprootSignRequest: {
7816
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
7817
+ dry_run?: boolean;
7287
7818
  /**
7288
7819
  * @description Request additional information to be included in the response, explaining
7289
7820
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -7356,6 +7887,8 @@ export interface components {
7356
7887
  TelegramEnvironment: "production" | "test";
7357
7888
  /** @description The request for using the Tendermint sign endpoint. */
7358
7889
  TendermintSignRequest: {
7890
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
7891
+ dry_run?: boolean;
7359
7892
  /**
7360
7893
  * @description Request additional information to be included in the response, explaining
7361
7894
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -7617,6 +8150,119 @@ export interface components {
7617
8150
  ]>;
7618
8151
  /** @enum {string} */
7619
8152
  UnauthorizedErrorCode: "AuthorizationHeaderMissing" | "EndpointRequiresUserSession" | "RefreshTokenMissing";
8153
+ /** @description One transfer entry in [`UniversalTransferHistoryResponse`]. */
8154
+ UniversalTransferHistoryEntry: {
8155
+ /** @description Amount transferred, as a decimal string. */
8156
+ amount: string;
8157
+ /** @description Asset symbol. */
8158
+ asset: string;
8159
+ /** @description Client-supplied transfer id, if one was set on the original transfer. */
8160
+ clientTranId?: string | null;
8161
+ /**
8162
+ * Format: int64
8163
+ * @description Time of the transfer (ms since epoch).
8164
+ */
8165
+ createTimeStamp: number;
8166
+ /**
8167
+ * @description Wallet type debited on the source side. Left as `String` for forward
8168
+ * compatibility.
8169
+ */
8170
+ fromAccountType: string;
8171
+ /** @description Source sub-account email; absent when the source is the master. */
8172
+ fromEmail?: string | null;
8173
+ /** @description Transfer status (e.g. `"SUCCESS"`). */
8174
+ status: string;
8175
+ /** @description Wallet type credited on the destination side. */
8176
+ toAccountType: string;
8177
+ /** @description Destination sub-account email; absent when the destination is master. */
8178
+ toEmail?: string | null;
8179
+ /**
8180
+ * Format: int64
8181
+ * @description Transfer id. Matches the `tranId` returned by the original
8182
+ * [`UniversalTransferResponse`].
8183
+ */
8184
+ tranId: number;
8185
+ };
8186
+ /**
8187
+ * @description Parameters for `GET /sapi/v1/sub-account/universalTransfer`.
8188
+ *
8189
+ * Lists universal transfers initiated by the master account. All filters
8190
+ * are optional; if `start_time`/`end_time` are omitted, Binance returns the
8191
+ * most recent 30 days. Binance does not support filtering by `tran_id`
8192
+ * directly — use `client_tran_id` if you set one when initiating the
8193
+ * transfer, or page through the result and match the `tranId` client-side.
8194
+ */
8195
+ UniversalTransferHistoryRequest: {
8196
+ /** @description Filter by client-supplied transfer id. */
8197
+ clientTranId?: string | null;
8198
+ /**
8199
+ * Format: int64
8200
+ * @description Window end (ms since epoch).
8201
+ */
8202
+ endTime?: number | null;
8203
+ /** @description Filter to transfers originating from this sub-account email. */
8204
+ fromEmail?: string | null;
8205
+ /**
8206
+ * Format: int32
8207
+ * @description Page size (Binance default: 500, max: 500).
8208
+ */
8209
+ limit?: number | null;
8210
+ /**
8211
+ * Format: int32
8212
+ * @description 1-based page number (Binance default: 1).
8213
+ */
8214
+ page?: number | null;
8215
+ /**
8216
+ * Format: int64
8217
+ * @description Window start (ms since epoch).
8218
+ */
8219
+ startTime?: number | null;
8220
+ /** @description Filter to transfers destined for this sub-account email. */
8221
+ toEmail?: string | null;
8222
+ };
8223
+ /** @description Response returned by `cs_binanceUniversalTransferHistory`. */
8224
+ UniversalTransferHistoryResponse: {
8225
+ /** @description Transfers in the current page. */
8226
+ result: components["schemas"]["UniversalTransferHistoryEntry"][];
8227
+ /**
8228
+ * Format: int64
8229
+ * @description Total number of transfers matching the filters across all pages.
8230
+ */
8231
+ totalCount: number;
8232
+ };
8233
+ /**
8234
+ * @description Parameters for `POST /sapi/v1/sub-account/universalTransfer`.
8235
+ *
8236
+ * Transfers an asset between any two accounts (master to/from sub, or sub
8237
+ * to/from sub) and between any two wallet types (spot, futures, margin, etc).
8238
+ * The signing credential (the API key + Ed25519 key pair) must belong to the
8239
+ * master account.
8240
+ */
8241
+ UniversalTransferRequest: {
8242
+ /** @description The amount being transferred, as a decimal string. */
8243
+ amount: string;
8244
+ /** @description The asset symbol being transferred (e.g. `"USDT"`). */
8245
+ asset: string;
8246
+ /**
8247
+ * @description Optional client-supplied transfer id. If set, Binance echoes it back
8248
+ * on [`UniversalTransferResponse::client_tran_id`] and lets it be used
8249
+ * as a filter on
8250
+ * [`UniversalTransferHistoryRequest::client_tran_id`].
8251
+ */
8252
+ clientTranId?: string | null;
8253
+ fromAccountType?: components["schemas"]["AccountType"];
8254
+ /** @description Source sub-account email. If `None`, the source is the master account. */
8255
+ fromEmail?: string | null;
8256
+ toAccountType?: components["schemas"]["AccountType"];
8257
+ /** @description Destination sub-account email. If `None`, the destination is the master account. */
8258
+ toEmail?: string | null;
8259
+ };
8260
+ /** @description Response returned by `cs_binanceUniversalTransfer`. */
8261
+ UniversalTransferResponse: {
8262
+ clientTranId?: string | null;
8263
+ /** Format: int64 */
8264
+ tranId: number;
8265
+ };
7620
8266
  /** @description Options that should be set only for local devnet testing. */
7621
8267
  UnsafeConf: {
7622
8268
  /**
@@ -7645,6 +8291,8 @@ export interface components {
7645
8291
  */
7646
8292
  validator_index: string;
7647
8293
  } & {
8294
+ /** @description Do not produce a valid signature, just evaluate attached policies. */
8295
+ dry_run?: boolean;
7648
8296
  /**
7649
8297
  * @description Request additional information to be included in the response, explaining
7650
8298
  * the outcome (i.e., permitted vs. denied vs. MFA required) of the sign request.
@@ -7719,6 +8367,14 @@ export interface components {
7719
8367
  * Once disabled, a key cannot be used for signing.
7720
8368
  */
7721
8369
  enabled?: boolean | null;
8370
+ /**
8371
+ * @description If set, patch the key's structured [`KeyProperties`]. The patch's variant must
8372
+ * match the key's [`KeyType`] (e.g. `BinanceApi` properties are only allowed on
8373
+ * `Ed25519BinanceApi` keys). Each field in the patch is independent: missing
8374
+ * means leave alone, JSON `null` clears, a value sets. Sending JSON `null` for
8375
+ * the whole field clears all properties on the key.
8376
+ */
8377
+ properties?: unknown;
7722
8378
  /**
7723
8379
  * @description If set, change the key's region affinity to this value.
7724
8380
  *
@@ -8377,6 +9033,179 @@ export interface components {
8377
9033
  WhereAndWhen: components["schemas"]["SourceIp"] & {
8378
9034
  time: components["schemas"]["EpochDateTime"];
8379
9035
  };
9036
+ /** @description One withdrawal entry in [`WithdrawHistoryResponse`]. */
9037
+ WithdrawHistoryEntry: {
9038
+ /** @description Destination address. */
9039
+ address: string;
9040
+ /** @description Withdrawal amount, as a decimal string. */
9041
+ amount: string;
9042
+ /**
9043
+ * @description Time the withdrawal was requested (Binance returns a UTC string,
9044
+ * e.g. `"2019-09-24 12:43:45"`).
9045
+ */
9046
+ applyTime: string;
9047
+ /** @description Asset symbol (e.g. `"USDT"`, `"BTC"`). */
9048
+ coin: string;
9049
+ /**
9050
+ * @description Time the withdrawal completed (UTC string), present once
9051
+ * `status == 6`.
9052
+ */
9053
+ completeTime?: string | null;
9054
+ /**
9055
+ * Format: int32
9056
+ * @description Number of on-chain confirmations.
9057
+ */
9058
+ confirmNo?: number | null;
9059
+ /**
9060
+ * @description Binance-assigned withdrawal id. Matches the `id` returned by
9061
+ * [`WithdrawResponse`].
9062
+ */
9063
+ id: string;
9064
+ /** @description Failure reason when the withdrawal was rejected. */
9065
+ info?: string | null;
9066
+ /** @description Blockchain network identifier (e.g. `"BSC"`, `"ETH"`). */
9067
+ network?: string | null;
9068
+ /**
9069
+ * Format: int32
9070
+ * @description Withdrawal status. Binance values: `0` = Email Sent,
9071
+ * `2` = Awaiting Approval, `3` = Rejected, `4` = Processing,
9072
+ * `6` = Completed. Left as `u8` for forward compatibility.
9073
+ */
9074
+ status: number;
9075
+ /** @description Network fee charged for the withdrawal, as a decimal string. */
9076
+ transactionFee: string;
9077
+ /**
9078
+ * Format: int32
9079
+ * @description `0` = external transfer, `1` = internal (Binance↔Binance) transfer.
9080
+ */
9081
+ transferType: number;
9082
+ /**
9083
+ * @description On-chain transaction hash, once Binance has broadcast the withdrawal.
9084
+ * May be empty until then.
9085
+ */
9086
+ txId?: string | null;
9087
+ /**
9088
+ * Format: int32
9089
+ * @description Source wallet: `0` = spot wallet, `1` = funding wallet.
9090
+ */
9091
+ walletType: number;
9092
+ /**
9093
+ * @description Client-supplied withdrawal id, if one was set on the original
9094
+ * withdrawal call.
9095
+ */
9096
+ withdrawOrderId?: string | null;
9097
+ };
9098
+ /**
9099
+ * @description Parameters for `GET /sapi/v1/capital/withdraw/history`.
9100
+ *
9101
+ * Returns the master account's withdrawal history. All filters are
9102
+ * optional; if `start_time`/`end_time` are omitted, Binance returns the
9103
+ * most recent 90 days. Use `id_list` to look up specific withdrawals by
9104
+ * the `id` returned from [`BinanceRpc::Withdraw`], or `withdraw_order_id`
9105
+ * to look one up by its client-supplied id.
9106
+ */
9107
+ WithdrawHistoryRequest: {
9108
+ /** @description Filter to a specific asset (e.g. `"USDT"`). */
9109
+ coin?: string | null;
9110
+ /**
9111
+ * Format: int64
9112
+ * @description Window end (ms since epoch).
9113
+ */
9114
+ endTime?: number | null;
9115
+ /**
9116
+ * @description Comma-separated list of Binance-assigned withdrawal ids (the `id`
9117
+ * field of [`WithdrawResponse`]). Up to 45 ids per query, per Binance.
9118
+ */
9119
+ idList?: string | null;
9120
+ /**
9121
+ * Format: int32
9122
+ * @description Page size (Binance default and max: 1000).
9123
+ */
9124
+ limit?: number | null;
9125
+ /**
9126
+ * Format: int32
9127
+ * @description Pagination offset.
9128
+ */
9129
+ offset?: number | null;
9130
+ /**
9131
+ * Format: int64
9132
+ * @description Window start (ms since epoch).
9133
+ */
9134
+ startTime?: number | null;
9135
+ /**
9136
+ * Format: int32
9137
+ * @description Filter by withdrawal status. Binance values:
9138
+ * `0` = Email Sent, `2` = Awaiting Approval, `3` = Rejected,
9139
+ * `4` = Processing, `6` = Completed. Left as `u8` for forward
9140
+ * compatibility.
9141
+ */
9142
+ status?: number | null;
9143
+ /**
9144
+ * @description Filter by the client-supplied withdrawal id originally passed to
9145
+ * [`WithdrawRequest::withdraw_order_id`].
9146
+ */
9147
+ withdrawOrderId?: string | null;
9148
+ };
9149
+ /**
9150
+ * @description Response returned by `cs_binanceWithdrawHistory`.
9151
+ *
9152
+ * Binance returns a top-level JSON array; this newtype preserves that wire
9153
+ * format while giving the response a named type in the OpenAPI schema.
9154
+ */
9155
+ WithdrawHistoryResponse: components["schemas"]["WithdrawHistoryEntry"][];
9156
+ /**
9157
+ * @description Parameters for `POST /sapi/v1/capital/withdraw/apply`.
9158
+ *
9159
+ * Submits a withdrawal of `amount` of `coin` to the given external `address`.
9160
+ * The signing key's account must have withdrawal permissions enabled.
9161
+ */
9162
+ WithdrawRequest: {
9163
+ /** @description Destination address. */
9164
+ address: string;
9165
+ /**
9166
+ * @description Secondary address identifier required by some assets (e.g. memo for
9167
+ * XRP, tag for XLM).
9168
+ */
9169
+ addressTag?: string | null;
9170
+ /**
9171
+ * @description The amount being withdrawn, formatted as a decimal string (e.g. `"0.1"`).
9172
+ * Sent verbatim: Binance is strict about decimal formatting.
9173
+ */
9174
+ amount: string;
9175
+ /** @description The asset symbol being withdrawn (e.g. `"USDT"`, `"BTC"`). */
9176
+ coin: string;
9177
+ /** @description Optional human-readable description for the withdrawal. */
9178
+ name?: string | null;
9179
+ /**
9180
+ * @description Network identifier (e.g. `"BSC"`, `"ETH"`). If omitted, Binance picks
9181
+ * the default network for the asset.
9182
+ */
9183
+ network?: string | null;
9184
+ /**
9185
+ * @description If `true`, the withdrawal fee is deducted from the destination amount;
9186
+ * if `false` (Binance default), it is deducted from the account balance
9187
+ * in addition to `amount`.
9188
+ */
9189
+ transactionFeeFlag?: boolean | null;
9190
+ /**
9191
+ * Format: int32
9192
+ * @description Source wallet: `0` = spot wallet (default), `1` = funding wallet.
9193
+ */
9194
+ walletType?: number | null;
9195
+ /**
9196
+ * @description Client-supplied withdrawal id, returned by Binance as `withdrawOrderId`
9197
+ * in subsequent withdrawal-history queries.
9198
+ */
9199
+ withdrawOrderId?: string | null;
9200
+ };
9201
+ /** @description Response returned by `cs_binanceWithdraw`. */
9202
+ WithdrawResponse: {
9203
+ /**
9204
+ * @description Binance-assigned withdrawal id. Used to look the request up later via
9205
+ * the withdrawal-history endpoint.
9206
+ */
9207
+ id: string;
9208
+ };
8380
9209
  };
8381
9210
  responses: {
8382
9211
  AddThirdPartyUserResponse: {
@@ -8502,6 +9331,21 @@ export interface components {
8502
9331
  };
8503
9332
  };
8504
9333
  };
9334
+ /** @description Response returned by the typed `binance_sign` endpoint. */
9335
+ BinanceSignResponse: {
9336
+ content: {
9337
+ "application/json": {
9338
+ /** @description Optional policy evaluation tree. */
9339
+ policy_eval_tree?: unknown;
9340
+ } & {
9341
+ /**
9342
+ * @description The full signed query string, ready to be submitted to Binance.
9343
+ * Encoded as `<urlencoded params>&recvWindow=<ms>&timestamp=<ms>&signature=<urlencoded base64 sig>`.
9344
+ */
9345
+ signed_query: string;
9346
+ };
9347
+ };
9348
+ };
8505
9349
  /** @description BTC message signing response */
8506
9350
  BtcMessageSignResponse: {
8507
9351
  content: {
@@ -8958,6 +9802,7 @@ export interface components {
8958
9802
  * ]
8959
9803
  */
8960
9804
  policy: unknown[];
9805
+ properties?: components["schemas"]["KeyPropertiesPatch"] | null;
8961
9806
  /** @description The key provenance. */
8962
9807
  provenance?: string | null;
8963
9808
  /**
@@ -15567,6 +16412,11 @@ export interface operations {
15567
16412
  user_id: string;
15568
16413
  };
15569
16414
  };
16415
+ requestBody: {
16416
+ content: {
16417
+ "application/json": components["schemas"]["Empty"];
16418
+ };
16419
+ };
15570
16420
  responses: {
15571
16421
  200: components["responses"]["EmptyImpl"];
15572
16422
  default: {
@@ -15810,6 +16660,47 @@ export interface operations {
15810
16660
  };
15811
16661
  };
15812
16662
  };
16663
+ /**
16664
+ * Sign Binance RPC Request
16665
+ * @description Sign Binance RPC Request
16666
+ *
16667
+ * Signs a typed [`BinanceRpc`] request with the [`KeyType::Ed25519BinanceApi`]
16668
+ * key identified by `material_id`. The signer URL-encodes the inner request,
16669
+ * appends Binance's `recvWindow` and `timestamp` parameters, signs the
16670
+ * resulting query, and returns the full query string ready to be submitted
16671
+ * to Binance.
16672
+ */
16673
+ binanceSign: {
16674
+ parameters: {
16675
+ path: {
16676
+ /**
16677
+ * @description Name or ID of the desired Org
16678
+ * @example Org#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
16679
+ */
16680
+ org_id: string;
16681
+ /** @description Material id of the Ed25519BinanceApi key */
16682
+ material_id: string;
16683
+ };
16684
+ };
16685
+ requestBody: {
16686
+ content: {
16687
+ "application/json": components["schemas"]["BinanceRpc"];
16688
+ };
16689
+ };
16690
+ responses: {
16691
+ 200: components["responses"]["BinanceSignResponse"];
16692
+ 202: {
16693
+ content: {
16694
+ "application/json": components["schemas"]["AcceptedResponse"];
16695
+ };
16696
+ };
16697
+ default: {
16698
+ content: {
16699
+ "application/json": components["schemas"]["ErrorResponse"];
16700
+ };
16701
+ };
16702
+ };
16703
+ };
15813
16704
  /**
15814
16705
  * Sign Raw Blob
15815
16706
  * @description Sign Raw Blob