# Execution

Trades execute entirely between users. First, the user sends their trade request and balance state to the counterparty. If the margin requirements are met, the counterparty signs and transmits the new balance states of both the user and itself. Finally, the user cosigns both balance states and propagates the complete versions back to the counterparty.

If a dishonest or latent participant does not sign balance states during the handshake, then the opposing user may execute their balance state onchain. For convenience, users can trade against a common counterparty which is always assumed to be live.

The process of signing is nearly instant, resulting in sub-millisecond finality in co-geographically located clients. Because users self-validate, VDEXCore execution is trustless and atomic. The peer-to-peer nature of trading creates a darkpool from which external market participants are unable to view transactions.&#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.vdex.trade/introduction/virtual-rollups/execution.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
