---
title: "Move USDC between the managed wallet's networks"
method: POST
path: "/moveAgentWalletFunds"
tags: ["Agent Wallet"]
---

# Move USDC between the managed wallet's networks

`POST /moveAgentWalletFunds`

## Request

- Base URL: `https://laso.finance`
- URL: `https://laso.finance/moveAgentWalletFunds`
- Auth: API key in header `Authorization`

Moves USDC between the managed wallet's own Solana and Base sides, and returns once it has arrived (usually within 10 seconds). Optional: payments and transfers already move what they need automatically. Use it to fund Base ahead of a run of Base payments, so none of them waits on a move, or to bring everything back to Solana.

`from` is the network the USDC leaves, and it arrives on the other one. The 0.075% fee comes out of `amount`, so `amount` is what leaves and slightly less arrives. The minimum is \$0.10. The money never leaves the account's own wallets, so the spend limit does not apply.

A Firebase callable. Callables wrap the request in `{"data": ...}` and the reply in `{"result": ...}`. Send the `id_token` from `/auth` as a Bearer token. Free apart from the move's own fee.

## Request body

- object
  - `data` object, required
    - `userId` string, required: The Laso user id (the `usr_...` value from /auth).
    - `from` 'solana' | 'base', required: The network the USDC leaves. It arrives on the other one.
    - `amount` string, required: Decimal USDC string. The fee comes out of it.

## Response `200`

The `moveId`, `from`, `to`, `sentUsdc`, and `receivedUsdc`.

- object
  - `result` object

## Other responses

- `400`: A required field is missing or invalid, or the `from` side holds less than `amount`.
- `401`: Missing, invalid, or expired Bearer token.

---

[API](https://skmtc.dev/laso/apis/laso-finance-x402-api.md) · [All operations](https://skmtc.dev/laso/apis/laso-finance-x402-api/llms.txt) · [OpenAPI document](https://skmtc.dev/laso/apis/laso-finance-x402-api/revisions/ff8ce20b49ba?raw)
