> For the complete documentation index, see [llms.txt](https://circular-protocol.gitbook.io/standard-apis/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://circular-protocol.gitbook.io/standard-apis/api-docs/typescript/transferring-an-asset.md).

# Transferring an Asset

This specific transaction type is designed for transferring a specified amount of an available asset from one sending wallet to a recipient wallet. In this scenario, the transaction body and payload will be structured as follows:

```typescript
var From = [From];
var To = [To];
var Timestamp = Circular.getFormattedTimestamp();
var "Payload" = '{
                   "Action":"CP_SEND",
                   "Asset":[Name of the Asset],
                   "Amount":[Amount to be transferred],
                   "Fee":[Fee]
                   }';

var ID = "0x" + sha256( From + To + Payload + Timestamp);
var Nonce = [Nonce];
var Signature = Circular.SignMessage(PrivateKey, ID);
var PublicKey = [PublicKey];
var Blockchain = [Blockchain];
var Type = "C_TYPE_TOKEN";  
```

\
For this specific transaction type, the Payload undergoes parsing and processing to execute the intended operation. In this case, the operation is a CP\_SEND transfer, where the asset specified by name is moved to the "To" wallet.&#x20;

If the asset being transferred is the native coin "**CIRX**," the transaction type is labeled as `C_TYPE_COIN`. For all other tokens, it is identified as `C_TYPE_TOKEN`. In the case of CIRX coins, the Asset name will be "Circular Coin." The amount to be transferred is represented as a floating-point number with double precision, indicating the quantity of the asset destined for the recipient wallet.

The "fee" field allows the sender to include an optional fee, indicating their willingness to pay to expedite the transaction's inclusion in the next block. If the fee is set to zero, a nominal fee is applied, giving the transaction the lowest priority in block inclusion.&#x20;

Please note that even with an additional fee, there is no guarantee of immediate inclusion in the next block. Subsequently, the payload is converted into a string format and must be encoded in Hex without the "0x" hexadecimal identifier.


---

# 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://circular-protocol.gitbook.io/standard-apis/api-docs/typescript/transferring-an-asset.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.
