# TON Raw Transactions Use the raw transaction format to create arbitrary TON transactions. For simple transfers, consider using the dedicated higher-level format (see [TON Transfers](/developers/transaction-types/ton-transfers)). To invoke a call to a smart contract using the Fordefi platform, pass the `transaction_payload` with the relevant information, as described here: - `valid_until`: The transaction’s expiration time - `network`: The transaction’s network. Currently only -239 is supported (TON mainnet). - `messages`: The transaction’s messages. Each message should have the following fields: - `address`: The receiver of the message - `payload`: The payload of the message - `state_init`: The `state_init` structure contains all the necessary information required to create the initial state of a smart contract. Here’s an example: ```jsx { "vault_id": "432b199b-1f71-42bf-ba0b-33d512afa9de", "note": "string", "signer_type": "initiator", "sign_mode": "auto", "type": "ton_transaction", "details": { "type": "raw_transaction", "fail_on_prediction_failure": true, "push_mode": "auto", "transaction_payload": { "valid_until": "value", "network": "1000000000000000000", "messages": [ { "address": "UQAouB_61QHD91MifxjhbQmBNwulJ9_AA0cUEydZIAcfq52c", "amount": "1000000000000000000", "payload": "te6cckEBAgEAhwABbQ+KfqUAAAC7KyChSkC+vCAIAO87mQKicbKgHIk4pSPP4k5xhHqutq…", state_init: "", }, ] }, "chain": "ton_mainnet", "skip_prediction": false } } ```