# Transaction initiation

This section presents the different ways you can initiate blockchain transactions from a Ripple Custody account.
It also describes the data objects created when you initiate blockchain transactions from a Ripple Custody account.

## Key concepts

The key concepts of Ripple Custody transaction initiation are:

- Transfer order
- Transaction order
- Transaction
- Transfer


### Transfer order

A **transfer order** is the recommended way of initiating transactions for simple transactions, such as sending assets. The format of a transfer order is standard for all ledgers.

### Transaction order

A **transaction order** provides a more complex way to initiate accounting transactions. You need to use a transaction order for transactions that are not supported by a transfer order, such as staking or deployment of smart contracts.

A transfer order is effectively a wrapper around a transaction order. If you create a transfer order, Ripple Custody automatically creates the transaction order for you.

### Transaction and transfer

Whichever method you use to initiate the transaction, Ripple Custody additionally creates the following internal objects to track the accounting transaction:

- A **transaction**: A record of the transaction on the ledger.
- **Transfers**: Separate records of the financial elements of the transaction, for example, one transfer for the transaction amount and one for fees paid.


Ripple creates these internal objects in the following two scenarios:

1. For outgoing transactions: When a new transaction order is created, either manually by a user or internally by Ripple.
2. For incoming transactions: When you receive assets, such as a transfer of funds from a sending partner.


You can see when each of these objects are created in the following workflows.

## Outgoing transaction objects

### Transfer order

This diagram shows the transaction objects created by the user and Ripple Custody during outgoing transactions initiated with a transfer order:

![](/assets/transfer-order-objects.8155a84371822ccf6cc0996584493a828824c838f58930f28da959a0adbcb962.ca524775.png)

### Transaction order

This diagram shows the transaction objects created by the user and Ripple Custody during outgoing transactions initiated with a transaction order:

![](/assets/transaction-order-objects.2b50e423f470659f57671c09794ee4bec202cbfd3f6a852321c7dcbac40a9dd4.ca524775.png)

## Incoming transaction objects

This diagram shows the transaction objects created by Ripple Custody during incoming transactions initiated by an external counterparty:

![](/assets/incoming-transaction-objects.f3ac9046865bafac25cf1c09432920df0a047131b98e62f25dc210b66e786c5a.ca524775.png)