> For the complete documentation index, see [llms.txt](https://archer-bot.gitbook.io/archer.bot/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://archer-bot.gitbook.io/archer.bot/intents/send-tokens.md).

# Send Tokens

A send transfers tokens to another wallet address **on the same chain**.

## Basic Sends

* *"Send 0.1 ETH to 0x742d...2bD18 on Ethereum"*
* *"Send 50 USDC to 0xABC...DEF on Arbitrum"*
* *"Transfer 2 SOL to 7xYz...abc on Solana"*

## Send All / Max

* *"Send all my USDC on Base to 0x..."*
* *"Send my entire SOL balance to 7xYz..."*

For native tokens, Archer reserves enough for gas. For ERC-20 / SPL tokens, the full balance moves.

## USD-Denominated Sends

* *"Send $25 worth of ETH to 0x... on Arbitrum"*

Archer prices the token live and converts.

## Safety Checks

Sends are the easiest way to lose funds in Web3. Archer enforces three guardrails before any send executes:

1. **Contract address blocking.** If the destination address is a known contract (a token contract, a DEX router, a bridge contract, etc.), the send is blocked with an explanation. Sending tokens to a contract that's not designed to receive them is a permanent loss.
2. **Self-send warning.** If the destination matches one of your own wallets (primary or connected), Archer surfaces a warning before confirming.
3. **Spam token check.** If the token you're sending is flagged as spam, the send is blocked — see [Token Safety & Spam Detection](/archer.bot/intents/token-safety-and-spam-detection.md).

## Consolidation Sends (External → Embedded)

A special case: moving funds from a *connected* external wallet into your *embedded* Archer wallet.

* *"Send all my USDC from my connected wallet to my Archer wallet on Base"*

This send opens your external wallet's native popup (MetaMask, Phantom, etc.) for approval — Archer cannot sign on behalf of an external wallet. Once it confirms, the funds land in your primary wallet and are ready for swaps and bridges.

Consolidation sends are **only available in the web app** — MCP/headless clients can't render external wallet popups.

## Address Format Validation

Archer validates the destination address against the chain's format:

* **EVM chains:** must be a valid `0x...` address with a correct checksum
* **Solana:** must be a valid base58 public key

Invalid addresses are rejected before the confirmation modal appears.

## Sample Output Structure (MCP / API)

```json
{
  "status": "OK",
  "transactionRequest": {
    "to": "0xRecipient...",
    "data": "0xa9059cbb...",
    "value": "0",
    "chainId": 42161,
    "signingTarget": "primary"
  },
  "humanSummary": "Send 50 USDC to 0xABC...DEF on Arbitrum",
  "amount": "50.00",
  "amountUsd": "50.00",
  "token": "USDC",
  "destinationType": "wallet",
  "gasEstimateUsd": "0.02"
}
```


---

# 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://archer-bot.gitbook.io/archer.bot/intents/send-tokens.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.
