diff --git a/.stainless/stainless.yml b/.stainless/stainless.yml index 55db5813e..a4e97538e 100644 --- a/.stainless/stainless.yml +++ b/.stainless/stainless.yml @@ -209,6 +209,7 @@ resources: external_account: '#/components/schemas/ExternalAccount' external_account_create: '#/components/schemas/ExternalAccountCreateRequest' external_account_info_one_of: "#/components/schemas/ExternalAccountInfoOneOf" + wallet_custody_fields: "#/components/schemas/WalletCustodyFields" business_beneficiary: "#/components/schemas/BusinessBeneficiary" wallet_beneficiary_fields: "#/components/schemas/WalletBeneficiaryFields" wallet_beneficiary_one_of: "#/components/schemas/WalletBeneficiaryOneOf" diff --git a/mintlify/openapi.yaml b/mintlify/openapi.yaml index 2846f8cad..b76d3997d 100644 --- a/mintlify/openapi.yaml +++ b/mintlify/openapi.yaml @@ -19533,18 +19533,27 @@ components: beneficiary: description: The wallet's owner. Optional for `FIRST_PARTY` accounts — the customer's verified identity is used. Required for `THIRD_PARTY` wallets on platforms with counterparty requirements (e.g. EU Travel Rule); if missing there, creation fails with `400 INVALID_INPUT`. $ref: '#/components/schemas/WalletBeneficiaryOneOf' + WalletCustodyFields: + type: object + properties: + vaspName: + type: string + description: Name of the VASP that custodies this account, from the VASP directory (`GET /vasps`). Present when the wallet is held at an exchange or other custodial platform; omit it for self-custody wallets. Ownership verification applies only to self-custody wallets. + example: Kraken BaseWalletExternalAccountInfo: title: Base Wallet allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/BaseWalletInfo' - $ref: '#/components/schemas/WalletBeneficiaryFields' + - $ref: '#/components/schemas/WalletCustodyFields' EthereumWalletExternalAccountInfo: title: Ethereum L1 Wallet allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/EthereumWalletInfo' - $ref: '#/components/schemas/WalletBeneficiaryFields' + - $ref: '#/components/schemas/WalletCustodyFields' LightningInfo: type: object description: | @@ -19579,30 +19588,35 @@ components: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/PolygonWalletInfo' - $ref: '#/components/schemas/WalletBeneficiaryFields' + - $ref: '#/components/schemas/WalletCustodyFields' PlasmaWalletExternalAccountInfo: title: Plasma Wallet allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/PlasmaWalletInfo' - $ref: '#/components/schemas/WalletBeneficiaryFields' + - $ref: '#/components/schemas/WalletCustodyFields' SolanaWalletExternalAccountInfo: title: Solana Wallet allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/SolanaWalletInfo' - $ref: '#/components/schemas/WalletBeneficiaryFields' + - $ref: '#/components/schemas/WalletCustodyFields' SparkWalletExternalAccountInfo: title: Spark Wallet allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/SparkWalletInfo' - $ref: '#/components/schemas/WalletBeneficiaryFields' + - $ref: '#/components/schemas/WalletCustodyFields' TronWalletExternalAccountInfo: title: Tron Wallet allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/TronWalletInfo' - $ref: '#/components/schemas/WalletBeneficiaryFields' + - $ref: '#/components/schemas/WalletCustodyFields' CnyBeneficiary: title: Individual Beneficiary type: object diff --git a/openapi.yaml b/openapi.yaml index 2846f8cad..b76d3997d 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -19533,18 +19533,27 @@ components: beneficiary: description: The wallet's owner. Optional for `FIRST_PARTY` accounts — the customer's verified identity is used. Required for `THIRD_PARTY` wallets on platforms with counterparty requirements (e.g. EU Travel Rule); if missing there, creation fails with `400 INVALID_INPUT`. $ref: '#/components/schemas/WalletBeneficiaryOneOf' + WalletCustodyFields: + type: object + properties: + vaspName: + type: string + description: Name of the VASP that custodies this account, from the VASP directory (`GET /vasps`). Present when the wallet is held at an exchange or other custodial platform; omit it for self-custody wallets. Ownership verification applies only to self-custody wallets. + example: Kraken BaseWalletExternalAccountInfo: title: Base Wallet allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/BaseWalletInfo' - $ref: '#/components/schemas/WalletBeneficiaryFields' + - $ref: '#/components/schemas/WalletCustodyFields' EthereumWalletExternalAccountInfo: title: Ethereum L1 Wallet allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/EthereumWalletInfo' - $ref: '#/components/schemas/WalletBeneficiaryFields' + - $ref: '#/components/schemas/WalletCustodyFields' LightningInfo: type: object description: | @@ -19579,30 +19588,35 @@ components: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/PolygonWalletInfo' - $ref: '#/components/schemas/WalletBeneficiaryFields' + - $ref: '#/components/schemas/WalletCustodyFields' PlasmaWalletExternalAccountInfo: title: Plasma Wallet allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/PlasmaWalletInfo' - $ref: '#/components/schemas/WalletBeneficiaryFields' + - $ref: '#/components/schemas/WalletCustodyFields' SolanaWalletExternalAccountInfo: title: Solana Wallet allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/SolanaWalletInfo' - $ref: '#/components/schemas/WalletBeneficiaryFields' + - $ref: '#/components/schemas/WalletCustodyFields' SparkWalletExternalAccountInfo: title: Spark Wallet allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/SparkWalletInfo' - $ref: '#/components/schemas/WalletBeneficiaryFields' + - $ref: '#/components/schemas/WalletCustodyFields' TronWalletExternalAccountInfo: title: Tron Wallet allOf: - $ref: '#/components/schemas/BaseExternalAccountInfo' - $ref: '#/components/schemas/TronWalletInfo' - $ref: '#/components/schemas/WalletBeneficiaryFields' + - $ref: '#/components/schemas/WalletCustodyFields' CnyBeneficiary: title: Individual Beneficiary type: object diff --git a/openapi/components/schemas/external_accounts/BaseWalletExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/BaseWalletExternalAccountInfo.yaml index effa30629..c54739397 100644 --- a/openapi/components/schemas/external_accounts/BaseWalletExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/BaseWalletExternalAccountInfo.yaml @@ -2,5 +2,5 @@ title: Base Wallet allOf: - $ref: ./BaseExternalAccountInfo.yaml - $ref: ../common/BaseWalletInfo.yaml - - $ref: ./WalletBeneficiaryFields.yaml + - $ref: ./WalletCustodyFields.yaml diff --git a/openapi/components/schemas/external_accounts/EthereumWalletExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/EthereumWalletExternalAccountInfo.yaml index 30ce9d92c..4a65b6f56 100644 --- a/openapi/components/schemas/external_accounts/EthereumWalletExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/EthereumWalletExternalAccountInfo.yaml @@ -3,3 +3,4 @@ allOf: - $ref: ./BaseExternalAccountInfo.yaml - $ref: ../common/EthereumWalletInfo.yaml - $ref: ./WalletBeneficiaryFields.yaml + - $ref: ./WalletCustodyFields.yaml diff --git a/openapi/components/schemas/external_accounts/PlasmaWalletExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/PlasmaWalletExternalAccountInfo.yaml index a4f8d2475..f6f4fd9a0 100644 --- a/openapi/components/schemas/external_accounts/PlasmaWalletExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/PlasmaWalletExternalAccountInfo.yaml @@ -3,3 +3,4 @@ allOf: - $ref: ./BaseExternalAccountInfo.yaml - $ref: ../common/PlasmaWalletInfo.yaml - $ref: ./WalletBeneficiaryFields.yaml + - $ref: ./WalletCustodyFields.yaml diff --git a/openapi/components/schemas/external_accounts/PolygonWalletExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/PolygonWalletExternalAccountInfo.yaml index 521b65350..c8a3ffb99 100644 --- a/openapi/components/schemas/external_accounts/PolygonWalletExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/PolygonWalletExternalAccountInfo.yaml @@ -2,5 +2,5 @@ title: Polygon Wallet allOf: - $ref: ./BaseExternalAccountInfo.yaml - $ref: ../common/PolygonWalletInfo.yaml - - $ref: ./WalletBeneficiaryFields.yaml + - $ref: ./WalletCustodyFields.yaml diff --git a/openapi/components/schemas/external_accounts/SolanaWalletExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/SolanaWalletExternalAccountInfo.yaml index f1cc9eae6..4c15a3573 100644 --- a/openapi/components/schemas/external_accounts/SolanaWalletExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/SolanaWalletExternalAccountInfo.yaml @@ -2,5 +2,5 @@ title: Solana Wallet allOf: - $ref: ./BaseExternalAccountInfo.yaml - $ref: ../common/SolanaWalletInfo.yaml - - $ref: ./WalletBeneficiaryFields.yaml + - $ref: ./WalletCustodyFields.yaml diff --git a/openapi/components/schemas/external_accounts/SparkWalletExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/SparkWalletExternalAccountInfo.yaml index 15427b7e2..2b198ae6f 100644 --- a/openapi/components/schemas/external_accounts/SparkWalletExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/SparkWalletExternalAccountInfo.yaml @@ -2,5 +2,5 @@ title: Spark Wallet allOf: - $ref: ./BaseExternalAccountInfo.yaml - $ref: ../common/SparkWalletInfo.yaml - - $ref: ./WalletBeneficiaryFields.yaml + - $ref: ./WalletCustodyFields.yaml diff --git a/openapi/components/schemas/external_accounts/TronWalletExternalAccountInfo.yaml b/openapi/components/schemas/external_accounts/TronWalletExternalAccountInfo.yaml index a56249eb2..18ead1220 100644 --- a/openapi/components/schemas/external_accounts/TronWalletExternalAccountInfo.yaml +++ b/openapi/components/schemas/external_accounts/TronWalletExternalAccountInfo.yaml @@ -2,5 +2,5 @@ title: Tron Wallet allOf: - $ref: ./BaseExternalAccountInfo.yaml - $ref: ../common/TronWalletInfo.yaml - - $ref: ./WalletBeneficiaryFields.yaml + - $ref: ./WalletCustodyFields.yaml diff --git a/openapi/components/schemas/external_accounts/WalletCustodyFields.yaml b/openapi/components/schemas/external_accounts/WalletCustodyFields.yaml new file mode 100644 index 000000000..f971b8054 --- /dev/null +++ b/openapi/components/schemas/external_accounts/WalletCustodyFields.yaml @@ -0,0 +1,10 @@ +type: object +properties: + vaspName: + type: string + description: >- + Name of the VASP that custodies this account, from the VASP directory + (`GET /vasps`). Present when the wallet is held at an exchange or other + custodial platform; omit it for self-custody wallets. Ownership + verification applies only to self-custody wallets. + example: Kraken