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 is4217. USDC.E on Tempo is 0x20c000000000000000000000b9537d11c60e8b50.
Step 1: Get the Tempo wallet address
Run this to get the user’s Tempo wallet address:receiverAddress in the quote request. This is the address that will receive USDC.E on Tempo.
Step 2: Check what the user has
Ask the user for their wallet address on the origin chain, then check their balances:Step 3: Get a deposit quote
originChainId: the chain the user’s tokens are oninputToken: the token address on that chainoutputToken: always0x20c000000000000000000000b9537d11c60e8b50(USDC.E on Tempo)inputAmount: amount in the token’s smallest unit (e.g. 6 decimals for USDC, so100000000= 100 USDC)receiverAddress: the user’s Tempo wallet addressrefundAddress: the user’s address on the origin chainenableDepositAddress: alwaystrue
- 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 4: Present deposit instructions
From the response, present clearly to the user:- Amount: convert
deposit.depositData.amountto human-readable usingresult.input.token.decimals - Token:
result.input.token.symbol - Send to:
deposit.depositData.address - On chain:
deposit.depositData.chainId - You will receive:
deposit.output.effectiveAmountconverted withdeposit.output.token.decimalsUSDC.E on Tempo - Estimated time:
deposit.estimatedTimeseconds - Track:
https://socketscan.io/tx/{deposit.requestHash}
deposit.txData as a transaction instead.
Step 5: Track status
3 or 4 = completed. Status 5, 6, or 7 = failed. Poll every 10 seconds.
Notes
- Always use
enableDepositAddress=true. refundAddressis 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.