RoundTrip Messages
RoundTrip messages follow this flow:- TON user sends transaction with assets and function call
- TAC proxy receives the call and processes it
- TAC proxy sends result assets back to the same TON user
If you expect the TAC-side transaction may revert and assets need to be bridged back to TON, you must pay fees as for a RoundTrip message.
By default, the SDK treats all messages as RoundTrip, so even if a revert occurs (e.g., due to slippage), the funds will be returned to the original TON user because the RoundTrip fee was already paid.
Message Processing
When a TON user interacts with your EVM contract:- User submits a transaction on TON with target contract, function name, and arguments
- Assets (if any) are bridged to TAC and transferred to your proxy contract
- CrossChainLayer calls your proxy function with TAC header and arguments
- Your contract can optionally send assets back to TON using
_sendMessageV1()
TAC Header Structure
Every cross-chain call includes a TAC header with verified information about the original TON transaction:Header Field Details
shardsKey: Links related cross-chain operations together. Use this in your response messages to maintain the connection. timestamp: The block timestamp from the original TON transaction. Useful for time-based logic or debugging. operationId: Unique identifier for this specific cross-chain operation. Use for logging and tracking. tvmCaller: The TON user’s wallet address. !!! Important !!! It is always base64 mainnet bounceable format and starts with “EQ”. This is your authenticated user identity - treat it likemsg.sender in regular Ethereum contracts.
extraData: For now it’s always a zero-bytes array and not used.
Decoding the Header
Asset Handling in Messages
Token Assets
Tokens are automatically transferred to your contract before your function is called:What’s Next?
Now that you understand the message flow, learn how to implement the core proxy function logic:Implementing Proxy Functions
Build the core logic that processes cross-chain calls and arguments
Fee Management
Understand how to handle protocol fees and executor payments