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

# Send USDC across chains

> Move USDC from Base to OP Mainnet with a signed Routes API quote, funding, and delivery tracking.

Use an exact-input quote to send USDC from Base to OP Mainnet. The [Routes API walkthrough](/get-started/integrate-routes-api) provides the request code and explains quote verification, funding, and tracking.

## Prerequisites

* A server-side API key enabled for v1
* A Base wallet with USDC and ETH for approval and funding transactions
* The recipient's OP Mainnet address
* The current [supported chain and token configuration](/resources/supported-chains-tokens)

## Configure the transfer

| Quote field | Value |
| - | - |
| `type` | `exact-in` |
| `source.chainId` | `8453` (Base) |
| `source.token` | `0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913` |
| `source.amount` | `1000000` (1 USDC) |
| `source.funder` | Your Base wallet |
| `destination.chainId` | `10` (OP Mainnet) |
| `destination.token` | `0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85` |
| `destination.recipient` | Your recipient's OP Mainnet address |
| `slippage` | `0.005` (0.5%) |
| `dappId` | Your integration identifier |

The example amount is illustrative; quote availability and fees depend on the request. Check the returned `amountOut`, `minAmountOut`, fees, and expiry before funding.

## Complete the transfer

1. [Request and verify the quote](/get-started/integrate-routes-api#request-a-quote). Verify the signed intent hashes and check that the funding transaction and delivery route match your request.
2. Approve USDC to the returned funding transaction's Portal when needed. Wait for a successful approval receipt, then estimate gas and send the funding transaction before the quote expires.
3. Track the delivery intent with [`GET /v1/intents/status`](/api-reference/v1/intent-status). For a direct transfer, this is the quote's `intentHash`; inspect `steps[]` for routes with multiple intents.
4. Confirm `filled` or `settled` on the delivery intent. A successful funding receipt alone does not confirm destination delivery.

The [reference implementation](/api-reference/agent-integration#reference-script) uses this Base-to-OP pair by default and stops after quote verification unless execution is explicitly enabled.

## Troubleshooting

* `401` or `403`: check your API key and v1 access.
* `502 solver-error`: no usable quote was returned. Check the token pair and amount; retry within a bounded budget.
* An expired quote: request and verify a fresh quote before funding.
* `refundable` or `expired`: inspect the refund path. These states do not mean the source funds have returned.

## Next steps

* [Gasless funding endpoints](/api-reference/v1/submit-erc-3009)
* [Treasury rebalancing](/cookbook/treasury-rebalancing)
* [Errors and retries](/api-reference/errors)
