Skip to main content
Tempo is a chain purpose-built for autonomous agents. To get started, your agent needs funds on Tempo. Bungee handles the migration — any token from any supported EVM chain arrives as USDC.E on Tempo.

Get the skill

The fund-tempo skill gives your agent everything it needs to migrate funds to a Tempo wallet: balance checks, deposit quotes, transaction execution, and status tracking.
curl https://docs.bungee.exchange/for-agents/fund-tempo.md
---
name: fund-tempo
description: "Use when the user wants to fund a Tempo wallet, bridge tokens to Tempo, top up Tempo, move assets to Tempo, or exit to Tempo from any EVM chain. Also matches: migrate to Tempo, transfer to Tempo, deposit to Tempo."
---

# fund-tempo

Bridge tokens from any EVM chain to a Tempo wallet. All tokens arrive as USDC.E on Tempo. Powered by Bungee.

Tempo chain ID is `4217`. USDC.E on Tempo is `0x20c000000000000000000000b9537d11c60e8b50`.

## Step 1: Check what the user has

Ask the user for their wallet address, then check their balances:

```
GET https://public-backend.bungee.exchange/api/v1/tokens/list?userAddress=0xUSER_ADDRESS
```

This returns all tokens with balances across all chains. Use this to confirm what the user has and on which chain.

## Step 2: Get a deposit quote

```
GET https://public-backend.bungee.exchange/api/v1/bungee/quote?originChainId=ORIGIN_CHAIN&destinationChainId=4217&inputAmount=AMOUNT&inputToken=INPUT_TOKEN&outputToken=0x20c000000000000000000000b9537d11c60e8b50&receiverAddress=TEMPO_ADDRESS&refundAddress=USER_ADDRESS&enableDepositAddress=true
```

- `originChainId`: the chain the user's tokens are on
- `inputToken`: the token address on that chain
- `outputToken`: always `0x20c000000000000000000000b9537d11c60e8b50` (USDC.E on Tempo)
- `inputAmount`: amount in the token's smallest unit (e.g. 6 decimals for USDC, so `100000000` = 100 USDC)
- `receiverAddress`: the user's Tempo wallet address
- `refundAddress`: the user's address on the origin chain
- `enableDepositAddress`: always `true`

**Common USDC examples:**

- 100 USDC from Base: `originChainId=8453&inputToken=0x833589fcd6edb6e08f4c7c32d4f71b54bda02913&inputAmount=100000000`
- 100 USDC from Arbitrum: `originChainId=42161&inputToken=0xaf88d065e77c8cc2239327c5edb3a432268e5831&inputAmount=100000000`
- 100 USDC from Ethereum: `originChainId=1&inputToken=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48&inputAmount=100000000`
- 100 USDC from Optimism: `originChainId=10&inputToken=0x0b2c639c533813f4aa9d7837caf62653d097ff85&inputAmount=100000000`
- 100 USDC from Polygon: `originChainId=137&inputToken=0x3c499c542cef5e3811e1192ce70d8cc03d5c3359&inputAmount=100000000`

## Step 3: Present deposit instructions

From the response, present clearly to the user:

- **Amount**: convert `deposit.depositData.amount` to human-readable using `result.input.token.decimals`
- **Token**: `result.input.token.symbol`
- **Send to**: `deposit.depositData.address`
- **On chain**: `deposit.depositData.chainId`
- **You will receive**: `deposit.output.effectiveAmount` converted with `deposit.output.token.decimals` USDC.E on Tempo
- **Estimated time**: `deposit.estimatedTime` seconds
- **Track**: `https://socketscan.io/tx/{deposit.requestHash}`

If the agent has wallet access, submit `deposit.txData` as a transaction instead.

## Step 4: Track status

```
GET https://public-backend.bungee.exchange/api/v1/bungee/status?requestHash=REQUEST_HASH
```

Status `3` or `4` = completed. Status `5`, `6`, or `7` = failed. Poll every 10 seconds.

## Notes

- Always use `enableDepositAddress=true`.
- `refundAddress` is required. Use the user's address on the origin chain.
- Amounts are in smallest units (6 decimals for USDC: 1 USDC = 1000000).
- Tempo has no native gas token. Gas fees are paid in the user's chosen fee token.

What the skill does

  1. Checks balances across all chains for the user’s wallet.
  2. Gets a deposit quote to bridge tokens to Tempo (chain 4217).
  3. Executes the transfer programmatically or displays deposit instructions.
  4. Tracks status until the funds arrive as USDC.E on Tempo.
All tokens are converted to USDC.E on arrival. Your agent can bridge ETH, USDC, USDT, or any supported token from any EVM chain.

Learn more