---
updatedAt: 2026-09-14T14:14:03.000Z
agentTools:
  projectIndex: https://developer.veem.com/llms.txt
---

# Crypto Wallet

Hold, send, and receive funds in stablecoins.

The Crypto Wallet API enables businesses to request a Crypto Wallet to send and receive payments. Businesses can send funds into a Crypto Wallet, and send payments to their vendors and suppliers. Currently, only USDC and USDT Crypto Wallet accounts are supported. Support for other stablecoins will be added in the future.

# Prerequisites

Before creating a Crypto Wallet, ensure the following conditions are met:

* [Business Ownership Information](https://developer.veem.com/docs/beneficial-ownership-information) must be attested
* Required documents must be submitted and approved:
  * Government-issued Photo ID
  * Business Registration Certificate
  * Proof of Address&#x20;

Veem will perform additional validations before enabling a Crypto Wallet

# Authorization

OAuth2 token is required in the Authorization header.

> 📘 **Headers**
>
> Three headers are required to use this endpoint.
>
> | Name            | Type   | Required | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
> | --------------- | ------ | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
> | `Authorization` | string | Yes      | Bearer token (OAuth 2.0) This header holds the bearer token required to use Veem's public API, and **belongs to the owner account**. Failure to use a valid bearer token will result in a 404 (Not Found) status code in the response. An example of a valid header value is as follows: `Bearer c047594b-082c-4da1-be89-08fe3770f4b3`. <br />See [Get Access Token section](https://developer.veem.com/docs/oauth#1---get-access-token) to generate your Bearer token. |
> | `X-Request-Id`  | string | Yes      | This is a unique string that identifies the current API request, and should follow the UUID format. Reusing this header without changing the value will result in a 409 (Conflict) status code in the response. An example X-request-id is as follows: `48855846-628d-4177-b071-80332a116f0a`                                                                                                                                                                           |
> | `Content-Type`  | string | Yes      | The content type of the request. Must be `application/json`                                                                                                                                                                                                                                                                                                                                                                                                             |

<br />

# Crypto Wallet Endpoints

Veem's API provides a number of endpoints that can be used to configure Crypto Wallet scenarios.

Use the following base URL to access the endpoints in sandbox environment.

```text
https://sandbox-api.veem.com
https://api.veem.com
```

# Open Crypto Wallet

Opens a new Crypto Wallet for a business or sole proprietorship in a specified currency.

```http
POST /veem/v1.2/crypto-wallet/applications
```

<Callout icon="👍" theme="okay">
  **Partner Notes:**

  * A partner account can be configured to make this API request on behalf of their customers. This requires internal configuration for the partner account by Veem. Once the internal configuration is enabled, the API request can be made using partner account bearer token.
  * `onBehalfAccountId` is an optional parameter, this needs to be included on the request body in case of partner making an API request on behalf of their customer. This is the customer Veem account ID.
</Callout>

## Open Crypto Wallet (Business)

```json Request
{
  "sourceCurrency": "usdc",
  "destinationCurrency": "usdc",
  "externalRegulatoryBusinessInfo": {
    "currency": "usdc",
    "geographySendingCountries": "US",
    "geographyReceivingCountries": "US",
    "purposeOfAccount": "payroll_salary_disbursements",
    "monthlyExpectedActivity": 1000,
    "annualRevenue": 1000000,
    "businessRegistrationNumber": "12334223",
    "businessIncorporationDate": "2014-03-13",
    "businessRegistrationCountry": "US",
    "businessRegistrationAddressLine1": "1160 Battery St",
    "businessRegistrationStateProv": "CA",
    "businessRegistrationPostalCode": "94111",
    "businessRegistrationCity": "San Francisco",
    "sourceOfFunds": "owners_capital",
    "businessWebsite": "https://www.veem.com",
    "areTermsConfirmed": true
  }
}

```
```json Response
{
    "applicationId": 249,
    "applicationStatus": "Completed",
    "provider": "BCY",
    "initialRouteId": 1,
    "externalRegulatoryBusinessInfo": {
        "currency": "usdc",
        "status": "Completed",
        "geographySendingCountries": "US",
        "geographyReceivingCountries": "US",
        "purposeOfAccount": "payroll_salary_disbursements",
        "monthlyExpectedActivity": 1000,
        "annualRevenue": 1000000,
        "businessRegistrationNumber": "****4223",
        "businessIncorporationDate": "2014-03-13",
        "businessRegistrationCountry": "US",
        "businessRegistrationAddressLine1": "1160 Battery St",
        "businessRegistrationStateProv": "CA",
        "businessRegistrationPostalCode": "94111",
        "businessRegistrationCity": "San Francisco",
        "sourceOfFunds": "owners_capital",
        "businessWebsite": "https://www.veem.com",
        "areTermsConfirmed": true,
        "timeCreated": 1776373034000,
        "timeUpdated": 1780356835626
    }
}
```

| Parameter                         | Mandatory | Format/Values                                                                                                                                | Size/Type      |
| --------------------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------- |
| onBehalfAccountId                 | No        | The referred account ID where the Crypto Wallet will be opened.                                                                              | BigDecimal     |
| sourceCurrency                    | Yes       | Source currency used for deposits into the crypto wallet                                                                                     | 4 characters   |
| destinationCurrency               | Yes       | Destination currency used for deposits into the crypto wallet                                                                                |                |
| externalRegulatoryBusinessInfo    | Yes       | Business information of the entity opening the Crypto Wallet                                                                                 | 4 characters   |
| .currency                         | Yes       | Crypto Wallet Stable coin currency (USDC/USDT)                                                                                               | 4 characters   |
| .geographySendingCountries        | Yes       | Country codes the account holder intends to send to.<br />ISO 3166-1 alpha-2 standard, comma-separated, e.g. "US,CA"                         | 255 characters |
| .geographyReceivingCountries      | Yes       | Country codes the account holder intends to receive from.<br />ISO 3166-1 alpha-2 standard, comma-separated, e.g. "US,CA"                    | 255 characters |
| .purposeOfAccount                 | Yes       | One of the values from the list of supported purpose of account, see Purpose of Account Values (Business), e.g. `'vendor_supplier_payments'` | 255 characters |
| .monthlyExpectedActivity          | Yes       | Account's expected activity (amount)                                                                                                         | BigDecimal     |
| .annualRevenue                    | Yes       | Annual revenue of the business                                                                                                               | BigDecimal     |
| .businessRegistrationNumber       | Yes       | Registration number of the business                                                                                                          | 255 characters |
| .businessIncorporationDate        | Yes       | Incorporation date of the business                                                                                                           | YYYY-MM-DD     |
| .businessRegistrationCountry      | Yes       | Business registration country<br />ISO 3166-1 alpha-2 standard, comma-separated, e.g. "US,CA"                                                | 2 Characters   |
| .businessRegistrationAddressLine1 | Yes       | Business registration address line 1                                                                                                         | 255 characters |
| .businessRegistrationStateProv    | Yes       | Business registration State/Province                                                                                                         |                |
| .businessRegistrationPostalCode   | Yes       | Business registration postal code                                                                                                            |                |
| .businessRegistrationCity         | Yes       | Business registration city                                                                                                                   |                |
| .sourceOfFunds                    | Yes       | One of the values from the list of supported source of funds, see Source of Funds Values (Business) , e.g. `'investment_capital'`            | 255 characters |
| .businessWebsite                  | No        | Valid URL of the business website                                                                                                            | 255 characters |
| .areTermsConfirmed                | Yes       | Indicates if the customer accepts the terms and conditions                                                                                   | true/false     |

## Open Crypto Wallet (Sole Proprietor)

```json Request
{
  "sourceCurrency": "usdc",
  "destinationCurrency": "usdc",
  "externalRegulatoryIndividualInfo": {
    "currency": "usdc",
    "occupation": "ocupation",
    "geographySendingCountries": "US",
    "geographyReceivingCountries": "US",
    "purposeOfAccount": "payroll_salary_disbursements",
    "monthlyExpectedActivity": 1000,
    "annualIncome": 1000000,
    "sourceOfFunds": "owners_capital",
    "websiteSocialMediaLink": "https://www.veem.com",
    "areTermsConfirmed": true
  }
}
```
```json Response
```

| Parameter                        | Mandatory | Format/Values                                                                                                                                | Size/Type      |
| -------------------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------- |
| onBehalfAccountId                | No        | The referred account ID where the Crypto Wallet will be opened.                                                                              | BigDecimal     |
| sourceCurrency                   | Yes       | Source currency used for deposits into the crypto wallet                                                                                     | 4 characters   |
| destinationCurrency              | Yes       | Destination currency used for deposits into the crypto wallet                                                                                |                |
| externalRegulatoryIndividualInfo | Yes       | Business information of the entity opening the Crypto Wallet                                                                                 | 4 characters   |
| .currency                        | Yes       | Crypto Wallet Stable coin currency (USDC/USDT)                                                                                               | 4 characters   |
| .geographySendingCountries       | Yes       | Country codes the account holder intends to send to.<br />ISO 3166-1 alpha-2 standard, comma-separated, e.g. "US,CA"                         | 255 characters |
| .geographyReceivingCountries     | Yes       | Country codes the account holder intends to receive from.<br />ISO 3166-1 alpha-2 standard, comma-separated, e.g. "US,CA"                    | 255 characters |
| Ocupation                        | Yes       | Ocupation                                                                                                                                    | 255 characters |
| .purposeOfAccount                | Yes       | One of the values from the list of supported purpose of account, see Purpose of Account Values (Business), e.g. `'vendor_supplier_payments'` | 255 characters |
| .monthlyExpectedActivity         | Yes       | Account's expected activity (amount)                                                                                                         | BigDecimal     |
| .annualIncome                    | Yes       | Annual revenue of the business                                                                                                               | BigDecimal     |
| .sourceOfFunds                   | Yes       | One of the values from the list of supported source of funds, see Source of Funds Values (Business) , e.g. `'investment_capital'`            | 255 characters |
| .websiteSocialMediaLink          | No        | Valid URL of the business website                                                                                                            | 255 characters |
| .areTermsConfirmed               | Yes       | Indicates if the customer accepts the terms and conditions                                                                                   | true/false     |

# Activate a New Stablecoin for Your Crypto Wallet

Once you’ve opened a Crypto Wallet, you can activate an additional stable coins currency using the same API endpoint.

```http
POST /veem/v1.2/crypto-wallet/applications/{applicationId}/add-currency
```
```json Request
{
  "sourceChain":"solana",
  "sourceCurrency":"usdt",
  "destinationPaymentRail":"solana",
  "destinationCurrency":"ustc",
}
```
```json Response
{
    "applicationId": 711,
    "applicationStatus": "Completed",
    "routeId": 3,
    "routeStatus": "Completed",
    "provider": "BCY",
    "fundingMethodType": "CRYPTOWALLET",
    "fundingMethodId": 4,
    "fundingMethodStatus": "Active",
    "bridgeCustomerId": "d1b24dd6-89b3-46d4-a210-578609200007",
    "bridgeCustomerStatus": "active",
    "bridgeWalletId": "b36115da-a320-4959-898c-21b469d7f970",
    "bridgeWalletAddress": "DQ4scQH5RpvHHARksjenDenDD8Br3oYVLN5gw9QqJhHmK",
    "sourceChain": "solana",
    "sourceCurrency": "usdt",
    "destinationPaymentRail": "solana",
    "destinationCurrency": "usdt",
    "liquidationAddress": {
        "liquidationAddressId": "2a3e402d-a4bf-0000-12345-afdadb5b2b89",
        "address": "5vQWpccmoT8eA7THBYms6sdcds7TRvz1worU5dnyxJtp7v",
        "bridgeWalletId": "b36115da-a320-0000-898c-21b469d7f970",
        "state": "active",
        "sourceChain": "solana",
        "sourceCurrency": "usdt",
        "destinationPaymentRail": "solana",
        "destinationCurrency": "usdt",
        "createdAt": "2026-04-23T17:30:43.399Z",
        "updatedAt": "2026-04-23T17:30:43.399Z"
    }
}
```

<br />

# Common Errors When Opening/Activating a Crypto Wallet

## Business Ownership Information Incomplete

```json Response 400
{
    "code": 10000010,
    "message": "It was an error on the open vba process, Crypto Wallet
 account cannot be opened because: BOI attestation is missing.",
    "logTag": "0df34606-05d1-437a-a3a9-f3352130806f",
    "timestamp": "2025-05-14T01:50:01.220",
    "fileName": "AccountServiceImpl.java",
    "lineNumber": 230
}
```

## Internal Veem validations

```json Response 400
{
    "code": 10000004,
    "message": "This account is not Verified, cannot open a crypto wallet account",
    "logTag": "eeed5569-4452-47d2-b410-2a9585c8dc3f",
    "timestamp": "2025-05-14T18:14:44.662",
    "fileName": "AccountServiceImpl.java",
    "lineNumber": 216
}
```

```json Response 400
{
    "code": 10000010,
    "message": "Adverse media check is not completed.",
    "logTag": "0df34606-05d1-437a-a3a9-f3352130806f",
    "timestamp": "2025-05-14T01:50:01.220",
    "fileName": "AccountServiceImpl.java",
    "lineNumber": 230
}

```

```json Response 400
{
    "code": 10000010,
    "message": "Cannot open crypto wallet account due to the next reasons: Adverse media check is not completed, Photo ID is not uploaded, Liveliness check is not completed, doesnt have a DB strong match, Business registration document type is not completed, Proof of address document is not completed, Drivers license document is not present.",
    "logTag": "0df34606-05d1-437a-a3a9-f3352130806f",
    "timestamp": "2025-05-14T01:50:01.220",
    "fileName": "AccountServiceImpl.java",
    "lineNumber": 230
}
```

```json Response 400
{
    "code": 10000019,
    "message": "Currency GBP is not supported",
    "logTag": "f3348a36-4b2b-4057-a2d6-204e47508371",
    "timestamp": "2025-10-29T17:51:36.764",
    "fileName": "AccountServiceImpl.java",
    "lineNumber": 205
}
```

```json Response 400
{
    "code": 10000015,
    "message": "Currency already exists for this account",
    "logTag": "251530b3-e903-47c7-8911-adee059db2f9",
    "timestamp": "2025-10-29T18:11:52.670",
    "fileName": "AccountServiceImpl.java",
    "lineNumber": 147
}
```

```json Response 400
{
    "code": 20009134,
    "message": "Source of funds is not valid for crypto wallet application",
    "logTag": "3daad6b6-943f-4a87-b704-9f956871c9be",
    "timestamp": "2026-03-03T23:22:43.817",
    "fileName": "PreCheckVBAApplicationServiceImpl.java",
    "lineNumber": 132
}
```

<br />

# Update Crypto Wallet Information

After a Crypto Wallet has been created a PATCH request can be sent to make updates to Crypto Wallet information.

```http
PATCH /veem/v1.2/crypto-wallet/applications/{applicationId}
```
```json Request Business
{
  "externalRegulatoryBusinessInfo": {
    "currency": "usdc",
    "geographySendingCountries": "US,MX",
    "geographyReceivingCountries": "US,MX",
    "purposeOfAccount": "payroll_salary_disbursements",
    "monthlyExpectedActivity": 1000,
    "annualRevenue": 1000000,
    "businessRegistrationNumber": "12334223",
    "businessIncorporationDate": "2014-03-13",
    "businessRegistrationCountry": "US",
    "businessRegistrationAddressLine1": "1160 Battery St",
    "businessRegistrationStateProv": "CA",
    "businessRegistrationPostalCode": "94111",
    "businessRegistrationCity": "San Francisco",
    "sourceOfFunds": "owners_capital",
    "businessWebsite": "https://www.veem.com",
    "areTermsConfirmed": true
  }
}
```
```json Response Business
{
    "applicationId": 249,
    "applicationStatus": "Completed",
    "provider": "BCY",
    "initialRouteId": 1,
    "externalRegulatoryBusinessInfo": {
        "currency": "usdc",
        "status": "Completed",
        "geographySendingCountries": "US",
        "geographyReceivingCountries": "US",
        "purposeOfAccount": "payroll_salary_disbursements",
        "monthlyExpectedActivity": 1000,
        "annualRevenue": 1000000,
        "businessRegistrationNumber": "****4223",
        "businessIncorporationDate": "2014-03-13",
        "businessRegistrationCountry": "US",
        "businessRegistrationAddressLine1": "1160 Battery St",
        "businessRegistrationStateProv": "CA",
        "businessRegistrationPostalCode": "94111",
        "businessRegistrationCity": "San Francisco",
        "sourceOfFunds": "owners_capital",
        "businessWebsite": "https://www.veem.com",
        "areTermsConfirmed": true,
        "timeCreated": 1776373034000,
        "timeUpdated": 1780356835626
    }
}
```
```json Request Sole Proprietor
{
  "externalRegulatoryIndividualInfo": {
    "currency": "usdc",
    "occupation": "ocupation",
    "geographySendingCountries": "US",
    "geographyReceivingCountries": "US",
    "purposeOfAccount": "payroll_salary_disbursements",
    "monthlyExpectedActivity": 1000,
    "annualIncome": 1000000,
    "sourceOfFunds": "owners_capital",
    "websiteSocialMediaLink": "https://www.veem.com",
    "areTermsConfirmed": true
    }
}
```
```json Response Sole Proprietor
```

# Get Crypto Wallet Summary

Use the following request to get summary information of the crypto wallet. The summary information provide basic information about the account including time created, status of the account and currency of the account.

Funding method ID returned as part of the response can be used to send payments.

```http
GET /veem/v1.2/crypto-wallet
```
```json Response
{
    "cryptoWallets": [
        {
            "accountId": 946923,
            "fundingMethodId": 2,
            "status": "Active",
            "sourceChain": "solana",
            "sourceCurrency": "usdt",
            "destinationPaymentRail": "solana",
            "destinationCurrency": "usdt",
            "timeCreated": 1776540339000
        },
        {
            "accountId": 946923,
            "fundingMethodId": 1,
            "status": "Active",
            "sourceChain": "solana",
            "sourceCurrency": "usdc",
            "destinationPaymentRail": "solana",
            "destinationCurrency": "usdc",
            "timeCreated": 1776534809000
        }
    ]
}
```

Response fields

| Field                                | Description                                                   |
| ------------------------------------ | ------------------------------------------------------------- |
| cryptoWallets. accountId             | Account id                                                    |
| cryptoWallets. fundingMethodId       | Funding method id                                             |
| cryptoWallets. status                | Crypto wallet status                                          |
| cryptoWallets.sourceChain            | Source chain used for deposits into the crypto wallet         |
| cryptoWallets.sourceCurrency         | Source currency used for deposits into the crypto wallet      |
| cryptoWallets.destinationPaymentRail | Destination chain used for deposits into the crypto wallet    |
| cryptoWallets.destinationCurrency    | Destination currency used for deposits into the crypto wallet |
| cryptoWallets.timeCreated            | Crypto wallet creation date                                   |

# Get Crypto Wallet Balance

Balance endpoint provides the current balance in the account. It is advisable to check balance in the account before sending payments to ensure that payment does not fail due to insufficient funds.

```http
GET /veem/v1.2/crypto-wallet/balance/{funding-method-id}
```
```json Response
{
    "accountId": 946923,
    "fundingMethodId": 1,
    "balanceAmount": {
        "number": 12.10,
        "currency": "USDC"
    },
    "timeUpdated": 1779909799529,
    "sourceChain": "solana",
    "sourceCurrency": "usdc",
    "destinationPaymentRail": "solana",
    "destinationCurrency": "usdc"
}
```

Response fields

| Field                  | Description                                                   |
| ---------------------- | ------------------------------------------------------------- |
| accountId              | Account Id                                                    |
| fundingMethodId        | Funding method id                                             |
| balanceAmount.number   | Available balance                                             |
| balanceAmount.currency | Stablecoin currency                                           |
| timeUpdated            | Balance updated time                                          |
| sourceChain            | Source chain used for deposits into the crypto wallet         |
| sourceCurrency         | Source currency used for deposits into the crypto wallet      |
| destinationPaymentRail | Destination chain used for deposits into the crypto wallet    |
| destinationCurrency    | Destination currency used for deposits into the crypto wallet |

# Get Crypto Wallet Details

Details endpoint provides all details associated with a particular crypto wallet by id.

```http
GET /veem/v1.2/crypto-wallet/details
```
```json Response
[
    {
        "fundingMethodId": 2,
        "externalAccountId": "1ede75f0-6e04-47eb-8caf-ef018f0248f3",
        "status": "Active",
        "isoCountryCode": "US",
        "isoCurrencyCode": "USDT",
        "sourceChain": "solana",
        "sourceCurrency": "usdt",
        "destinationPaymentRail": "solana",
        "destinationCurrency": "usdt",
        "info": {
            "walletInfo": {
                "deposit_routes": [
                    {
                        "source_currency": "usdt",
                        "deposit_address": "CiRfVjfBsgZCWRgc2ca3Hr23V43zp4zZvxJXbFqD",
                        "created_at": "2026-04-18T19:25:38.426Z",
                        "wallet_internal_address": "AsCWv6YKG2RdG72evU2zVr1fhZBLV77zYTctVTiUs",
                        "updated_at": "2026-04-18T19:25:38.426Z",
                        "destination_payment_rail": "solana",
                        "source_chain": "solana",
                        "destination_currency": "usdt",
                        "wallet_internal_id": "8ed7b3d5-0489-44e9-8222-ae5c9fc7a263",
                        "id": "1ede75f0-6e04-47eb-8caf-ef018f0248f3",
                        "state": "active"
                    }
                ]
            }
        }
    },
    {
        "fundingMethodId": 1,
        "externalAccountId": "c81ed155-4f6f-4b50-be05-7041fed17118",
        "status": "Active",
        "isoCountryCode": "US",
        "isoCurrencyCode": "USDC",
        "sourceChain": "solana",
        "sourceCurrency": "usdc",
        "destinationPaymentRail": "solana",
        "destinationCurrency": "usdc",
        "info": {
            "walletInfo": {
                "deposit_routes": [
                    {
                        "source_currency": "usdc",
                        "deposit_address": "CjTdsF8sd93o5TZo4cKLjRnUETtxE9sFYKrMGNMv",
                        "created_at": "2026-04-18T17:53:28.603Z",
                        "wallet_internal_address": "AsCW6YG2RdG7Z2evU2zVr1fhZBLV77zYTctVTiUs",
                        "updated_at": "2026-04-18T17:53:28.603Z",
                        "destination_payment_rail": "solana",
                        "source_chain": "solana",
                        "destination_currency": "usdc",
                        "wallet_internal_id": "8ed7b3d5-0489-44e9-8222-ae5c9fc7a263",
                        "id": "c81ed155-4f6f-4b50-be05-7041fed17118",
                        "state": "active"
                    }
                ]
            }
        }
    }
]
```

Response fields

| Field                                                                       | Description                                                           |
| --------------------------------------------------------------------------- | --------------------------------------------------------------------- |
| fundingMethodId                                                             | Funding method id                                                     |
| externalAccountId                                                           | External account id identifier                                        |
| status                                                                      | Crypto wallet status                                                  |
| isoCountryCode                                                              | Crypto wallet country                                                 |
| isoCurrencyCode                                                             | Stable coin currency                                                  |
| sourceChain                                                                 | Source chain used for deposits into the crypto wallet                 |
| sourceCurrency                                                              | Source currency used for deposits into the crypto wallet              |
| destinationPaymentRail                                                      | Destination chain used for deposits into the crypto wallet            |
| destinationCurrency                                                         | Destination currency used for deposits into the crypto wallet         |
| info.walletInfo. deposit\_routes.source\_currency                           | Source currency used for external deposits into the crypto wallet     |
| info.walletInfo. deposit\_routes.deposit\_address                           | Address that can be used for external deposits into the crypto wallet |
| info.walletInfo. deposit\_routes.created\_at                                | Deposit instructions created date and time                            |
| info.walletInfo.deposit\_routes. deposit\_address.wallet\_internal\_address | Crypto wallet internal address                                        |
| info.walletInfo. deposit\_routes.updated\_at                                | Deposit instructions update date and time                             |
| info.walletInfo. deposit\_routes.destination\_payment\_rail                 | Destination chain used for deposits into the crypto wallet            |
| info.walletInfo. deposit\_routes.source\_chain                              | Source chain used for deposits into the crypto wallet                 |
| info.walletInfo. deposit\_routes.destination\_currency                      | Destination currency used for deposits into the crypto wallet         |
| info.walletInfo. deposit\_routes.wallet\_internal\_id                       | Crypto wallet internal id                                             |
| info.walletInfo. deposit\_routes.state                                      | Deposit instructions status                                           |

# Get Crypto Wallet Transactions

Transactions endpoint provides a list of transactions during the queried time period.

There can be a delay(a few minutes) between your transaction completion and your transaction reflecting in the response of the API.

```http
GET /veem/v1.2/crypto-wallet/transactions/{fundingMethodId}
```
```json Response
{
    "number": 0,
    "size": 25,
    "totalPages": 1,
    "numberOfElements": 29,
    "totalElements": 29,
    "previousPage": false,
    "nextPage": false,
    "first": true,
    "last": true,
    "content": [
        {
            "id": 96,
            "accountId": 946923,
            "senderAccountId": 946975,
            "paymentId": 475771,
            "fundingMethodId": 1,
            "balanceId": "8ed7b3d5-0489-44e9-8222-ae5c9fc7a263",
            "currency": "usdc",
            "amount": 2.00,
            "balanceAmount": 12.10,
            "type": "credit",
            "relatedEntityType": "l",
            "relatedEntityId": "39be8cd0-bd53-4101-a264-96b1f2f85d8a",
            "relatedEntityShortReference": "address",
            "status": "Complete",
            "createdAt": 1779909733000,
            "updatedAt": 1779909775000,
            "completedAt": 1779909775000,
            "date": 1779909733000,
            "originatorName": "Not available",
            "senderAmount": 2.00,
            "senderCurrency": "usdc",
            "senderName": "Not available",
            "rail": "solana",
            "sanctionsPaymentId": 475771,
            "sanctionsSenderAccountId": 946975,
            "senderRail": "solana",
            "sender": "Not available;;;;;"
        }
    ]
}
```

Request params

| Parameter  | Description                                                          |
| ---------- | -------------------------------------------------------------------- |
| pageNumber | Page index to retrieve (0-based). Default is 0.                      |
| pageSize   | Number of records per page. Default is 25. Maximum is 25.            |
| startDate  | Filter transactions from this date (inclusive). Format: YYYY-MM-DD.  |
| endDate    | Filter transactions up to this date (inclusive). Format: YYYY-MM-DD. |

Response params

| Field                                | Description                                |
| ------------------------------------ | ------------------------------------------ |
| number                               | Page number                                |
| size                                 | Page size                                  |
| totalPages                           | Total pages                                |
| totalElements                        | Total elements                             |
| previousPage                         | Indicates if there is a previous page      |
| nextPage                             | Indicates if there is a next page          |
| first                                | Indicates if its the first page            |
| last                                 | Indicates if its the last page             |
| content. id                          | Element internal id                        |
| content. accountId                   | Account id                                 |
| content. senderAccountId             | Sender account id                          |
| content. paymentId                   | Payment id                                 |
| content. fundingMethodId             | Funding method id                          |
| content. balanceId                   | Balance internal id                        |
| content. currency                    | Stable coin currency                       |
| content. amount                      | Payment amount                             |
| content. balanceAmount               | Balance amount when the item was processed |
| content. type                        | Debit / Credit                             |
| content. relatedEntityType           | Internal identifier                        |
| content. relatedEntityId             | Internal identifier                        |
| content. relatedEntityShortReference | Address used for the deposit               |
| content. status                      | Item status                                |
| content. createdAt                   | Item created at                            |
| content. updatedAt                   | Item updated at                            |
| content. completedAt                 | Item completed at                          |
| content. date                        | Item reference date                        |
| content. originatorName              | Sender name if available                   |
| content. senderAmount                | Sender amount if available                 |
| content. rail                        | Deposit chain                              |
| content. sanctionsPaymentId          | Payment id for external deposits           |
| content. sanctionsSenderAccountId    | External deposit account id                |
| content. senderRail                  | Sender chain                               |
| content. sender                      | Sender additional information if available |

# Send Payment

Claimless-payments can be used to send payments from the Crypto Wallet.

When sending payment, FundingMethod is required. The fundingMethod was returned as part of response when the Crypto Wallet was created. Refer to Crypto Wallet section.

FundingMethod can also be retrieved by [getting the balance](https://developer.veem.com/docs/intro-to-veem-api?isFramePreview=true#get-crypto-wallet-balance) or the [details ](https://developer.veem.com/docs/intro-to-veem-api?isFramePreview=true#get-crypto-wallet-details)endpoints.

```http
POST /veem/v1.2/claimless-payments
```
```json Request
{
    "purposeOfPayment": "Goods",
    "payee":{
        "email": "veem+dev@veem.com",
        "firstName": "USA First Name",
        "lastName": "USA Last Name",
        "countryCode": "US",
        "phone": "4152306359",
        "phoneCountryCode": "+1",
        "type": "Business",
        "industry": "Software, IT and Telecommunications",
        "subIndustry": "Software",
        "businessName": "USA 123",
        "business": {
            "address": {
                "countryCode": "US",
                "street": "300 Folsom",
                "city": "San Francisco",
                "postalCode": "94105",
                "province": "CA"
            },
            "entity": "Corporation",
            "taxIdNumber": "33-1867308"
        }
    },
    "amount": {
        "number": 2.00,
        "currency": "USDC"
    },
    "fundingMethod": {
        "id": 1,
        "type": "CryptoWallet"
    },
    "sweepToWalletId" : 123,
    "notes" : "Payment notes"
}
```
```json Response
{
    "requestId": "31879cbe-ed09-4a1d-b4d9-f78d81f13c10",
    "notes": "Payment notes",
    "ccEmails": [],
    "purposeOfPayment": "Goods",
    "payee": {
        "email": "leroy.alan+dev-b4d75161-6176-45f5-a180-6ed2670e7105@veem.com",
        "countryCode": "ES",
        "phone": "tel:+34-691-77-79-97"
    },
    "payeeAmount": {
        "number": 2.00,
        "currency": "USDC"
    },
    "status": "Sent",
    "goodFundsPayment": false,
    "realTimePayment": false,
    "extraInfo": {},
    "payerFundingMethodType": "CryptoWallet",
    "id": 475640,
    "exchangeRate": {
        "fromAmount": 2.00,
        "fromCurrency": "USDC",
        "toAmount": 2.00,
        "toCurrency": "USDC"
    },
    "feeInformation": {
        "payerInfo": {
            "originalAmount": 2.00,
            "feeAmount": 0.00,
            "totalAmount": 2.00,
            "currency": "USDC"
        },
        "payeeInfo": {
            "originalAmount": 1.72,
            "feeAmount": 0.03,
            "totalAmount": 1.69,
            "currency": "EUR",
            "fees": [
                {
                    "name": "FX Markup",
                    "displayValue": "0.019000 USDC->EUR",
                    "priceItemType": "FX_MARKUP",
                    "rate": 0.019000
                },
                {
                    "name": "FX Marked Up",
                    "displayValue": "0.859964000000 USDC->EUR",
                    "priceItemType": "FX_TOTAL_RATE",
                    "rate": 0.843625
                }
            ]
        }
    },
    "timeCreated": "2026-05-15T09:37:35.537-07:00",
    "timeUpdated": "2026-05-15T09:37:39.620-07:00",
    "claimLink": "https://api.dev.veem.com/api/c/3S4Io9nO",
    "debitCreditTxn": {
        "debitTxn": null,
        "creditTxn": null,
        "refundTxn": null
    },
    "fastTransfer": false,
    "cancelable": false,
    "receiverFundingMethodType": "Bank",
    "originalRequestId": "31879cbe-ed09-4a1d-b4d9-f78d81f13c10"
}
```

Here is an example of sending a payment from VBA, for more detail of this endpoint refer to [Send Money - Claimless](https://developer.veem.com/docs/create-claimless-payment).

# Withdraw money

Refer to [Withdraw money](https://developer.veem.com/docs/withdraw-money) page for more information. If you are looking for converting funds from one currency to another within the Crypto Wallet - use [Convert Funds](https://developer.veem.com/docs/intro-to-veem-api?isFramePreview=true#convert-funds) endpoint instead.

Just make sure to send "CryptoWallet" as the "fromFundingMethodType".

# Convert Funds

Conversion for stable coins can be done in 2 ways, through wallet conversion when a fiat currency is involved or through crypto wallet conversion when only stablecoins are involved

## Performing a wallet conversion for fiat to stablecoin / stablecoint to fiat&#x20;

You can use [wallet conversion](https://developer.veem.com/docs/intro-to-veem-api?isFramePreview=true#move-funds-between-wallets), if a fiat currency and an stablecoin are involved

Note: When moving funds between wallets, both the source and target wallet/crypto wallet should exist.

```json Request
{
    "sourceWallet": {
        "number": 10,
        "currency": "USD"
    },
    "destinationWallet": {
        "currency": "USDC"
    } 
}
```
```json Response
{
    "requestId": "1bdddc01-579b-453d-b75f-b96efe999380",
    "purposeOfPayment": "Services",
    "purposeOfPaymentDescription": "Wallet Conversion",
    "payee": {
        "email": "leroy.alan+veem-account-16712f8f-a2af-4a01-adf1-57aae1562f45@veem.com",
        "countryCode": "US",
        "phone": "***************3400"
    },
    "payeeAmount": {
        "number": 10,
        "currency": "USDC"
    },
    "status": "Sent",
    "goodFundsPayment": false,
    "realTimePayment": false,
    "extraInfo": {},
    "payerFundingMethodType": "Wallet",
    "id": 475628,
    "exchangeRate": {
        "fromAmount": 10,
        "fromCurrency": "USD",
        "toAmount": 10,
        "toCurrency": "USDC",
        "rate": 1
    },
    "feeInformation": {
        "payerInfo": {
            "originalAmount": 10,
            "feeAmount": 0,
            "totalAmount": 10,
            "currency": "USD"
        },
        "payeeInfo": {
            "originalAmount": 10,
            "feeAmount": 0,
            "totalAmount": 10,
            "currency": "USDC",
            "fees": [
                {
                    "name": "FX Markup",
                    "displayValue": "0.000000 USD->USDC",
                    "priceItemType": "FX_MARKUP",
                    "rate": 0
                },
                {
                    "name": "FX Marked Up",
                    "displayValue": "1.000000000000 USD->USDC",
                    "priceItemType": "FX_TOTAL_RATE",
                    "rate": 1
                }
            ]
        }
    },
    "timeCreated": "2026-05-12T11:27:44.084-07:00",
    "timeUpdated": "2026-05-12T11:27:46.503-07:00",
    "fastTransfer": false,
    "cancelable": false,
    "receiverFundingMethodType": "CryptoWallet",
    "originalRequestId": "1bdddc01-579b-453d-b75f-b96efe999380"
}
```

## Performing a wallet conversion for stablecoins&#x20;

If you want to convert between stablecoins you can use the crypto wallet conversion API

Note: When moving funds between crypto wallets, both the source and target crypto wallet should exist.

```http
POST /veem/v1.2/payments/cryptowallet/convert
```

### Sending Exact Amount

Used when the user specifies the exact amount to send from the source wallet.

```json Request
{
    "sourceCryptoWallet": {
        "number": 10,
        "currency": "USDT"
    },
    "destinationCryptoWallet": {
        "currency": "USDC"
    }
    ,"onBehalfAccountId": 12345 // see Partner Notes
}
```
```json Response
{
    "requestId": "1bdddc01-579b-453d-b75f-b96efe999380",
    "purposeOfPayment": "Services",
    "purposeOfPaymentDescription": "Crypto Wallet Conversion",
    "payee": {
        "email": "leroy.alan+veem-account-16712f8f-a2af-4a01-adf1-57aae1562f45@veem.com",
        "countryCode": "US",
        "phone": "***************3400"
    },
    "payeeAmount": {
        "number": 10,
        "currency": "USDC"
    },
    "status": "Sent",
    "goodFundsPayment": false,
    "realTimePayment": false,
    "extraInfo": {},
    "payerFundingMethodType": "CryptoWallet",
    "id": 475628,
    "exchangeRate": {
        "fromAmount": 10,
        "fromCurrency": "USDT",
        "toAmount": 10,
        "toCurrency": "USDC",
        "rate": 1
    },
    "feeInformation": {
        "payerInfo": {
            "originalAmount": 10,
            "feeAmount": 0,
            "totalAmount": 10,
            "currency": "USDT"
        },
        "payeeInfo": {
            "originalAmount": 10,
            "feeAmount": 0,
            "totalAmount": 10,
            "currency": "USDC",
            "fees": [
                {
                    "name": "FX Markup",
                    "displayValue": "0.000000 USDT->USDC",
                    "priceItemType": "FX_MARKUP",
                    "rate": 0
                },
                {
                    "name": "FX Marked Up",
                    "displayValue": "1.000000000000 USDT->USDC",
                    "priceItemType": "FX_TOTAL_RATE",
                    "rate": 1
                }
            ]
        }
    },
    "timeCreated": "2026-05-12T11:27:44.084-07:00",
    "timeUpdated": "2026-05-12T11:27:46.503-07:00",
    "fastTransfer": false,
    "cancelable": false,
    "receiverFundingMethodType": "CryptoWallet",
    "originalRequestId": "1bdddc01-579b-453d-b75f-b96efe999380"
}
```

### Receiving Exact Amount

Used when the user specifies the exact amount to receive in the destination wallet.

```json Request
{
    "sourceCryptoWallet": {
        "currency": "USDT"
    },
    "destinationCryptoWallet": {
        "number": 10,
        "currency": "USDC"
    }
    ,"onBehalfAccountId": 12345 // see Partner Notes
}
```
```json Response
```

<Callout icon="👍" theme="okay">
  **Partner Notes:**

  * A partner account can be configured to make this API request on behalf of their customers. This requires internal configuration for the partner account by Veem. Once the internal configuration is enabled, the API request can be made using partner account bearer token.
  * `onBehalfAccountId` is an optional parameter, this needs to be included on the request body in case of partner making an API request on behalf of their customer. This is the customer Veem account ID.
</Callout>

### Validation rules

* The number field cannot be sent in both sourceWallet and destinationWallet at the same time. The request should be structured to either specify:
  * The amount to send sourceCryptoWallet.number
  * The amount to receive destinationCryptoWallet.number

# Create pay-in deposit instructions

Payins enable the customer to receive stablecoin (USDT, USDC) from external wallet addresses and deposit them to a Veem Crypto Wallet using a temporal address.&#x20;

```http
POST /veem/v1.2/payments/cryptowallet/payin
```
```json Request
{
    "toCryptoWalletId": 1,
    "amount": {
        "number": 10.00,
        "currency": "USDC"
    }
}
```
```json Response
{
    "id": 137,
    "requestId": "92d08208-3dc0-4453-8fe4-eaa3e78afb7f",
    "amount": {
        "number": 10.00,
        "currency": "USDC"
    },
    "chain": "solana",
    "depositInstructions": {
        "chain": "solana",
        "currency": "usdc",
        "toAddress": "EK1MUpmfNijiAM1zEbH432ZEqYmqYTReuGGss5JrR8zJ"
    }
}
```

## Request values

| Field            | Description                                                                                                                                                    |
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| toCryptoWalletId | Funding method id of the Crypto Wallet                                                                                                                         |
| amount.number    | Amount expected to be received on the external deposit (amount is not enforced when receving money to the deposit instructions, final amount may be different) |
| amount.currency  | Stablecoins currency. Can be USDC or USDT currently                                                                                                            |

## Response values

| Field                         | Description                                                         |
| ----------------------------- | ------------------------------------------------------------------- |
| id                            | Internal payin identifier                                           |
| requestId                     | Internal payin UUID identifier                                      |
| amount.number                 | Amount requested to be received on the external deposit             |
| amount.currency               | Stablecoins payin requested currency. Can be USDC or USDT currently |
| chain                         | Crypto Wallet chain                                                 |
| depositInstructions.chain     | Deposit instructions chain                                          |
| depositInstructions.currency  | Deposit instructions stablecoin                                     |
| depositInstructions.toAddress | Address to be shared with the counter party to send the funds to    |

<Callout icon="👍" theme="okay">
  **Partner Notes:**

  * A partner account can be configured to make this API request on behalf of their customers. This requires internal configuration for the partner account by Veem. Once the internal configuration is enabled, the API request can be made using partner account bearer token.
  * `onBehalfAccountId` is an optional parameter, this needs to be included on the request body in case of partner making an API request on behalf of their customer. This is the customer Veem account ID.
</Callout>

# Send pay-out to external address&#x20;

Customers can use this API to send stablecoin (USDT, USDC) to external wallet addresses taking the funds from a Veem stablecoin Crypto Wallet.

```http
POST /veem/v1.2/payments/cryptowallet/payout
```
```json Request
{
    "fromCryptoWalletId": 1,
    "amount": {
        "number": 2,
        "currency": "USDC"
    },
    "toChain": "solana",
    "toAddress": "7BDFfapMbaiEv4MgTQvJ4Rw2g4U86eeakNH"
}
```
```json Response
{
    "id": 475756,
    "hashId": "057b3c6b-f108-4e7f-a5a9-489044b3e41d",
    "legacy": false,
    "status": "Sent",
    "closeable": true,
    "timeCreated": 1779811069654,
    "timeUpdated": 1779811073558,
    "amount": {
        "number": 2,
        "currency": "USDC"
    },
    "usdAmount": {
        "number": 2,
        "currency": "USD"
    },
    "payerAccountId": 946923,
    "payerAccount": {
        "id": 946923,
        "referenceId": "89da53d8-403b-4ec8-b696-0c09e8991fba",
        "type": "Business",
        "extraId": 8973,
        "name": "Veem Inc. TEST",
        "fullName": "Veem Inc. TEST",
        "initials": "VE",
        "isoCountryCode": "US",
        "primaryIsoCurrencyCode": "USD",
        "primaryContactUserId": 32205,
        "primaryEmail": "leroy.alan+veem-account-16712f8f-a2af-4a01-adf1-57aae1562f45@veem.com",
        "primaryPhone": "tel:+1-415-729-3400",
        "primaryPhoneCountryCode": "1",
        "verificationStatus": "Verified",
        "verificationLevel": "Two",
        "verificationProfile": {
            "contactInformationProvided": true,
            "documentRequirementStatus": "NONE",
            "allInformationReviewed": true,
            "businessInformationProvided": true,
            "allInformationProvided": true,
            "bankInformationProvided": true
        },
        "referralInfo": {
            "aid": "946589",
            "contactId": "13223",
            "type": "PLATFORM",
            "utmSource": "og-test",
            "utmMedium": "partner"
        },
        "status": "Active",
        "timeCreated": 1775238392000,
        "timeUpdated": 1777915900000,
        "contact": {
            "userId": 32205,
            "firstName": "Lisa",
            "lastName": "Dempsey",
            "phone": "tel:+1-415-729-3400",
            "email": {
                "address": "leroy.alan+veem-account-16712f8f-a2af-4a01-adf1-57aae1562f45@veem.com"
            },
            "isLocked": false
        },
        "businessInfo": {
            "id": 8973,
            "accountId": 946923,
            "type": "Corporation",
            "status": "Active",
            "taxIdNumber": "46-5104750",
            "businessRegistrationNumber": "26-1927056"
        },
        "isTest": false,
        "guestAccount": false,
        "hasBankInfo": true,
        "hasBusinessAddressInfo": true,
        "bankAccounts": [
            {
                "id": 6624,
                "accountId": 946923,
                "isoCountryCode": "US",
                "isoCurrencyCode": "USD",
                "bankName": "Bank of America",
                "beneficiaryName": "Veem Inc. TEST",
                "accountType": "Checking",
                "canRemove": true,
                "shortIdentifierDomestic": "8643",
                "verificationStatus": "Unverified",
                "validationStatus": {},
                "status": "Active",
                "routingNumber": "122400724",
                "accountNumber": "501025268643"
            }
        ],
        "addresses": [
            {
                "id": 11493,
                "accountId": 946923,
                "line1": "1160 Battery St",
                "city": "San Francisco",
                "state": "CA",
                "province": "CA",
                "postalCode": "94111",
                "isoCountryCode": "US",
                "type": "Business",
                "addressNature": "PHYSICAL"
            }
        ],
        "paymentSent": false,
        "invoiceSent": false,
        "hasMtl": false,
        "isAccountant": false,
        "isExternalPartnerAccount": true,
        "publicAccountPreference": {},
        "thirdPartyInfo": {
            "websiteUrl": null,
            "weChatId": null
        },
        "logoInfo": {},
        "payMeInfo": {
            "alias": "refcode-JpXeqevpw",
            "publicUrl": "https://dev-us-west-2.veem.com/pay/refcode-JpXeqevpw",
            "color": null,
            "text": null,
            "accountId": 946923
        },
        "wallets": [],
        "industry": "Finance, Insurance",
        "subIndustry": "Other Finance, Insurance",
        "industryCodes": {
            "industry": "Finance, Insurance"
        },
        "hasPreRegistrationMatches": false,
        "isDnBSearchCompleted": false,
        "accountant": false,
        "dnBSearchCompleted": false,
        "address": {
            "id": 11493,
            "accountId": 946923,
            "line1": "1160 Battery St",
            "city": "San Francisco",
            "state": "CA",
            "province": "CA",
            "postalCode": "94111",
            "isoCountryCode": "US",
            "type": "Business",
            "addressNature": "PHYSICAL"
        }
    },
    "payerCountry": "US",
    "payerRegion": "CA",
    "payerFinInst": {
        "id": 6624,
        "accountId": 946923,
        "isoCountryCode": "US",
        "isoCurrencyCode": "USD",
        "bankName": "Bank of America",
        "beneficiaryName": "Veem Inc. TEST",
        "accountType": "Checking",
        "canRemove": true,
        "shortIdentifierDomestic": "8643",
        "verificationStatus": "Unverified",
        "validationStatus": {},
        "status": "Active",
        "routingNumber": "122400724",
        "accountNumber": "501025268643"
    },
    "payerAmount": {
        "number": 2,
        "currency": "USDC"
    },
    "payerFeeFxInfo": {
        "type": "Fee",
        "id": 635454,
        "status": "Active",
        "feeFxInfoExtra": {},
        "usdRate": 1,
        "usdRateTime": "2026-05-26T15:57:53Z",
        "timeCreated": 1779811070476,
        "timeUpdated": 1779811073764,
        "exchangeRateExpired": true
    },
    "payerFundingMethodType": "CryptoWallet",
    "payerFundingMethodId": 1,
    "payerFundingMethod": {
        "id": 1,
        "accountId": 946923,
        "type": "CryptoWallet",
        "provider": "bcy",
        "fundingId": "c81ed155-4f6f-4b50-be05-7041fed17118",
        "status": "Active",
        "isoCountryCode": "US",
        "isoCurrencyCode": "USDC",
        "credit": true,
        "debit": true,
        "balance": 14.1,
        "available": true,
        "sendingEnabled": true,
        "receivingEnabled": true,
        "billingEnabled": false,
        "extraData": {
            "walletInfo": {
                "deposit_routes": [
                    {
                        "source_currency": "usdc",
                        "deposit_address": "CjTdsF8sd93o5cTZ6o4cKKsLjRnUETtxE9sFYKrMGNMv",
                        "created_at": "2026-04-18T17:53:28.603Z",
                        "wallet_internal_address": "AsCWv6YKG2oRdnG7Z2evU2zVr1fhZBLV77zYTctVTiUs",
                        "updated_at": "2026-04-18T17:53:28.603Z",
                        "destination_payment_rail": "solana",
                        "provider": "BCY",
                        "source_chain": "solana",
                        "destination_currency": "usdc",
                        "wallet_internal_id": "8ed7b3d5-0489-44e9-8222-ae5c9fc7a263",
                        "id": "c81ed155-4f6f-4b50-be05-7041fed17118",
                        "state": "active"
                    }
                ]
            }
        }
    },
    "payeeAccountId": 947057,
    "payeeAccount": {
        "id": 947057,
        "referenceId": "7830a573-7bbb-4007-a4c4-202ae0db6a41",
        "type": "Personal",
        "extraId": 4743,
        "fullName": "Not available Not available",
        "initials": "NO",
        "isoCountryCode": "US",
        "primaryIsoCurrencyCode": "USD",
        "primaryContactUserId": 32340,
        "primaryEmail": "sender.vba+DEV-b04e5120-9652-449b-acbc-0ac918531ad3@veem.com",
        "verificationStatus": "UnverifiedSignup",
        "verificationLevel": "One",
        "verificationProfile": {
            "contactInformationProvided": false,
            "documentRequirementStatus": "NONE",
            "businessInformationProvided": true,
            "allInformationProvided": false,
            "bankInformationProvided": false
        },
        "referralInfo": {
            "pid": 17,
            "aid": "946923",
            "contactId": "13426",
            "type": "PLATFORM",
            "utmSource": "og-test",
            "utmMedium": "partner"
        },
        "status": "Inactive",
        "timeCreated": 1779488761000,
        "timeUpdated": 1779488800000,
        "contact": {
            "userId": 32340,
            "firstName": "Not available",
            "lastName": "Not available",
            "email": {
                "address": "sender.vba+DEV-b04e5120-9652-449b-acbc-0ac918531ad3@veem.com"
            },
            "isLocked": false
        },
        "personalInfo": {
            "id": 4743,
            "accountId": 947057,
            "type": "Contractor",
            "status": "Active"
        },
        "isTest": false,
        "guestAccount": true,
        "hasBankInfo": false,
        "hasBusinessAddressInfo": false,
        "bankAccounts": [],
        "addresses": [],
        "paymentSent": false,
        "invoiceSent": false,
        "hasMtl": false,
        "isAccountant": false,
        "isExternalPartnerAccount": true,
        "publicAccountPreference": {},
        "thirdPartyInfo": {
            "websiteUrl": null,
            "weChatId": null
        },
        "logoInfo": {},
        "payMeInfo": {
            "alias": "refcode-Rg1P8mJkl",
            "publicUrl": "https://dev-us-west-2.veem.com/pay/refcode-Rg1P8mJkl",
            "color": null,
            "text": null,
            "accountId": 947057
        },
        "wallets": [],
        "industryCodes": {},
        "hasPreRegistrationMatches": false,
        "isDnBSearchCompleted": false,
        "accountant": false,
        "dnBSearchCompleted": false
    },
    "payeeCountry": "US",
    "payeeAmount": {
        "number": 2,
        "currency": "USDC"
    },
    "payeeFeeFxInfo": {
        "type": "Fee",
        "id": 635455,
        "status": "Active",
        "feeFxInfoExtra": {},
        "usdRate": 1,
        "usdRateTime": "2026-05-26T15:57:53Z",
        "timeCreated": 1779811070485,
        "timeUpdated": 1779811073799,
        "exchangeRateExpired": true
    },
    "payeeFundingMethodType": "CryptoWallet",
    "paymentExtraInfo": {
        "isVeemVendorPayment": false,
        "isRtpForPayeeAfterAuthorization": false,
        "extraInfo": {
            "isVeemVendorPayment": false
        }
    },
    "processingMethod": "Pull",
    "collections": [],
    "financialTxns": [],
    "trackingInfoSet": [],
    "fromMassPay": false,
    "hasError": false,
    "hasNotes": false,
    "notes": [],
    "externalPaymentLinked": false,
    "timeSent": 1779811073516,
    "estimatedCompletionDate": 1779865200000,
    "estimatedCompletionDateUtc": "2026-05-27T07:00Z",
    "attributes": {
        "EXTERNAL_PAYOUT": true,
        "EXTERNAL_PAYOUT_ADDRESS": "J7BDFfapfMbafiEv4kMggTQvJ4Rw2g4kUM86eeaakgNH",
        "EXTERNAL_PAYOUT_CHAIN": "solana",
        "CREATED_BY": {
            "type": "API",
            "id": "API-GATEWAY",
            "accountId": 0,
            "payerPrimaryEmail": "leroy.alan+veem-account-16712f8f-a2af-4a01-adf1-57aae1562f45@veem.com",
            "payeePrimaryEmail": "sender.vba+DEV-b04e5120-9652-449b-acbc-0ac918531ad3@veem.com"
        }
    },
    "taxInfoResponse": {
        "id": null,
        "paymentId": null,
        "taxExempt": false,
        "taxAmount": null,
        "amountTax": null,
        "tax": 0,
        "taxRate": null,
        "amountDiscount": null,
        "amountShipping": null,
        "amountDuty": null,
        "itemCommodityCode": null,
        "itemDescription": null,
        "productCode": null,
        "quantity": null,
        "unitOfMeasure": null,
        "amountUnitCost": null,
        "amountItemDiscount": null,
        "amountTotal": null,
        "poNumber": null
    },
    "eligibleToAutoClearAccountRelationships": false,
    "suppressPaymentCompleteEmail": false,
    "rtp": false,
    "rtpForPayee": false,
    "virtualBankWithdrawalPayment": false,
    "cryptoWalletWithdrawalPayment": false,
    "paymentFromWalletExitingNetwork": false,
    "bankPaymentFromWallet": false,
    "walletToWalletPayment": false,
    "fromWalletPayment": false,
    "fromUSWalletPayment": false,
    "fromNonUSWalletPayment": false,
    "toWalletPayment": false,
    "chequePaymentForPayee": false
}
```

## Request values

| Field              | Description                                                           |
| ------------------ | --------------------------------------------------------------------- |
| fromCryptoWalletId | Crypto wallet funding method id                                       |
| amount.number      | Amount to be send to the external address                             |
| amount.currency    | Stablecoin to be used for sending the deposit to the external address |
| toChain            | Target chain                                                          |
| toAddress          | Target address                                                        |

## Response values

Response has the same structure as the response on [claimless payments](https://developer.veem.com/docs/intro-to-veem-api?isFramePreview=true#response-payload)

<Callout icon="👍" theme="okay">
  **Partner Notes:**

  * A partner account can be configured to make this API request on behalf of their customers. This requires internal configuration for the partner account by Veem. Once the internal configuration is enabled, the API request can be made using partner account bearer token.
  * `onBehalfAccountId` is an optional parameter, this needs to be included on the request body in case of partner making an API request on behalf of their customer. This is the customer Veem account ID.
</Callout>

# Crypto Wallet Webhooks

For creating a webhook to be notified when a Crypto Wallet event occurs you should use the following endpoint.

```http
POST /veem/v1.2/webhooks
```

In addition to the webhooks described on the [Webhok Notification](https://developer.veem.com/docs/webhook-notifications) page, you can subscribe to the following VBA-related events:

| Event                                    | Description                                                                  |
| ---------------------------------------- | ---------------------------------------------------------------------------- |
| CRYPTO\_WALLET\_ACCOUNT\_STATUS\_UPDATED | Notifies when Crypto Wallet account status changes                           |
| CRYPTO\_WALLET\_TRANSACTION              | Will notify you when there is a transaction in or out of your Crypto Wallet. |

## Crypto Wallet Account Status Webhook

To subscribe to this webhook notification, use the following request:

```json Request
{
    "callbackURL":"https://webhook-test.com/958892dcc2b3076fffd136adb127ac55",
    "event":"CRYPTO_WALLET_ACCOUNT_STATUS_UPDATED"
}
```
```json Response
{
    "id": 31,
    "event": "CRYPTO_WALLET_ACCOUNT_STATUS_UPDATED",
    "callbackUrl": "https://webhook-test.com/958892dcc2b3076fffd136adb127ac55",
    "status": "Active"
}
```

Once subscribed, when the Crypto Wallet transaction occurs or changes status you will get a notification in the following format. The event information is contained in the data field in a stringified JSON format.

```json Event payload
{"type":"CRYPTO_WALLET_ACCOUNT_STATUS_UPDATED","data":"{\"accountId\":1023346,\"status\":\"PENDING\"}"};
```
```json Data object
{
    "accountId": 1023346,
    "status": "PENDING"
}
```
```json Data object: SUCCESS
{
    "accountId": 2079512,
    "fundingMethodId": 33,
    "chain": "solana",
    "address": "7EcDhSYGxXyscszYEp35KHN8vvw3svAuLKTzXwCFLtV",
    "currency": "usdc",
    "status": "SUCCESS"
}
```

## Crypto Wallet Transaction Status Webhook

To subscribe to this webhook notification, use the following request:

```json Request
{
    "callbackURL":"https://webhook-test.com/958892dcc2b3076fffd136adb127ac55",
    "event":"CRYPTO_WALLET_TRANSACTION"
}
```
```json Response
{
    "id": 31,
    "event": "CRYPTO_WALLET_TRANSACTION",
    "callbackUrl": "https://webhook-test.com/958892dcc2b3076fffd136adb127ac55",
    "status": "Active"
}
```

Once subscribed, when the Crypto Wallet transaction occurs or changes status you will get a notification in the following format. The event information is contained in the data field in a stringified JSON format.

```json Event payload
{
  "type": "CRYPTO_WALLET_TRANSACTION",
  "data": "{\"accountId\":\"946923\",\"fundingMethodId\":\"1\",\"paymentId\":\"475592\",\"counterParty\":{\"name\":\"first_name last_name\",\"method\":\"cryptoWallet\",\"chain\":\"solana\"},\"balance\":{\"chain\":\"solana\",\"currency\":\"usdc\",\"amount\":19.400000000000000000},\"transaction\":{\"currency\":\"usdc\",\"amount\":9.70,\"status\":\"Complete\",\"direction\":\"debit\",\"transactionDate\":1777164147000,\"chain\":\"solana\",\"isPayIn\":true,\"rail\":\"solana\"}}"
}
```
```json Data object
{
    "accountId": "946923",
    "balance": {
        "amount": 19.4,
        "chain": "solana",
        "currency": "usdc"
    },
    "counterParty": {
        "chain": "solana",
        "method": "cryptoWallet",
        "name": "first_name last_name"
    },
    "fundingMethodId": "1",
    "paymentId": "475592",
    "transaction": {
        "amount": 9.7,
        "chain": "solana",
        "currency": "usdc",
        "direction": "debit",
        "isPayIn": true,
		    "isPayOut": true,
        "rail": "solana",
        "status": "Complete",
        "transactionDate": 1777164147000
    }
}
```

| Field                       | Description                                                                                                                                                 |
| --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| fundingMethodId             | Funding method ID                                                                                                                                           |
| paymentId                   | PaymentId for Veem Initiated Payments                                                                                                                       |
| accountId                   | Account ID                                                                                                                                                  |
| balance                     | Crypto Wallet Balance information                                                                                                                           |
| balance.currency            | Crypto Wallet currency code                                                                                                                                 |
| balance.amount              | Crypto Wallet balance                                                                                                                                       |
| balance.chain               | Crypto Wallet chain                                                                                                                                         |
| counterParty                | Counter party information                                                                                                                                   |
| counterParty.name           | Counter party's name if available                                                                                                                           |
| counterParty.chain          | Counter party's chain                                                                                                                                       |
| counterParty.method         | Counter party's method (cryptoWallet)                                                                                                                       |
| transaction                 | Transaction information                                                                                                                                     |
| transaction.currency        | Transaction currency                                                                                                                                        |
| transaction.amount          | Transaction amount                                                                                                                                          |
| transaction.status          | Transaction status, possible values: Complete, InProgress, Closed                                                                                           |
| transaction.direction       | debit or credit                                                                                                                                             |
| transaction.transactionDate | Transaction date                                                                                                                                            |
| transaction.chain           | Transaction chain                                                                                                                                           |
| transaction.isPayIn         | True for [payin ](https://developer.veem.com/docs/intro-to-veem-api?isFramePreview=true#create-pay-in-deposit-instructions)created for deposit instructions |
| transaction.isPayOut        | True for [payout ](https://developer.veem.com/docs/intro-to-veem-api?isFramePreview=true#send-pay-out-to-external-address-)created through the payout API   |
| transaction.rail            | Transaction's rail                                                                                                                                          |