# Overview The sections below highlight key functional areas that behave differently between the Sandbox and Live environments. ## User Onboarding and Accounts ### Anti-money laundering (AML) and Politically Exposed Persons (PEP) Checks In Sandbox, AML checks are disabled and clients can test end-user onboarding without regulatory hurdles. This is intentional and it keeps testing lightweight and allows clients to focus on building optimal flows. For Live, AML and all other compliance checks are fully enabled. This means onboarding reflects real regulatory processes, and results may differ from Sandbox. For PEP checks, there are no triggers in Sandbox to alert clients of PEP hits. This flow is “silent” and will not trigger any follow-up actions. For Live, PEP hits will trigger an outreach to clients. ### User and account groups For Sandbox, user and account group offboarding is not an end to end automated process. Actions like closing an account or account group must be triggered by an API request and then handled manually by the Upvest Integration Success team upon client request. For Live, user and account group offboarding, while not fully automated, is monitored by the Upvest Client Experience team and offboarding as well as onboarding (which did not happen automatically) is processed manually and raised with clients for cases when more data is required. ## Orders, trades, instruments, and prices ### Order Executions Sandbox order executions are settled automatically and instantly. Clients can test flows without waiting for market timings or settlement cycles. To make testing more realistic, some ISINs also simulate special behaviors such as partial fills, cancellations, or delayed settlements. For a complete list of these simulated ISINs and their behaviors, refer to the [Sandbox mock ISINs](/products/tol/guides/orders/sandbox_mock_isins) section. For Live, order flow follows the real market process and timelines. Behaviors like order execution and settlement times reflect the real-world trading environment. ### Order Cancellations Sandbox offers a simplified version of order cancellations: we leverage specific [ISINs](/products/tol/guides/orders/sandbox_mock_isins) to mock cancellation behaviour. In Live, once an order has been fully filled in the market, cancellation is no longer possible, even if your system has not yet received the latest status update from us. In edge cases, due to issues on the trading venue, executions can be canceled which could lead for fully executed orders to become partially executed or even cancelled. ### Price and instrument data In Sandbox prices for certain instruments are simulated and do not reflect real market movements. They are designed to let clients test order flows and portfolio handling, but they should not be used to validate trading strategies or assumptions about real pricing. There are also [ISINs](/products/tol/guides/orders/sandbox_mock_isins) with specific pricing behaviour. For Live, prices come from real-time market data feeds. These fluctuate with the market and directly influence order execution, settlement outcomes, and portfolio valuations. ### Sandbox Mock ISINs To further help with testing, we provide a list of Sandbox mock ISINs that allow you to simulate real-world scenarios such as partial fills, cancellations, or delayed settlements. The mock ISINs are not available in Live environment. To test different scenarios, we map specific mock ISINs to certain trading and execution behaviors. For a complete list of the different ISINs and their related scenarios, refer to the [Sandbox mock ISINs](/products/tol/guides/orders/sandbox_mock_isins) section. ## Settlements, Positions, and Payments ### Settlements In the Sandbox environment, order executions are settled immediately during the same session as opposed to normal settlement which usually occurs during the T+1 session for BUYS and T+2 for SELLS. In addition, you can schedule settlement reports in Sandbox as well as request the manual trigger while in Live they must be triggered only manually which is done regularly by the Upvest Operations team. ### Positions There is no real settlement process for most flows, trading, and payments in Sandbox. To help with testing, positions and cash balances are updated using simulated logic, which can differ from real-world outcomes. Key points for integrators to be aware of: - **Time-Weighted Returns (TWR) and intra-day valuations**: can only be tested under limited conditions. Prices for instruments are often hardcoded or simulated. If your Sandbox account only holds instruments with stable prices, TWR calculations may always show zero. - **Valuation limitations**: Because prices and settlement are simulated, position valuations in Sandbox may not reflect real-life dynamics. Clients should consider this when validating account balances, portfolio performance, or reporting logic. For Live, positions are updated based on real trading, settlement, and payment flows. Event ordering still follows an event-driven model and clients should continue relying on payload content for accurate state. However, unlike in Sandbox, positions and cash balances reflect real market activity and regulatory settlement rules. ### Payments As settlement cycles are accelerated in Sandbox for testing purposes, money movements are processed almost instantly, typically within seconds or minutes. This allows clients to test payment flows quickly and repeatedly without waiting for real-world settlement times. Live settlement cycles follow actual banking and market timings, which means money movements can take longer, sometimes hours or even days, depending on the payment method, currency, and counterparty. Integration should account for these real-world delays when handling payments, status updates, and downstream processes. ## Taxes Taxes are generally not applied by default and are simulated in Sandbox. It uses a simplified, internal simulation, which affects users, account groups, and orders. For example, all users and account groups are successfully onboarded in Sandbox, regardless of tax settings. Tax rates are generally random and do not reflect real taxes, except for specific mock ISINs mentioned here. This setup allows you to test how your integration handles taxes, while keeping Sandbox lightweight and safe. Taxes in Live depend on the localisation of the end user and reflect real regulatory and fiscal rules. For example, German users will have taxes fully calculated and applied by Upvest. Unlike Sandbox, all tax calculations are consistent, predictable, and tied to the actual market and regulatory environment. ### Tax Exemptions In Sandbox, we provide two test cases related to tax exemptions: - When the end user already has a tax exemption with another client - If the end user does not have a valid Tax Identification Number (TIN) ## Reports Most treasury operations and reporting flows in Sandbox are simulated to allow safe testing without real money movement. For example, cash positions, transfers, and funding movements are represented in the system, but they may require manual intervention to fully test certain flows that, in Live, would happen automatically. Key points for clients to be aware of: - **Do not settle for treasury in Sandbox**: Upvest does not expect any settlements to be made or received for the net trading position at the end of the day. - **Manual steps**: Some flows in Sandbox that depend on “real money movement” may need extra attention or manual steps. - **Reporting**: Reports in Sandbox reflect simulated balances and movements. While useful for testing, they may not fully replicate Live reporting, especially for time-sensitive or settlement-dependent metrics. Treasury and settlement flows in the Live environment require manual operation as they are not fully automated. They are tied to actual financial operations. As such, reports reflect real-time, accurate balances and transaction states. Tenant-level configuration still applies, but Live behavior is fully representative of real operations, with the need for manual intervention. ### Best Practices - Use Sandbox to test your integration and reporting logic, but be aware of flows that depend on real settlement or money movement. - Treat Sandbox reports as **indicative**, not final and always verify Live reports against real transactions once connected. For Sandbox, settlement reports are typically generated manually by the Upvest Integration Success team upon request. Clients can also request the team to enable an automated daily scheduler for report generation. Once a report is generated, a "Treasury Operation" webhook event is triggered. This event provides the file name, enabling clients to download the report through the Files API. Because Sandbox reports are mocked and simulated, they are not checked for accuracy or formatting. For Live, Settlement reports are generated as part of the Treasury team’s daily operational routine. Each report is carefully reviewed for formatting, data consistency, and correctness before being delivered. - **BUY-dominant days**: Reports are delivered to the client by 10:00 AM on the next working day (T+1). - **SELL-dominant days**: Reports are delivered between 3:00–4:00 PM on T+2, with funds transfers following shortly thereafter. - **Corporate Actions**: Reports are delivered between 3:00–4:00 PM on the day of processing, with funds transfers following shortly thereafter. ### Key Takeaways for Clients: - In Live, reports are fully validated and time-sensitive, reflecting actual treasury operations and settlement cycles. - Integrations should handle both webhook notifications and the Files API for retrieving reports consistently across environments. ## Corporate Actions In Sandbox, corporate actions (CAs) are manually simulated to allow testing of common flows. There are some limitations compared to Live such as; - **Available ISINs may differ**: Not all active ISINs in Live are present in Sandbox. - **Edge cases are harder to replicate**: Rare or complex CAs that require manual intervention or multi-team operations in Live cannot be fully reproduced in Sandbox. You can only test common CAs unless special arrangements are made. - **CA types with limited Live data**: Some uncommon CAs are riskier to test in Sandbox, as we don’t have enough real-world data to fully simulate their behavior. - **Webhook fields**: Required fields will always appear in notifications, but optional fields may be missing in some Sandbox events. - **Taxes**: Taxes on CAs in Sandbox are simulated. Even if a value is set during creation, additional taxes or withholdings may be applied according to the simulated configuration. In Live, CAs reflect actual market events and instrument behaviors. - **All available ISINs**, including rare and complex CAs, are subject to real operational, manual, and multi-team processes. - **Webhook notifications** follow the same required vs optional field rules, but data always represents actual CA execution. - **Taxes** are applied according to real configurations and formulas, including jurisdiction-specific withholding and corporate tax rules. Disclaimer: The information in this guide is subject to change as our product features expand. We aim to keep the document frequently up to date with the latest information. Any observations and feedback from clients is welcomed.