<!-- tempo-docs-context -->
> Source: [/docs/api/transactions-and-transfers](https://tempo.xyz/developers/docs/api/transactions-and-transfers.md)
> Section: [API reference](https://tempo.xyz/developers/docs/api.md). Tempo API reference: authentication, conventions, endpoints grouped by product, Console management endpoints, JSON-RPC, and the indexer. An API key authenticates API requests; an account signing key authorizes transactions.
> [Documentation index](https://tempo.xyz/developers/llms.txt) · [Docs skill](https://tempo.xyz/developers/SKILL.md)

> Tempo MCP: Use `search`, `find_pages`, `read_page`, and `code` at `https://mcp.tempo.xyz` for Tempo and related documentation.
> If an indexed page is missing or reflects an older site, read this site’s [documentation index](https://tempo.xyz/developers/llms.txt) and Markdown pages directly.

<span id="the-data-model-for-transactions-and-transfers" />

# Transactions and transfers

A transaction is a signed submission to Tempo. A token transfer is a movement of tokens caused by executing a transaction. Query transactions to inspect execution and fees; query transfers to reconcile token movements.

## Tempo transaction and transfer model

One transaction can produce zero, one, or many transfers. For example, a payment may produce one transfer, a swap may produce several, and a contract update may produce none. Each transfer carries the `transactionHash` of the transaction that produced it.

## When to use transactions or transfers

| Record | Endpoint | Use it to |
| --- | --- | --- |
| Transaction | [`/v1/transactions`](https://tempo.xyz/developers/docs/api/transactions) | Inspect submitted transactions, execution status, and fees. |
| Token transfer | [`/v1/transfers`](https://tempo.xyz/developers/docs/api/transfers) | Identify the sender, recipient, token, and amount for reconciliation. |

A payment is your application's business record. Associate it with the relevant transaction hashes and transfer events. A successful transaction alone does not establish that the intended recipient received the payment; follow [Receive a payment](https://tempo.xyz/developers/docs/guide/payments/accept-a-payment) to verify delivery.

A [Routes transfer](https://tempo.xyz/developers/docs/routes/transfers) tracks a cross-network workflow and has its own ID and delivery status. It can involve transactions on more than one network.
