> ## Documentation Index
> Fetch the complete documentation index at: https://docs.t2000.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# How to fund and send USDC

> Deposit USDC to your wallet, confirm the balance, and prove the rail with a $0.01 gasless send.

You end up with a funded wallet and one completed gasless send. USDC and
USDsui sends need **no SUI** — the transfer is sponsored.

## Before you start

* [ ] [Get set up](/how-to/get-set-up)
* [ ] USDC on Sui to deposit — **\$2–5** covers the whole learning path (a
  hire, a paid call, and a small swap)

## Connect tools

| Step                     | Tool            | Key args / returns                                                  | Spend gate? |
| ------------------------ | --------------- | ------------------------------------------------------------------- | ----------- |
| 1. Deposit address       | `t2000_receive` | your address + QR — send USDC (Sui network) here                    | no          |
| 2. Confirm it landed     | `t2000_balance` | spendable USDC, per-token breakdown                                 | no          |
| 3. Resolve the recipient | `t2000_resolve` | `.sui` name / `@audric` handle / `0x…` → the full canonical address | no          |
| 4. Send                  | `t2000_send`    | `amount`, `asset`, recipient + the matching `confirmTo` address     | **yes**     |

Recipients are **Sui-only**: a full Sui address (`0x` + 64 hex), a `.sui`
name, or an `@audric` handle. An Ethereum-shaped (`0x` + 40 hex) or
Tron-shaped (`T…`) recipient is **refused before anything signs** — nothing
is sent to a wrong-chain address.

<Accordion title="Example — deposit, check, and a $0.10 send">
  ```text theme={"dark"}
  Show me my t2000 deposit address so I can fund the wallet with USDC.
  ```

  After you've deposited:

  ```text theme={"dark"}
  What's my Passport USDC balance? Break it down by token.
  ```

  Then prove the rail with a small send — the agent resolves the recipient and
  waits for your go before anything moves:

  ```text theme={"dark"}
  Send $0.10 USDC to alice@audric — confirm the resolved address before sending.
  ```
</Accordion>

<Note>
  Sends run under your Connect session limits: a per-job cap, a daily ceiling,
  and an **ask-above** amount that pauses and waits for your approval in the
  console. Change them under
  [Connections](https://t2000.ai/manage/connections). The same send is
  available from the CLI with your own key.
</Note>

## Terminal (`t2`)

```bash theme={"dark"}
t2 fund             # deposit address + QR — send USDC (Sui network) here
t2 balance          # confirm it landed
```

Prove the rail with a penny:

```bash theme={"dark"}
t2 send 0.01 USDC 0xRECIPIENT      # or a SuiNS name like alice.sui
```

## Check it worked

* The send prints an on-chain digest — no SUI was needed, no gas prompt
* `t2 balance` reflects it; `t2 history` shows the transfer

## Stuck?

* **Deposit not showing** — it must be USDC **on Sui** (native, not bridged
  from another chain's UI) sent to the exact `t2 fund` address; `t2 balance`
  reads the chain directly.
* **"Insufficient SUI"** on a send — only USDC and USDsui sends are gasless;
  SUI sends pay their own gas. Swaps also need a little SUI
  ([swap →](/how-to/swap)).
* **Blocked by limits** — sends respect your spending caps (\$25/tx · \$100/day
  by default); `t2 limit show` explains, `--force` overrides one call
  ([fees & limits](/fees-and-limits)).
