> For the complete documentation index, see [llms.txt](https://wallet-docs.catfee.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wallet-docs.catfee.io/catfee-guard/transaction-workflow.md).

# Transaction Workflow

This page describes the standard flow in `CatFee Guard`, from transaction creation to broadcasting.

## High-Level Flow

The transaction lifecycle in `CatFee Guard` can be summarized as:

1. Create a transaction online
2. Generate a pending signing task
3. Complete signing with an offline signer
4. Import the signature result back
5. Broadcast after signing conditions are satisfied

## Wallet Dashboard

`WalletDashboardPage` provides a workspace-style overview rather than a standard wallet homepage.\
It displays:

* Pending signing count
* Transaction count created by the current user
* Signed count
* Bound signer count

It also provides a shortcut for creating a transaction.

## Create A Transaction

`CreateTransferPage` covers the core transaction-creation flow. The current code reflects a three-step wizard:

1. Select chain and asset type
2. Fill in transaction details
3. Select permission

During transaction creation, the page handles:

* Selecting the chain
* Selecting a native asset or token
* Choosing sender and recipient addresses
* Entering the amount and memo
* Fetching available permission options
* Generating a preview
* Submitting the transaction

This means `CatFee Guard` is not just a viewer for existing transactions. It is also the transaction creation entry point.

## Signing Tasks

`TransactionListPage` shows the list of pending transactions and supports these key actions:

* View transaction details
* Select an available signer
* Import offline signature results
* Broadcast a transaction when conditions are met

Based on the code, the workspace provides signer choices using `available_signers` or `available_signer_addresses` on the transaction.

## Import Offline Signatures

When a user chooses a pending transaction for signing, the workspace does not sign inside the webpage directly. Instead, it:

1. Generates an offline signing request
2. Uses `Offline Signer` on the phone to complete signing
3. Returns `signature_result_text` to the workspace
4. Calls `/api/transactions/{id}/offline-signatures` to import the result

## Broadcast Transactions

After signatures are imported, the workspace can call the broadcast endpoint once the transaction satisfies on-chain signature weight or permission requirements.

That makes `CatFee Guard` the final coordination surface for transaction execution:

* It gathers signers first
* Creates and distributes transactions in the middle
* Decides when to broadcast at the end

## Signed List And Audit

In addition to pending lists and personal transactions, the workspace also provides:

* `Signed List`: inspect transactions that have already been signed
* `Audit Log`: review records related to transaction or signer operations

These views are important for internal operations, support, and issue investigation.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://wallet-docs.catfee.io/catfee-guard/transaction-workflow.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
