approve on the native token. So a native-source Delta order adds one on-chain transaction to the flow: the user deposits the ETH into the Delta contract, where it’s held as dETH (the Delta Wrapped Native token, 1:1), and that same transaction authorizes the order — no ERC-20 approval and no off-chain signature needed.
Everything else — quote, build, submit, auction, settlement — is the standard Delta swap flow.
How it differs from an ERC-20 source
The swap itself is still gasless and MEV-protected — the one gas-paying step is the deposit, playing the role the
approve transaction plays for an ERC-20. And if the user already holds enough dETH (from an earlier deposit or an unfilled order), no deposit is needed at all: the standard sign-and-submit flow works verbatim and the whole trade is gasless.
The flow
1
Quote
GET /v2/quote?mode=DELTA with srcToken=0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE. Nothing native-specific in the request or response.2
Build
POST /v2/delta/orders/build with the delta.route verbatim, as usual. Keep the returned orderHash — the deposit transaction needs it.3
Submit with signature “0x”
POST /v2/delta/orders with the built order and signature: "0x". There is nothing to sign off-chain; the order is stored in status AWAITING_SIGNATURE and waits for the on-chain authorization.4
Deposit and pre-sign in one transaction
The user sends
depositNativeAndPreSign(orderHash) to the Delta contract with value equal to the order’s srcAmount. It wraps the ETH into dETH and registers the order hash as pre-signed, in one transaction.5
Auction and settlement
Velora picks up the deposit event, validates the order, and moves it to
PENDING. From there it runs through the auction and settles like any other Delta order. Poll GET /v2/delta/orders/{orderId} as usual.AWAITING_SIGNATURE within a few seconds. Submitting the order before sending the deposit is the intended ordering — it gives Velora the order hash to watch for.
If the user already holds dETH
dETH deposited earlier — say, from a cancelled order — funds new orders directly. If the user’s dETH balance covers srcAmount, skip the deposit: have them sign toSign off-chain and submit with the real signature, exactly like an ERC-20 source. No approval is needed either way; the Delta contract has built-in access to dETH balances for settling signed orders.
When the order doesn’t fill
- Expired: Velora automatically returns the deposited ETH to the owner’s wallet. The order’s status becomes
REFUNDED— for a native-source order this is a normal outcome, not a bridge failure. (TWAP orders are the exception: an expired native TWAP is not auto-refunded; the remaining balance stays asdETHfor the user to unwrap.) - Cancelled: cancellation invalidates the order but does not move funds. The deposit stays as
dETH, which the user can spend on a new order or unwrap back to ETH at any time (see below). - Partially filled: the unfilled remainder stays as
dETH, same as a cancellation.
Buying native ETH
Native ETH as the destination token needs none of the above. Use the same placeholder asdestToken, and the beneficiary receives actual ETH — not dETH or WETH — at settlement. There’s no unwrap step to build. One caveat: if the beneficiary is a smart contract, it must accept plain ETH transfers (a payable receive/fallback), or settlement will fail.
What dETH is
dETH is an ERC-20 (the DeltaWrappedNative contract) that wraps the chain’s native token 1:1: ETH on Ethereum, BNB on BSC, and so on. Its underlying is the chain’s wrapped native (WETH), so dETH and native are interchangeable at a 1:1 rate.
The Delta contract has built-in access to dETH balances — that’s what lets a native order settle with no ERC-20 approval: at settlement the user’s dETH is burned and the ETH goes to the winning solver’s fill. dETH is deployed alongside the Delta contract and lives at the same address on every Delta chain:
srcToken; on any chain where native isn’t enabled as a Delta source, the quote fails with ETH as source token is not supported. The Chains & contracts table is the canonical list of Delta-enabled chains. Where Delta isn’t deployed, use a Market swap instead.
Unwrapping back to ETH
dETH works like WETH in both directions, so a deposit is never a lock-in. Any dETH a user holds can be unwrapped back to native ETH at any time, 1:1, by calling withdrawNative on the dETH contract:
dETH and sends native ETH to receiver. depositNative is the reverse (and sending ETH straight to the contract wraps it automatically). dETH is also a normal ERC-20, so a user can instead swap it to anything through a Market swap. In the Velora app that’s a prefilled swap link, for example dETH to ETH on Ethereum:
dETH can also hold yield-bearing positions for Productive orders, where the wrapped balance earns yield in a strategy while the order rests. That’s a separate, advanced flow and isn’t covered here.Related pages
- Delta swap: the full source-to-destination flow native ETH plugs into.
- Trading modes covers when to use Delta vs Market.
- Delta → How it works for the auction and settlement model.
- Chains & contracts for supported chains and contract references.