Ethereum Sepolia bridge
Swap between Ethereum Sepolia (chain id 11155111) and NEAR testnet through Tidepool's testnet relayer, with 1Click-style deposit addresses, status and refunds.
Contracts
| What | Address |
|---|---|
| Chain | Ethereum Sepolia, chain id 11155111, blockchain: "eth" |
| Vault | 0xc387E121e0aF273D83c20B1d286c12F5C3294f38 |
| Test USDC (6 decimals) | 0x2e6AD9E6D59bB4585ea0E6762c3b637dde29DAD2 |
| Test USDT (6 decimals) | 0x650F12bA31777DE8Ded47287a8CC86bE737646fe |
| Relayer | 0x55F2c8044D790e1b8369508c31c756c0c2Ca0E93 |
| Asset id | NEP-141 on NEAR testnet |
|---|---|
nep141:eth-0x2e6ad9e6d59bb4585ea0e6762c3b637dde29dad2.tp-omft.testnet | USDC on Ethereum Sepolia |
nep141:eth-0x650f12ba31777de8ded47287a8cc86be737646fe.tp-omft.testnet | USDT on Ethereum Sepolia |
Both appear in GET /v0/tokens with blockchain: "eth" and contractAddress set to the ERC-20.
1. Get tokens and gas
curl -X POST https://www.usetidepool.tech/v0/faucet -H 'content-type: application/json' \
-d '{"chain":"eth","address":"0xYourAddress"}'This mints 100 test USDC and 100 test USDT on Ethereum Sepolia. It is also in the dropdown on the Faucet page. To get the bridged USDC and USDT into your NEAR intents balance instead, use {"accountId":"alice.testnet","mode":"intents","assets":["eth"]}. You can also call faucet() on either token contract yourself (once per hour per address). Gas is not included: get Ethereum Sepolia ETH from a public faucet.
2. Ethereum Sepolia → NEAR
const quote = await OneClickService.getQuote({
dry: false, swapType: 'EXACT_INPUT', slippageTolerance: 100,
originAsset: 'nep141:eth-0x2e6ad9e6d59bb4585ea0e6762c3b637dde29dad2.tp-omft.testnet',
destinationAsset: 'nep141:wnear.tidepool-sandbox.testnet',
amount: '10000000', // 10 USDC
depositType: 'ORIGIN_CHAIN', refundTo: '0xYourAddress', refundType: 'ORIGIN_CHAIN',
recipient: 'you.testnet', recipientType: 'DESTINATION_CHAIN',
deadline: new Date(Date.now() + 30 * 60_000).toISOString(),
});
// quote.quote.depositAddress is a 0x address on Ethereum Sepolia. Send the ERC-20 there:
// usdc.transfer(quote.quote.depositAddress, 10_000000n)
await OneClickService.submitDepositTx({ txHash: '0x…', depositAddress: quote.quote.depositAddress });The relayer sweeps the deposit into the vault, mints the bridged NEP-141 and credits it to the verifier with a normal ft_transfer_call. The swap then settles exactly like a NEAR-only swap. Status goes PENDING_DEPOSIT → KNOWN_DEPOSIT_TX → PROCESSING → SUCCESS, usually within a minute.
Full quote request and response
The request below sets every required field (plus depositMode: "MEMO" where this route needs it). It is a dry quote, so nothing is created. The response is the real, complete body from the live deployment on 2026-10-30; prices move, so your amounts will differ. Optional fields such as appFees or referral are in Swap types.
curl -X POST https://www.usetidepool.tech/v0/quote -H 'content-type: application/json' -d '{
"dry": true,
"swapType": "EXACT_INPUT",
"slippageTolerance": 100,
"originAsset": "nep141:eth-0x2e6ad9e6d59bb4585ea0e6762c3b637dde29dad2.tp-omft.testnet",
"depositType": "ORIGIN_CHAIN",
"destinationAsset": "nep141:wnear.tidepool-sandbox.testnet",
"amount": "10000000",
"refundTo": "0x2527D02599Ba641c19FEa793cD0F167589a0f10D",
"refundType": "ORIGIN_CHAIN",
"recipient": "user.testnet",
"recipientType": "DESTINATION_CHAIN",
"deadline": "2030-01-01T00:00:00.000Z"
}'{
"correlationId": "dadabee5-f7ed-414f-90d3-64cdb0ad96f6",
"timestamp": "2026-10-30T16:28:48.615Z",
"quoteRequest": {
"dry": true,
"swapType": "EXACT_INPUT",
"slippageTolerance": 100,
"originAsset": "nep141:eth-0x2e6ad9e6d59bb4585ea0e6762c3b637dde29dad2.tp-omft.testnet",
"depositType": "ORIGIN_CHAIN",
"destinationAsset": "nep141:wnear.tidepool-sandbox.testnet",
"amount": "10000000",
"refundTo": "0x2527D02599Ba641c19FEa793cD0F167589a0f10D",
"refundType": "ORIGIN_CHAIN",
"recipient": "user.testnet",
"recipientType": "DESTINATION_CHAIN",
"deadline": "2030-01-01T00:00:00.000Z"
},
"quote": {
"amountIn": "10000000",
"amountInFormatted": "10",
"amountInUsd": "9.9976",
"minAmountIn": "10000000",
"amountOut": "2298519836027713650880000",
"amountOutFormatted": "2.29851983602771365088",
"amountOutUsd": "9.9526",
"minAmountOut": "2275534637667436514371200",
"timeEstimate": 60
},
"signature": "ed25519:5S3PumxafRWfBCLmfPbdUDo2Eh4HhP5rvBoutsUKrPnrJ2ixtTzAZaLC3xcbUDQrbcFPhs4RR2oxweFsneQzgUGJ"
}With "dry": false and a deadline between a minute and a day ahead, the quote also carries depositAddress, deadline and timeWhenInactive. See Quotes and pricing and the status response for what comes back after the deposit.
3. NEAR → Ethereum Sepolia
Quote with destinationAsset: 'nep141:eth-0x2e6ad9e6d59bb4585ea0e6762c3b637dde29dad2.tp-omft.testnet', recipient: '0xYourAddress' and recipientType: 'DESTINATION_CHAIN', then deposit on NEAR as usual. The verifier ft_withdraws the bridged token to the relayer, which calls release on the vault. Status stays PROCESSING until the Ethereum Sepolia payout confirms, then turns SUCCESS with the payout in destinationChainTxHashes.
Runnable: EVM_PRIVATE_KEY=0x… EVM_CHAIN=eth RECIPIENT=you.testnet WITHDRAW=1 npm run evm-deposit in tidepool-examples. It deposits USDC on the EVM chain, receives wNEAR on NEAR, and with WITHDRAW=1 sends it back. Use a testnet-only key with a little gas ETH.
Refunds
Refunds follow the same rules as NEAR-only swaps (DEADLINE_PASSED, PARTIAL_DEPOSIT, overpay). A refund of an EVM deposit with refundType: "ORIGIN_CHAIN" is paid back from the vault to refundTo on Ethereum Sepolia.
Tested round trips
| Route | Transaction |
|---|---|
| Sepolia USDC → NEAR USDC | 0x3404c94c… |
| NEAR USDC → Sepolia USDC | 0x6d9c55a2… |
Community-built · not affiliated with NEAR. Tidepool is community-built and not affiliated with NEAR, Defuse or 1Click. Testnet only; test tokens have no value. Built by @realchriswilder.
Arbitrum Sepolia bridge
Swap between Arbitrum Sepolia (chain id 421614) and NEAR testnet through Tidepool's testnet relayer, with 1Click-style deposit addresses, status and refunds.
Solana devnet bridge
Swap between Solana devnet and NEAR testnet through Tidepool's testnet relayer, with 1Click-style deposit addresses, status and refunds. Native SOL (capped at 0.005 SOL) plus Tidepool test USDC and USDT.