diff --git a/src/custom/components/AccountDetails/Transaction/CancelationModal.tsx b/src/custom/components/AccountDetails/Transaction/CancelationModal.tsx index 6aad1732d1..98538b3d74 100644 --- a/src/custom/components/AccountDetails/Transaction/CancelationModal.tsx +++ b/src/custom/components/AccountDetails/Transaction/CancelationModal.tsx @@ -48,7 +48,7 @@ function RequestCancellationModal(props: RequestCancellationModalProps): JSX.Ele
This means that a solver might already have included the order in a solution even if this cancellation
is successful. Read more in the{' '}
-
+
FAQ
.
diff --git a/src/custom/constants/index.ts b/src/custom/constants/index.ts
index 99a7698c05..a337761461 100644
--- a/src/custom/constants/index.ts
+++ b/src/custom/constants/index.ts
@@ -114,7 +114,7 @@ export const GAS_FEE_ENDPOINTS = {
[ChainId.XDAI]: 'https://blockscout.com/xdai/mainnet/api/v1/gas-price-oracle',
}
-export const UNSUPPORTED_TOKENS_FAQ_URL = '/faq#what-token-pairs-does-cowswap-allow-to-trade'
+export const UNSUPPORTED_TOKENS_FAQ_URL = '/faq/trading#what-token-pairs-does-cowswap-allow-to-trade'
// fee threshold - should be greater than percentage, show warning
export const FEE_SIZE_THRESHOLD = new Fraction(10, 100) // 30%
diff --git a/src/custom/pages/App/index.tsx b/src/custom/pages/App/index.tsx
index 4617f67fa0..5db7bc20ca 100644
--- a/src/custom/pages/App/index.tsx
+++ b/src/custom/pages/App/index.tsx
@@ -23,11 +23,17 @@ const CookiePolicy = lazy(() => import(/* webpackChunkName: "cookie_policy" */ '
const TermsAndConditions = lazy(() => import(/* webpackChunkName: "terms" */ 'pages/TermsAndConditions'))
const About = lazy(() => import(/* webpackChunkName: "about" */ 'pages/About'))
const Profile = lazy(() => import(/* webpackChunkName: "profile" */ 'pages/Profile'))
-const Faq = lazy(() => import(/* webpackChunkName: "faq" */ 'pages/Faq'))
const NotFound = lazy(() => import(/* webpackChunkName: "not_found" */ 'pages/error/NotFound'))
const CowRunner = lazy(() => import(/* webpackChunkName: "cow_runner" */ 'pages/games/CowRunner'))
const MevSlicer = lazy(() => import(/* webpackChunkName: "mev_slicer" */ 'pages/games/MevSlicer'))
+const Faq = lazy(() => import(/* webpackChunkName: "faq" */ 'pages/Faq'))
+const GeneralFaq = lazy(() => import(/* webpackChunkName: "faq" */ 'pages/Faq/GeneralFaq'))
+const ProtocolFaq = lazy(() => import(/* webpackChunkName: "faq" */ 'pages/Faq/ProtocolFaq'))
+const TokenFaq = lazy(() => import(/* webpackChunkName: "faq" */ 'pages/Faq/TokenFaq'))
+const TradingFaq = lazy(() => import(/* webpackChunkName: "faq" */ 'pages/Faq/TradingFaq'))
+const AffiliateFaq = lazy(() => import(/* webpackChunkName: "faq" */ 'pages/Faq/AffiliateFaq'))
+
if (SENTRY_DSN) {
Sentry.init({
dsn: process.env.REACT_APP_SENTRY_DSN,
@@ -101,6 +107,11 @@ export default function App() {
+ It is a page where you can see your number of trades and volume that you have done with the wallet you have
+ connected with.
+
+ Additionally, you will be able to get your own referral/affiliate link, so you can share it with others, and
+ if you do so, you will also be able to see the number of trades and volume that your referral link gets
+ credited from the users who followed your link and interacted with the DEX.
+ At this time, the affiliate program only works for Ethereum Mainnet.
+ The affiliate program will initially run as a trial and therefore there are currently no announced rewards.
+ The tracking, however, has already started.
+
+ CowSwap's positive network effect scales exponentially with more people using it, therefore, the
+ affiliate program aims to acknowledge which users are contributing more to the success of the protocol.{' '}
+
+ We now briefly explain CowSwap’s positive network effect. CowSwap's name comes from the economic
+ phenomenon "Coincidence of Wants", where users' orders can be matched with each other to
+ obtain better prices. When the protocol finds a CoW, trades are directly settled among traders, which allows
+ saving on slippage, gas, and LP fees. The network effect of CoWs increases alongside with the number of
+ traders using the protocol; the more users we have sending orders to the protocol, the better the prices
+ and gas savings the protocol is able to offer. Our new CoW-filiate program is aiming to increase this
+ positive network effect.
+
+ Everyone can share a link, you only need a valid Ethereum wallet address to create your own personal link.
+
+ Everyone! Please share the excitement for the CowSwap protocol & dapp. It would really make a difference for
+ the Cow-mmunity if you share it with your friends, Twitter/YouTube followers, or anyone that would be
+ interested.
+
+ Share your referral link with all your friends if you think they can be interested in the qualities Cowswap
+ has to offer. These qualities range from ETH-less trading experience, MEV protection, no fees for failed
+ transactions, and more.{' '}
+
+ 🐮
+
+
+ Note that trades and volume will only be credited to your wallet if the user has not traded in CowSwap with
+ that address before, and their first trade is done after following your link.
+
+ The referral program fetches data from Dune, and therefore, the USD value is taken from the information
+ available in Dune under price feed. If the token is not in the Dune price feed, then volume will not be
+ counted.
+ There could be a few reasons for this:
+ Some tokens might not yet have a proper price feed linking them to a USD estimation at the date/time when
+ your trade was executed. When that happens the trade volume is set to 0. Thus, your total volume can be
+ smaller, or even be shown as 0 (see FAQ entry{' '}
+ The number of trades on the profile page is calculated based on on-chain data. We have two publicly facing interfaces where both use the same contracts, which are:
+ Even though both use the same contract, the backend services, solvers and infrastructure are independent.
+
+ Thus, when accessing{' '}
+ If you ever traded on both, you might have more trades than you would expect. In the future, the data will be consolidated and this number will match your expectations. CowSwap is the first trading interface built on top of CoW Protocol.
+ CowSwap is a Meta DEX aggregator that allows you to buy and sell tokens using gasless orders that are
+ settled peer-to-peer among its users, or into any on-chain liquidity source while providing MEV protection.
+
+ Cowswap is built on top of the CoW Protocol which matches trades via batch auctions for a variety of
+ on-chain liquidity sources.
+
+ Trades can be settled via underlying on-chain AMMs directly or via DEX Aggregators, depending on which
+ pool/path offers the best price. It is thus essentially acting as a DexAggregator of the DexAggregators.
+
+ In addition to that, before finding the best price for a trade from available on-chain liquidity, CoW
+ Protocol first seeks a coincidence of wants within the existing batch to offer an even better price than any
+ pool can.
+
+ Defined by Phil Daian et al. in the{' '}
+
+ Since January 2020 until now (March'22), the total amount of value extracted by miners (etc.) on
+ Ethereum transactions has reached{' '}
+
+
+ This means, on CowSwap, when two traders each hold an asset the other wants, a trade can be settled directly
+ between them without an external market maker or liquidity provider. This leads to better prices for the
+ individual traders (because traditionally market makers add a fee — referred to as spread — for their
+ service).
+
+ CowSwap allows for coincidence of wants (CoWs) orders to be traded directly against one another. Only the
+ excess order amounts that cannot be settled directly with other CowSwap traders are sent to the underlying
+ AMMs (automated market makers).
+
+ CowSwap leverages batch auctions with uniform clearing prices for all trades in the same batch. Because of
+ the uniform clearing price, there is no need for ordering the transactions within a single batch. Because
+ everyone receives the same price across assets it’s not possible for any value to be extracted by
+ placing transactions in a certain order. This prevents the primary strategy used in MEV.
+
+ Batches are decentrally settled by external, independent parties (called “solvers”) on-chain. A solver is a
+ person or entity who submits order settlement solutions that maximize trade surplus for a given batch.
+ Solvers are incentivized to implement professional transaction management techniques that allow them to set
+ very tight slippage bounds on any interactions with external liquidity sources (e.g., trading CoW excess on
+ Uniswap). This dramatically reduces the manipulation surface of miners and front-runners.
+
+ Additionally, depending on the composition of the orders that are submitted and are valid for a given batch,
+ the existence of CoWs may significantly reduce the amount that has to be exchanged via external MEV-prone
+ protocols, such as Uniswap.
+
+ CowSwap settles batch auctions in discrete time intervals. In the absence of other traders, CowSwap matches
+ traders against the best available on-chain liquidity (note: currently the solvers have integrated liquidity
+ from Uni v2, Uni v3, Balancer, Balancer v2, Sushiswap and the liquidity that Aggregators such as Paraswap,
+ Matcha and 1inch leverage).
+
+ If CoWs (Coincidence of Wants) orders exist in a batch, the “smaller” order is matched fully with the larger
+ order. The excess of the larger order is settled with the best available base liquidity CowSwap integrates
+ with, which is, for now, Uniswap. The clearing price for both orders will be the price of the token with the
+ excess amount on external liquidity sources to which the protocol is connected.
+
+ Finding the best settlement for orders is a challenging task, which very soon may have its own{' '}
+
+ As of August 11th, 2021, CowSwap is no longer in alpha and moves to a final, stable version. The underlying
+ CoW Protocol Smart contracts have been upgraded to integrate tightly with Balancer v2.
+
+ With this upgrade, CowSwap evolves into its most stable, performant form: the code has been thoroughly and
+ carefully tested, peer-reviewed and fully{' '}
+
+ Each executed order has a fee which is captured by the protocol. Part of the fee is paid to solvers
+ (entities which provide order settlement solutions) to incentivize their participation.
+
+ The fee consists of the "base cost to execute the trade" and the "protocol fee"
+ (although it is only exposed to the user as one fee). As a user, you are only signing a message to submit
+ your trade and the underlying solver will end up submitting the transaction for you. Essentially you are
+ paying this "base cost to execute the trade", aka "gas costs", with your sell token and
+ the cost is already included in your price estimation. The protocol is currently subsidizing a portion of
+ the gas costs, while the protocol fee is currently switched off.
+
+
+ Note that you will only have to pay fees IF your trade is executed. No more gas costs on any failed
+ transactions!
+
+ CowSwap can connect to all on-chain liquidity.
+ When CowSwap does not have enough CoWs (Coincidence of Wants) among the orders available for a batch, it
+ taps other AMMs’ liquidity to be able to settle the traders’ orders. CoW Protocol can be connected to any
+ on-chain liquidity sources and can therefore enjoy the benefits of concentrating the fragmented liquidity
+ across decentralized finance.
+
+ Before using on-chain liquidity, CowSwap tries to find CoWs (Coincidences of Wants) within the set of
+ currently valid orders and match them directly with one another. CoWs result in better prices because no fee
+ is paid to the liquidity provider (e.g., 0.3% for Uniswap v2). In the case that CowSwap does not have CoWs,
+ it taps into the DEX that gives the next best price. This results in the same or better performance than
+ existing DEX aggregators.
+
+ CowSwap does not have liquidity providers. Instead, it connects to all on-chain liquidity that is provided
+ across different protocols. Since orders only incur a cost if traded, active market makers can observe the
+ orderbook and place counter orders (creating a CoW) to prevent settling trades via external liquidity.
+
+ CowSwap uses offline signatures to offer gasless orders. Additionally, Smart Contract (SC) wallets are
+ supported through an alternative signing method called{' '}
+
+ Regular, non Smart Contract wallets (called EOA) require the wallet to support off-chain signing (
+
+ Through our own internal testing and user reports, we identified some EOA wallets that do not yet work with
+ off-chain signing. Thus, you might find your wallet is not supported. If that is the case for you, reach out
+ to your wallet developers and ask for it.
+
+ Yes! Any Smart Contract (be it a wallet or regular contract) can trade in CowSwap by using one signing
+ method called pre-sign.
+
+ Pre-sign is a protocol operation that can be invoked by any contract. The operation has a single parameter
+ that is the "orderId" which identifies the order being approved. Pre-signing your order in the
+ settlement contract is equivalent to providing an off-chain signature for the orderId.
+
+ In the future, the protocol might provide{' '}
+
+ It is an alternative way of signing orders offered by the protocol, that is especially interesting for smart
+ contract integrations and Smart Contract wallets. See{' '}
+
+ In CoW Protocol, instead of using a central operator or a constant function market maker to determine trade
+ settlements, the protocol uses a party called a "solver", who is the party in charge of providing
+ the settlement solution to the batch auctions. Solvers compete against each other to submit the best
+ possible batch settlement solution. Each time a solver submits a successful batch settlement solution, the
+ protocol rewards them with tokens, meaning that the protocol rewards solvers for solving the batch auction
+ optimization problem. By meeting certain requirements, anyone can become a solver:
+
+ CowSwap Operations
+
+ Approve token
+ Wrap ETH
+ Unwrap ETH
+ Submit order (Sign order)
+ Cancel an order (Sign cancellation)
+ Smart contracts
+
+ Pre-sign order
+ Yes,{' '}
+
+ At launch the token will be a pure virtual token for governance. This implies that the token will not be
+ transferable. The token entitles its holders with voting rights in the CowDAO. It is up to CowDAO to vote on
+ whether making the token transferable complies with applicable laws.
+
+ The token's main purpose is to govern and curate essential infrastructure components of the CoW
+ Protocol ecosystem.
+ Be cautious, some people may create fake COW tokens, that are not affiliated with this project.
+ Follow
+ Yes! A CoWmunity member created a{' '}
+
+ {' '}
+ Directly in the CowSwap UI. Simply click on the profile section at the top left of the page, or in the menu
+ if you are on mobile, and you will be redirected to a page where you can see your total combined balance for
+ COW and vCOW and convert them instantly.
+
+ The COW token will entitle its holders to voting rights within the CowDAO. The main purpose of CowDAO is to
+ govern and curate essential infrastructure components of the CoW Protocol ecosystem, including:
+
+ Affiliate program
+
+ What is the Profile page?
+
+ In which networks is it available?
+
+
+ Are there any rewards for sharing the referral link?
+
+
+ Who can share the referral link?
+
+ Who can follow the referral link?
+
+
+ What is the source of truth for accounting trade volume?
+
+
+
+ I shared my referral with a friend, who then also traded. Why do I not see any referral trades in my profile
+ page?
+
+
+
+
+
+
+ Why is my total trade/referral trade volume smaller than the real volume?
+
+
+
+ Why do I see more trades and referrals in my profile page than I actually see in the activity list?
+
+
+
+
+
+ General
+ What is CowSwap?
+ What makes CowSwap a "Meta" DEX aggregator?
+
+ What is MEV and how much MEV has been extracted from users to date?
+
+
+
+ To what does the term Coincidence of Wants (CoWs) refer?
+
+
+
+ How am I protected from MEV (Arbitrage, Front running, Sandwiching) with CowSwap?
+
+
+ How does CowSwap determine prices?
+
+ Is CowSwap secure to use?
+
+ Protocol
+ What is CowSwap’s fee model?
+
+ How does CowSwap connect to all on-chain liquidity?
+
+
+ How is CowSwap able to offer better prices?
+
+ How can I become a liquidity provider?
+ Why is my wallet not supported?
+ Are Smart Contract wallets supported?
+ What is pre-sign?
+ What are CoW Protocol's Solvers?
+
+
+
+ What interactions can I encounter when using CowSwap?
+
+
+
+
+
+
+
+
+ Action
+ Signed tx (free / gasless)
+ Ethereum tx (costs gas)
+
+
+ Approve token
+
+
+
+ ✅
+
+
+
+
+ Wrap/Unwrap ETH
+
+
+
+ ✅
+
+
+
+
+ Submit order
+
+
+ ✅
+
+
+
+
+
+
+ Cancel order
+
+
+ ✅
+
+
+
+
+
+
+
+ One-time-only, required step for being able to sell a token. Afterwards, you will be able to trade the
+ token using gasless transactions.
+
+ Convert native ETH into its ERC20 compatible token form: WETH. Only required if you need to sell ETH.
+
+ Convert ERC20 compatible token WETH back into native ETH. Only when you want to manually convert it to
+ ETH.
+
+ Signature of a gasless off-chain order. You define your limit price and expiration date. The order will
+ try to be executed using MEV protection against different on-chain liquidity sources or other CowSwap
+ users trading in the same block.
+
+ Signature of a gasless off-chain cancellation request. This cancellation is considered
+ “soft” as it might not be placed with enough time for the solvers to take into
+ consideration. See more via{' '}
+
+
+
+
+
+
+
+ Action
+ Signed tx (free / gasless)
+ Ethereum tx (costs gas)
+
+
+
+ Pre-sign
+
+
+
+ ✅
+
+
+
+
+
+
+ Alternative signing method offered by the protocol to allow Smart Contract integration. See{' '}
+
+ {items.map((tocItem) => (
+
+ Token
+ Does CowSwap have a token?
+ Is there a proposal to make vCOW transferrable?
+
+ Where can you swap vCOW tokens for the new COW token?
+
+ What is the purpose of COW Token?
+
+
+
There are 4 categories in which you can qualify for the airdrop:
++
At the moment, only limit sell and buy orders (fill-or-kill) are enabled.
+ ++ Any valid ERC20 token pair that does not apply transfer fees, and for which there is some basic liquidity on + a DEX (like Uniswap or Balancer). +
+ ++ Unfortunately, CowSwap does not support some tokens. While these tokens implement the typical ERC20 + interface, when calling the transfer and transferFrom methods, the actual amount the receiver will get will + be smaller than the specified sent amount. This causes problems with CowSwap's settlement logic which + expects the received amount (e.g., from a Uniswap interaction) to be fully transferable to the trader. +
+ ++ CowSwap is able to offer gas-free trades because the orders are submitted off-chain via signed messages. + Once you approve your funds for spending on the dapp, you can submit orders via signed messages that contain + the trade’s details, such as limit price, amount, timestamp, and so on. +
+ ++ For the trade itself you do not need to hold ETH. Although, in order to be able to trade on CowSwap, you + first need to approve your funds for spending on the dapp*. For that action, you need ETH to + pay for gas fees. Once you have done this, ETH is no longer required as CowSwap charges the fee from the + sell token. +
+ ++ + * In the near future, if you are trying to sell an ERC20 that allows offline approvals, then the ETH + needed to pay for allowing your funds to be spent is not needed anymore, making the trading experience + fully gas-free. Keep in mind that this is only possible with ERC20 tokens that have such functionality; if + not, you will need ETH to execute the approval transaction only. + +
+ +In order for a trader to submit a valid order to CowSwap, they must do the following steps:
+ +
+ This workflow applies for normal Ethereum accounts (EOA). For smart contracts, instead of signing a meta-tx
+ you would need to do a
Yes! You can request to cancel any order while it is still pending.
+Cancellations, like orders, are free and require no gas to be paid.
++ Keep in mind that even though the request to cancel an order succeeds, the order might still be executed. +
++ That is because when the offline order cancellation is received, a settlement solution may have already been + prepared by one of the solvers and sent to the Ethereum network. +
++ Alternatively, there is the so-called hard cancellation, which allows to cancel an order on-chain. This is + not currently supported by the CowSwap web interface, and you would need to pay for the gas of the on-chain + cancellation. For more information, check the Smart Contract implementation. +
+ ++ In order for solvers (order settlement solution providers) to be economically viable, they need to take into + account how much gas they spend executing the settlement transaction. The protocol’s fee ensures that + solvers are incentivized to include the order in a settlement (similar to how gas is paid on traditional + DEXes). The fee is directly taken from the sell amount, which therefore has to have a certain minimum size. +
+ +
+ When an order is executed, the settlement contract withdraws the sell amount from the trader’s token balance
+ via the CoW Protocol Vault Relayer (for more information read{' '}
+
+ Signing a message incurs no gas cost and is therefore free. When placing an order, the protocol cannot + guarantee that the order will be executed (e.g., the price could change to no longer satisfy the specified + limit). By only signing the intent to trade, we can ensure that users only incur a cost when their trade is + successfully executed. +
+ ++ Furthermore, by splitting the intent to trade (that is token, amount, and limit price) from the actual + on-chain execution, the protocol can react to on-chain race conditions and, for example, change the trading + route an order is matched against without requiring the user to submit a new order. +
+ ++ Yes, you can directly place buy and sell orders for ETH. Before the actual order is placed, the UI will + allow you to wrap and unwrap ETH into WETH without needing to leave the dapp’s UI. +
+ ++ CowSwap only operates with ERC20 tokens. ETH is the native Ethereum currency, which is not an ERC20 token. +
+ ++ In order to sell ETH, you need to wrap it first to make it ERC20 compatible. Wrapping is done by making an + ETH deposit into the WETH contract. After doing so, you will get a balance of WETH in the amount of ETH + previously deposited. +
+ +You can withdraw your ETH from the WETH contract at any time, and this is called unwrapping WETH.
+ ++ Wrapping and unwrapping ETH are simple Ethereum transactions not related to CowSwap, meaning gas costs for + executing the transactions are involved. +
+ ++ Although CowSwap does not allow you to sell ETH directly, it will assist you with the wrapping/unwrapping, + so you can easily handle ETH/WETH, as needed. +
+ ++ While ETH cannot be sold directly, it is possible to directly buy ETH. This is because CowSwap allows you to + buy WETH and will directly unwrap it for you. +
+ + {/* +
+ Didn't find an answer? Join the{' '}
+
+ We really hope you like CowSwap. If you do, Milk it! + + 🥛 + +
+ {back && ( +
+
CowSwap is the first trading interface built on top of CoW Protocol.
-- CowSwap is a Meta DEX aggregator that allows you to buy and sell tokens using gasless orders that are - settled peer-to-peer among its users, or into any on-chain liquidity source while providing MEV protection. -
- -- Cowswap is built on top of the CoW Protocol which matches trades via batch auctions for a variety of - on-chain liquidity sources. -
-- Trades can be settled via underlying on-chain AMMs directly or via DEX Aggregators, depending on which - pool/path offers the best price. It is thus essentially acting as a DexAggregator of the DexAggregators. -
-- In addition to that, before finding the best price for a trade from available on-chain liquidity, CoW - Protocol first seeks a coincidence of wants within the existing batch to offer an even better price than any - pool can. -
- -
- Defined by Phil Daian et al. in the{' '}
-
- Since January 2020 until now (July'21), the total amount of value extracted by miners (etc.) on Ethereum
- transactions has reached{' '}
-
-
- This means, on CowSwap, when two traders each hold an asset the other wants, a trade can be settled directly - between them without an external market maker or liquidity provider. This leads to better prices for the - individual traders (because traditionally market makers add a fee — referred to as spread — for their - service). -
- -- CowSwap allows for coincidence of wants (CoWs) orders to be traded directly against one another. Only the - excess order amounts that cannot be settled directly with other CowSwap traders are sent to the underlying - AMMs (automated market makers). -
- -- CowSwap leverages batch auctions with uniform clearing prices for all trades in the same batch. Because of - the uniform clearing price, there is no need for ordering the transactions within a single batch. Because - everyone receives the same price across assets it’s not possible for any value to be extracted by - placing transactions in a certain order. This prevents the primary strategy used in MEV. -
- -- Batches are decentrally settled by external, independent parties (called “solvers”) on-chain. A solver is a - person or entity who submits order settlement solutions that maximize trade surplus for a given batch. - Solvers are incentivized to implement professional transaction management techniques that allow them to set - very tight slippage bounds on any interactions with external liquidity sources (e.g., trading CoW excess on - Uniswap). This dramatically reduces the manipulation surface of miners and front-runners. -
- -- Additionally, depending on the composition of the orders that are submitted and are valid for a given batch, - the existence of CoWs may significantly reduce the amount that has to be exchanged via external MEV-prone - protocols, such as Uniswap. -
- -- CowSwap settles batch auctions in discrete time intervals. In the absence of other traders, CowSwap matches - traders against the best available on-chain liquidity (note: currently the solvers have integrated liquidity - from Uni v2, Uni v3, Balancer, Balancer v2, Sushiswap and the liquidity that Aggregators such as Paraswap, - Matcha and 1inch leverage). -
- -- If CoWs (Coincidence of Wants) orders exist in a batch, the “smaller” order is matched fully with the larger - order. The excess of the larger order is settled with the best available base liquidity CowSwap integrates - with, which is, for now, Uniswap. The clearing price for both orders will be the price of the token with the - excess amount on external liquidity sources to which the protocol is connected. -
- -
- Finding the best settlement for orders is a challenging task, which very soon may have its own{' '}
-
- As of August 11th, 2021, CowSwap is no longer in alpha and moves to a final, stable version. The underlying - CoW Protocol Smart contracts have been upgraded to integrate tightly with Balancer v2. -
- -
- With this upgrade, CowSwap evolves into its most stable, performant form: the code has been thoroughly and
- carefully tested, peer-reviewed and fully{' '}
-
- Each executed order has a fee which is captured by the protocol. Part of the fee is paid to solvers - (entities which provide order settlement solutions) to incentivize their participation. -
-- The fee consists of the "base cost to execute the trade" and the "protocol fee" - (although it is only exposed to the user as one fee). As a user, you are only signing a message to submit - your trade and the underlying solver will end up submitting the transaction for you. Essentially you are - paying this "base cost to execute the trade", aka "gas costs", with your sell token and - the cost is already included in your price estimation. The protocol is currently subsidizing a portion of - the gas costs, while the protocol fee is currently switched off. -
-- - Note that you will only have to pay fees IF your trade is executed. No more gas costs on any failed - transactions! - -
-CowSwap can connect to all on-chain liquidity.
-- When CowSwap does not have enough CoWs (Coincidence of Wants) among the orders available for a batch, it - taps other AMMs’ liquidity to be able to settle the traders’ orders. CoW Protocol can be connected to any - on-chain liquidity sources and can therefore enjoy the benefits of concentrating the fragmented liquidity - across decentralized finance. -
-- Before using on-chain liquidity, CowSwap tries to find CoWs (Coincidences of Wants) within the set of - currently valid orders and match them directly with one another. CoWs result in better prices because no fee - is paid to the liquidity provider (e.g., 0.3% for Uniswap v2). In the case that CowSwap does not have CoWs, - it taps into the DEX that gives the next best price. This results in the same or better performance than - existing DEX aggregators. -
-- CowSwap does not have liquidity providers. Instead, it connects to all on-chain liquidity that is provided - across different protocols. Since orders only incur a cost if traded, active market makers can observe the - orderbook and place counter orders (creating a CoW) to prevent settling trades via external liquidity. -
-
- CowSwap uses offline signatures to offer gasless orders. Additionally, Smart Contract (SC) wallets are
- supported through an alternative signing method called{' '}
-
- Regular, non Smart Contract wallets (called EOA) require the wallet to support off-chain signing (
-
- Through our own internal testing and user reports, we identified some EOA wallets that do not yet work with - off-chain signing. Thus, you might find your wallet is not supported. If that is the case for you, reach out - to your wallet developers and ask for it. -
-- Yes! Any Smart Contract (be it a wallet or regular contract) can trade in CowSwap by using one signing - method called pre-sign. -
-- pre-sign is a protocol operation that can be invoked by any contract. The operation has a single parameter - that is the "orderId" which identifies the order being approved. Pre-signing your order in the - settlement contract is equivalent to providing an off-chain signature for the orderId. -
-
- In the future, the protocol might provide{' '}
-
- It is an alternative way of signing orders offered by the protocol, that is especially interesting for smart
- contract integrations and Smart Contract wallets. See{' '}
-
- In CoW Protocol, instead of using a central operator or a constant function market maker to determine trade - settlements, the protocol uses a party called a "solver", who is the party in charge of providing - the settlement solution to the batch auctions. Solvers compete against each other to submit the best - possible batch settlement solution. Each time a solver submits a successful batch settlement solution, the - protocol rewards them with tokens, meaning that the protocol rewards solvers for solving the batch auction - optimization problem. By meeting certain requirements, anyone can become a solver: -
-- CowSwap Operations -
-Action | -Signed tx (free / gasless) | -Ethereum tx (costs gas) | -
---|---|---|
Approve token | -- | - - ✅ - - | -
Wrap/Unwrap ETH | -- | - - ✅ - - | -
Submit order | -- - ✅ - - | -- |
Cancel order | -- - ✅ - - | -- |
- Approve token
- One-time-only, required step for being able to sell a token. Afterwards, you will be able to trade the
- token using gasless transactions.
-
- Wrap ETH
- Convert native ETH into its ERC20 compatible token form: WETH. Only required if you need to sell ETH.
-
- Unwrap ETH
- Convert ERC20 compatible token WETH back into native ETH. Only when you want to manually convert it to
- ETH.
-
- Submit order (Sign order)
- Signature of a gasless off-chain order. You define your limit price and expiration date. The order will
- try to be executed using MEV protection against different on-chain liquidity sources or other CowSwap
- users trading in the same block.
-
- Cancel an order (Sign cancellation)
- Signature of a gasless off-chain cancellation request. This cancellation is considered
- “soft” as it might not be placed with enough time for the solvers to take into
- consideration. See more via{' '}
-
- Smart contracts -
-Action | -Signed tx (free / gasless) | -Ethereum tx (costs gas) | -
---|---|---|
Pre-sign | -- | - - ✅ - - | -
- Pre-sign order
- Alternative signing method offered by the protocol to allow Smart Contract integration. See{' '}
-
- Yes,{' '}
-
- At launch the token will be a pure virtual token for governance. This implies that the token will not be - transferable. The token entitles its holders with voting rights in the CowDAO. It is up to CowDAO to vote on - whether making the token transferable complies with applicable laws. -
-- The token's main purpose is to govern and curate essential infrastructure components of the CoW - Protocol ecosystem. -
-Be cautious, some people may create fake COW tokens, that are not affiliated with this project.
-
- Follow
- Yes! A CoWmunity member created a{' '}
-
- {' '} - Directly in the CowSwap UI. Simply click on the profile section at the top left of the page, or in the menu - if you are on mobile, and you will be redirected to a page where you can see your total combined balance for - COW and vCOW and convert them instantly. -
- -- The COW token will entitle its holders to voting rights within the CowDAO. The main purpose of CowDAO is to - govern and curate essential infrastructure components of the CoW Protocol ecosystem, including: -
--
There are 4 categories in which you can qualify for the airdrop:
--
At the moment, only limit sell and buy orders (fill-or-kill) are enabled.
- -- Any valid ERC20 token pair that does not apply transfer fees, and for which there is some basic liquidity on - a DEX (like Uniswap or Balancer). -
- -- Unfortunately, CowSwap does not support some tokens. While these tokens implement the typical ERC20 - interface, when calling the transfer and transferFrom methods, the actual amount the receiver will get will - be smaller than the specified sent amount. This causes problems with CowSwap's settlement logic which - expects the received amount (e.g., from a Uniswap interaction) to be fully transferable to the trader. -
- -- CowSwap is able to offer gas-free trades because the orders are submitted off-chain via signed messages. - Once you approve your funds for spending on the dapp, you can submit orders via signed messages that contain - the trade’s details, such as limit price, amount, timestamp, and so on. -
- -- For the trade itself you do not need to hold ETH. Although, in order to be able to trade on CowSwap, you - first need to approve your funds for spending on the dapp*. For that action, you need ETH to - pay for gas fees. Once you have done this, ETH is no longer required as CowSwap charges the fee from the - sell token. -
- -- - * In the near future, if you are trying to sell an ERC20 that allows offline approvals, then the ETH - needed to pay for allowing your funds to be spent is not needed anymore, making the trading experience - fully gas-free. Keep in mind that this is only possible with ERC20 tokens that have such functionality; if - not, you will need ETH to execute the approval transaction only. - -
- -In order for a trader to submit a valid order to CowSwap, they must do the following steps:
- -
- This workflow applies for normal Ethereum accounts (EOA). For smart contracts, instead of signing a meta-tx
- you would need to do a
Yes! You can request to cancel any order while it is still pending.
-Cancellations, like orders, are free and require no gas to be paid.
-- Keep in mind that even though the request to cancel an order succeeds, the order might still be executed. -
-- That is because when the offline order cancellation is received, a settlement solution may have already been - prepared by one of the solvers and sent to the Ethereum network. -
-- Alternatively, there is the so-called hard cancellation, which allows to cancel an order on-chain. This is - not currently supported by the CowSwap web interface, and you would need to pay for the gas of the on-chain - cancellation. For more information, check the Smart Contract implementation. -
- -- In order for solvers (order settlement solution providers) to be economically viable, they need to take into - account how much gas they spend executing the settlement transaction. The protocol’s fee ensures that - solvers are incentivized to include the order in a settlement (similar to how gas is paid on traditional - DEXes). The fee is directly taken from the sell amount, which therefore has to have a certain minimum size. -
- -
- When an order is executed, the settlement contract withdraws the sell amount from the trader’s token balance
- via the CoW Protocol Vault Relayer (for more information read{' '}
-
- Signing a message incurs no gas cost and is therefore free. When placing an order, the protocol cannot - guarantee that the order will be executed (e.g., the price could change to no longer satisfy the specified - limit). By only signing the intent to trade, we can ensure that users only incur a cost when their trade is - successfully executed. -
- -- Furthermore, by splitting the intent to trade (that is token, amount, and limit price) from the actual - on-chain execution, the protocol can react to on-chain race conditions and, for example, change the trading - route an order is matched against without requiring the user to submit a new order. -
- -- Yes, you can directly place buy and sell orders for ETH. Before the actual order is placed, the UI will - allow you to wrap and unwrap ETH into WETH without needing to leave the dapp’s UI. -
- -- CowSwap only operates with ERC20 tokens. ETH is the native Ethereum currency, which is not an ERC20 token. -
- -- In order to sell ETH, you need to wrap it first to make it ERC20 compatible. Wrapping is done by making an - ETH deposit into the WETH contract. After doing so, you will get a balance of WETH in the amount of ETH - previously deposited. -
- -You can withdraw your ETH from the WETH contract at any time, and this is called unwrapping WETH.
- -- Wrapping and unwrapping ETH are simple Ethereum transactions not related to CowSwap, meaning gas costs for - executing the transactions are involved. -
- -- Although CowSwap does not allow you to sell ETH directly, it will assist you with the wrapping/unwrapping, - so you can easily handle ETH/WETH, as needed. -
- -- While ETH cannot be sold directly, it is possible to directly buy ETH. This is because CowSwap allows you to - buy WETH and will directly unwrap it for you. -
- - {/* -- It is a page where you can see your number of trades and volume that you have done with the wallet you have - connected with. -
- -- Additionally, you will be able to get your own referral/affiliate link, so you can share it with others, and - if you do so, you will also be able to see the number of trades and volume that your referral link gets - credited from the users who followed your link and interacted with the DEX. -
- -At this time, the affiliate program only works for Ethereum Mainnet.
- -- The affiliate program will initially run as a trial and therefore there are currently no announced rewards. - The tracking, however, has already started. -
- -- CowSwap's positive network effect scales exponentially with more people using it, therefore, the - affiliate program aims to acknowledge which users are contributing more to the success of the protocol.{' '} -
- -- We now briefly explain CowSwap’s positive network effect. CowSwap's name comes from the economic - phenomenon "Coincidence of Wants", where users' orders can be matched with each other to - obtain better prices. When the protocol finds a CoW, trades are directly settled among traders, which allows - saving on slippage, gas, and LP fees. The network effect of CoWs increases alongside with the number of - traders using the protocol; the more users we have sending orders to the protocol, the better the prices - and gas savings the protocol is able to offer. Our new CoW-filiate program is aiming to increase this - positive network effect. -
- -- Everyone can share a link, you only need a valid Ethereum wallet address to create your own personal link. -
- -- Everyone! Please share the excitement for the CowSwap protocol & dapp. It would really make a difference for - the Cow-mmunity if you share it with your friends, Twitter/YouTube followers, or anyone that would be - interested. -
- -- Share your referral link with all your friends if you think they can be interested in the qualities Cowswap - has to offer. These qualities range from ETH-less trading experience, MEV protection, no fees for failed - transactions, and more.{' '} - - 🐮 - -
- -- Note that trades and volume will only be credited to your wallet if the user has not traded in CowSwap with - that address before, and their first trade is done after following your link. -
- -- The referral program fetches data from Dune, and therefore, the USD value is taken from the information - available in Dune under price feed. If the token is not in the Dune price feed, then volume will not be - counted. -
- -There could be a few reasons for this:
-
- Some tokens might not yet have a proper price feed linking them to a USD estimation at the date/time when
- your trade was executed. When that happens the trade volume is set to 0. Thus, your total volume can be
- smaller, or even be shown as 0 (see FAQ entry{' '}
-
The number of trades on the profile page is calculated based on on-chain data.
-We have two publicly facing interfaces where both use the same contracts, which are:
-- Even though both use the same contract, the backend services, solvers and infrastructure are independent. -
- -
- Thus, when accessing{' '}
-
If you ever traded on both, you might have more trades than you would expect.
- -In the future, the data will be consolidated and this number will match your expectations.
- -
- Didn't find an answer? Join the{' '}
-
- We really hope you like CowSwap. If you do, Milk it! - - 🥛 - +
CowSwap requires offline signatures, which is currently not supported by some wallets.
- Read more in the