Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions composable-cow/deployment/deploying.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@

```bash
curl -L https://foundry.paradigm.xyz | bash
# Note: This URL redirects to https://getfoundry.sh
foundryup
```

Expand Down Expand Up @@ -61,4 +62,4 @@

1. Verify deployments using `cast code`
2. Update the `networks.json` registry
3. Leverage the `broadcast/` directory artifacts containing deployment metadata and ABIs

Check warning on line 65 in composable-cow/deployment/deploying.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

composable-cow/deployment/deploying.mdx#L65

Did you really mean 'ABIs'?
2 changes: 1 addition & 1 deletion cow-protocol/reference/sdks/cow-sdk.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,17 @@

The SDK supports all CoW Protocol enabled networks:

* **Ethereum** (1) - `SupportedChainId.MAINNET`

Check warning on line 18 in cow-protocol/reference/sdks/cow-sdk.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-protocol/reference/sdks/cow-sdk.mdx#L18

Did you really mean 'Ethereum'?
* **Gnosis Chain** (100) - `SupportedChainId.GNOSIS_CHAIN`
* **Arbitrum One** (42161) - `SupportedChainId.ARBITRUM_ONE`

Check warning on line 20 in cow-protocol/reference/sdks/cow-sdk.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-protocol/reference/sdks/cow-sdk.mdx#L20

Did you really mean 'Arbitrum'?
* **Base** (8453) - `SupportedChainId.BASE`
* **Polygon** (137) - `SupportedChainId.POLYGON`
* **Avalanche** (43114) - `SupportedChainId.AVALANCHE`
* **BNB** (56) - `SupportedChainId.BNB`
* **Linea** (59144) - `SupportedChainId.LINEA`

Check warning on line 25 in cow-protocol/reference/sdks/cow-sdk.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-protocol/reference/sdks/cow-sdk.mdx#L25

Did you really mean 'Linea'?
* **Plasma** (9745) - `SupportedChainId.PLASMA`
* **Ink** (57073) - `SupportedChainId.INK`
* **Sepolia** (11155111) - `SupportedChainId.SEPOLIA` (Testnet)

Check warning on line 28 in cow-protocol/reference/sdks/cow-sdk.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-protocol/reference/sdks/cow-sdk.mdx#L28

Did you really mean 'Sepolia'?

Check warning on line 28 in cow-protocol/reference/sdks/cow-sdk.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-protocol/reference/sdks/cow-sdk.mdx#L28

Did you really mean 'Testnet'?

## 🔗 **Related Resources**

Expand Down Expand Up @@ -135,13 +135,13 @@
The SDK automatically includes UTM tracking in all orders to attribute trading volume to developers. Default parameters:

```
{ utmSource: 'cowmunity', utmMedium: 'cow-sdk@7.1.6', // SDK version utmCampaign: 'developer-cohort', utmContent: '', utmTerm: 'js'}
{ utmSource: 'cowmunity', utmMedium: 'cow-sdk@<version>', // SDK version (set automatically) utmCampaign: 'developer-cohort', utmContent: '', utmTerm: 'js'}
```

**Customize or disable** via `advancedSettings.appData.metadata.utm`:

```
// Custom UTMawait sdk.getQuote(parameters, { appData: { metadata: { utm: { utmContent: 'my-integration-v2' } } }})// Disable UTMawait sdk.getQuote(parameters, { appData: { metadata: { utm: {} } }})

Check warning on line 144 in cow-protocol/reference/sdks/cow-sdk.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-protocol/reference/sdks/cow-sdk.mdx#L144

Did you really mean 'UTMawait'?

Check warning on line 144 in cow-protocol/reference/sdks/cow-sdk.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-protocol/reference/sdks/cow-sdk.mdx#L144

Did you really mean 'UTMawait'?
```

> **Note:** Providing any `utm` field gives you full control - the SDK will not add defaults.
Expand Down Expand Up @@ -173,7 +173,7 @@
### Installation

```
# For ethers v6pnpm add @cowprotocol/sdk-ethers-v6-adapter ethers# For ethers v5pnpm add @cowprotocol/sdk-ethers-v5-adapter ethers@^5.7.0# For viempnpm add @cowprotocol/sdk-viem-adapter viem

Check warning on line 176 in cow-protocol/reference/sdks/cow-sdk.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-protocol/reference/sdks/cow-sdk.mdx#L176

Did you really mean 'ethers'?

Check warning on line 176 in cow-protocol/reference/sdks/cow-sdk.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-protocol/reference/sdks/cow-sdk.mdx#L176

Did you really mean 'ethers'?

Check warning on line 176 in cow-protocol/reference/sdks/cow-sdk.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-protocol/reference/sdks/cow-sdk.mdx#L176

Did you really mean 'viempnpm'?

Check warning on line 176 in cow-protocol/reference/sdks/cow-sdk.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-protocol/reference/sdks/cow-sdk.mdx#L176

Did you really mean 'viem'?
```

### Adapter Setup Examples
Expand All @@ -193,7 +193,7 @@
#### ViemAdapter

```
import { ViemAdapter } from '@cowprotocol/sdk-viem-adapter'import { http, createPublicClient, privateKeyToAccount } from 'viem'import { sepolia } from 'viem/chains'const account = privateKeyToAccount('YOUR_PRIVATE_KEY' as `0x${string}`)const transport = http('YOUR_RPC_URL')const provider = createPublicClient({ chain: sepolia, transport })// You can also set `walletClient` instead of `signer` using `useWalletClient` from wagmiconst adapter = new ViemAdapter({ provider, signer: account })

Check warning on line 196 in cow-protocol/reference/sdks/cow-sdk.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-protocol/reference/sdks/cow-sdk.mdx#L196

Did you really mean 'walletClient'?
```

## Low-Level SDK Usage Example
Expand Down
4 changes: 2 additions & 2 deletions cow-protocol/tutorials/solvers/local_test.mdx
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
title: "Locally testing a solver with the CoW Protocol orderflow"

Check warning on line 2 in cow-protocol/tutorials/solvers/local_test.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-protocol/tutorials/solvers/local_test.mdx#L2

Did you really mean 'orderflow'?
description: "CoW Protocol infrastructure is a lot of services running together in herd harmony, which is a bit intimidating at the beginning. Before proceeding, it would be advisable to read the architectural overview to get a better understanding of how CoW Protocol works and its entities."
---

In order to test a solver against CoW Protocol's orderflow, one needs to locally run the following components

Check warning on line 6 in cow-protocol/tutorials/solvers/local_test.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-protocol/tutorials/solvers/local_test.mdx#L6

Did you really mean 'orderflow'?

* autopilot, which will be configured to point, for example, to the production orderbook and to send the auctions to a local driver.

Check warning on line 8 in cow-protocol/tutorials/solvers/local_test.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-protocol/tutorials/solvers/local_test.mdx#L8

Did you really mean 'orderbook'?
* driver, which will receive auctions from the autopilot and forward them to the solver engine
* the solver engine that is meant to be tested, run as a local http server able to receive `/solve` requests from the driver and respond to them.

Expand All @@ -21,7 +21,7 @@
cargo run --bin autopilot -- --native-price-estimators "Driver|baseline|http://driver/baseline" --skip-event-sync true --node-url $NODE_URL --shadow https://barn.api.cow.fi/mainnet --drivers "mysolver1|http://localhost:11088|0x0000000000000000000000000000000000000000|0"
```

where one needs to set the NODE\_URL appropriately (e.g., a free Infura endpoint).

Check warning on line 24 in cow-protocol/tutorials/solvers/local_test.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-protocol/tutorials/solvers/local_test.mdx#L24

Did you really mean 'Infura'?

<Warning>
CoW Protocol services infrastructure can be very heavy on RPC resource consumption. Be careful if using with post-paid plans, it's recommended to keep a close eye on RPC resource consumption.
Expand All @@ -35,16 +35,16 @@

where one needs to configure driver.config.toml to point to their solver engine. A sample such file can be found [here](https://github.com/cowprotocol/services/blob/main/crates/driver/example.toml).

Once the above are set up and running, one can then start testing their solver engine against one of the following orderbooks:

Check warning on line 38 in cow-protocol/tutorials/solvers/local_test.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-protocol/tutorials/solvers/local_test.mdx#L38

Did you really mean 'orderbooks'?

| Orderbook URL | Network | Environment |

Check warning on line 40 in cow-protocol/tutorials/solvers/local_test.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-protocol/tutorials/solvers/local_test.mdx#L40

Did you really mean 'Orderbook'?
| ------------------------------------------------------------------------------------- | ------------ | ----------- |
| [https://barn.api.cow.fi/mainnet/api](https://barn.api.cow.fi/mainnet/api) | Mainnet | Staging |

Check warning on line 42 in cow-protocol/tutorials/solvers/local_test.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-protocol/tutorials/solvers/local_test.mdx#L42

Did you really mean 'Mainnet'?
| [https://api.cow.fi/mainnet/api](https://api.cow.fi/mainnet/api) | Mainnet | Production |

Check warning on line 43 in cow-protocol/tutorials/solvers/local_test.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-protocol/tutorials/solvers/local_test.mdx#L43

Did you really mean 'Mainnet'?
| [https://barn.api.cow.fi/xdai/api](https://barn.api.cow.fi/xdai/api) | Gnosis Chain | Staging |
| [https://api.cow.fi/xdai/api](https://api.cow.fi/xdai/api) | Gnosis Chain | Production |
| [https://barn.api.cow.fi/arbitrum\_one/api](https://barn.api.cow.fi/arbitrum_one/api) | Arbitrum One | Staging |
| [https://api.cow.fi/arbitrum\_one/api](https://api.cow.fi/arbitrum_one/api) | Arbitrum One | Production |
| [https://barn.api.cow.fi/arbitrum_one/api](https://barn.api.cow.fi/arbitrum_one/api) | Arbitrum One | Staging |

Check warning on line 46 in cow-protocol/tutorials/solvers/local_test.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-protocol/tutorials/solvers/local_test.mdx#L46

Did you really mean 'Arbitrum'?
| [https://api.cow.fi/arbitrum_one/api](https://api.cow.fi/arbitrum_one/api) | Arbitrum One | Production |

Check warning on line 47 in cow-protocol/tutorials/solvers/local_test.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-protocol/tutorials/solvers/local_test.mdx#L47

Did you really mean 'Arbitrum'?
| [https://barn.api.cow.fi/base/api](https://barn.api.cow.fi/base/api) | Base | Staging |
| [https://api.cow.fi/base/api](https://api.cow.fi/base/api) | Base | Production |
| [https://barn.api.cow.fi/avalanche/api](https://barn.api.cow.fi/avalanche/api) | Avalanche | Staging |
Expand All @@ -53,12 +53,12 @@
| [https://api.cow.fi/polygon/api](https://api.cow.fi/polygon/api) | Polygon | Production |
| [https://barn.api.cow.fi/bnb/api](https://barn.api.cow.fi/bnb/api) | BNB | Staging |
| [https://api.cow.fi/bnb/api](https://api.cow.fi/bnb/api) | BNB | Production |
| [https://barn.api.cow.fi/linea/api](https://barn.api.cow.fi/linea/api) | Linea | Staging |

Check warning on line 56 in cow-protocol/tutorials/solvers/local_test.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-protocol/tutorials/solvers/local_test.mdx#L56

Did you really mean 'Linea'?
| [https://api.cow.fi/linea/api](https://api.cow.fi/linea/api) | Linea | Production |

Check warning on line 57 in cow-protocol/tutorials/solvers/local_test.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-protocol/tutorials/solvers/local_test.mdx#L57

Did you really mean 'Linea'?
| [https://barn.api.cow.fi/plasma/api](https://barn.api.cow.fi/plasma/api) | Plasma | Staging |
| [https://api.cow.fi/plasma/api](https://api.cow.fi/plasma/api) | Plasma | Production |
| [https://barn.api.cow.fi/ink/api](https://barn.api.cow.fi/ink/api) | Ink | Staging |
| [https://api.cow.fi/ink/api](https://api.cow.fi/ink/api) | Ink | Production |
| [https://barn.api.cow.fi/sepolia/api](https://barn.api.cow.fi/sepolia/api) | Sepolia | Staging |

Check warning on line 62 in cow-protocol/tutorials/solvers/local_test.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-protocol/tutorials/solvers/local_test.mdx#L62

Did you really mean 'Sepolia'?
| [https://api.cow.fi/sepolia/api](https://api.cow.fi/sepolia/api) | Sepolia | Production |

Check warning on line 63 in cow-protocol/tutorials/solvers/local_test.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-protocol/tutorials/solvers/local_test.mdx#L63

Did you really mean 'Sepolia'?

12 changes: 9 additions & 3 deletions cow-py/api/swap.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
description: "Functions for swapping tokens using the CoW Protocol"
---

## swap_tokens

Check warning on line 6 in cow-py/api/swap.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-py/api/swap.mdx#L6

Did you really mean 'swap_tokens'?

Swap tokens using the CoW Protocol. This is the main high-level function for executing token swaps.

Expand Down Expand Up @@ -32,8 +32,8 @@
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `amount` | `Wei` | Yes | - | Amount of tokens to sell (in Wei) |
| `account` | `LocalAccount` | Yes | - | Ethereum account to sign the order with |

Check warning on line 35 in cow-py/api/swap.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-py/api/swap.mdx#L35

Did you really mean 'Ethereum'?
| `chain` | `Chain` | Yes | - | Blockchain network to execute on |

Check warning on line 36 in cow-py/api/swap.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-py/api/swap.mdx#L36

Did you really mean 'Blockchain'?
| `sell_token` | `ChecksumAddress` | Yes | - | Address of the token to sell |
| `buy_token` | `ChecksumAddress` | Yes | - | Address of the token to buy |
| `safe_address` | `ChecksumAddress \| None` | No | `None` | Safe address (uses pre-signature scheme if provided) |
Expand Down Expand Up @@ -92,7 +92,7 @@

## CompletedOrder

A Pydantic model representing a successfully created order.

Check warning on line 95 in cow-py/api/swap.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-py/api/swap.mdx#L95

Did you really mean 'Pydantic'?

```python
class CompletedOrder(BaseModel):
Expand All @@ -105,15 +105,21 @@
| Field | Type | Description |
|-------|------|-------------|
| `uid` | `UID` | Unique order identifier (56 bytes) |
| `url` | `str` | CoW Explorer URL for tracking |
| `url` | `str` | OrderBook API URL for the order |

### Explorer URLs
### Order URL

The URL points to CoW Explorer based on the chain:
The `url` field contains the OrderBook API endpoint for the order:

```
https://api.cow.fi/mainnet/api/v1/orders/{uid}
```

To get the CoW Explorer URL for user-facing tracking, construct it manually:

- Mainnet: `https://explorer.cow.fi/ethereum/orders/{uid}`

Check warning on line 120 in cow-py/api/swap.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-py/api/swap.mdx#L120

Did you really mean 'Mainnet'?
- Gnosis Chain: `https://explorer.cow.fi/gc/orders/{uid}`
- Arbitrum: `https://explorer.cow.fi/arb1/orders/{uid}`

Check warning on line 122 in cow-py/api/swap.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-py/api/swap.mdx#L122

Did you really mean 'Arbitrum'?

```python
result = await swap_tokens(...)
Expand Down
17 changes: 13 additions & 4 deletions cow-py/guides/swapping-tokens.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@

Before swapping tokens, ensure you have:

- An Ethereum account with a private key

Check warning on line 14 in cow-py/guides/swapping-tokens.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-py/guides/swapping-tokens.mdx#L14

Did you really mean 'Ethereum'?
- Sufficient balance of the token you want to sell
- Token approval for the CoW Protocol Vault Relayer

Check warning on line 16 in cow-py/guides/swapping-tokens.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-py/guides/swapping-tokens.mdx#L16

Did you really mean 'Relayer'?

## Token Approval Flow

Expand All @@ -32,7 +32,7 @@
```
</Step>
<Step title="Approve Token Spending">
Grant the Vault Relayer permission to spend your tokens:

Check warning on line 35 in cow-py/guides/swapping-tokens.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-py/guides/swapping-tokens.mdx#L35

Did you really mean 'Relayer'?

```python
from eth_typing import ChecksumAddress
Expand Down Expand Up @@ -213,8 +213,8 @@
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `amount` | `Wei` | Yes | - | Amount of sell token to swap |
| `account` | `LocalAccount` | Yes | - | Ethereum account for signing |

Check warning on line 216 in cow-py/guides/swapping-tokens.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-py/guides/swapping-tokens.mdx#L216

Did you really mean 'Ethereum'?
| `chain` | `Chain` | Yes | - | Target blockchain network |

Check warning on line 217 in cow-py/guides/swapping-tokens.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-py/guides/swapping-tokens.mdx#L217

Did you really mean 'blockchain'?
| `sell_token` | `ChecksumAddress` | Yes | - | Address of token to sell |
| `buy_token` | `ChecksumAddress` | Yes | - | Address of token to buy |
| `safe_address` | `ChecksumAddress \| None` | No | `None` | Safe/multisig address (if applicable) |
Expand All @@ -229,10 +229,9 @@
The function returns a `CompletedOrder` object with:

```python
@dataclass
class CompletedOrder:
class CompletedOrder(BaseModel):
uid: UID # Unique order identifier
url: str # CoW Explorer URL for tracking
url: str # OrderBook API URL for the order
```

## How It Works
Expand All @@ -254,7 +253,7 @@

## After the Swap

When `swap_tokens` returns a `CompletedOrder`, the order has been submitted to the CoW Protocol orderbook. Solvers now compete in batch auctions to find the best execution path for your trade.

Check warning on line 256 in cow-py/guides/swapping-tokens.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-py/guides/swapping-tokens.mdx#L256

Did you really mean 'orderbook'?

### Monitoring Order Status

Expand Down Expand Up @@ -288,7 +287,14 @@
If your order has not yet been filled, you can request cancellation:

```python
await api.delete_order(completed_order.uid, signature, signing_scheme)
from cowdao_cowpy.order_book.generated.model import OrderCancellations

cancellation = OrderCancellations(
orderUids=[completed_order.uid],
signature=signature,
signingScheme=signing_scheme,
)
await api.delete_order(cancellation)
```

<Note>
Expand All @@ -299,14 +305,17 @@

The SDK supports swapping on the following networks:

- **Ethereum Mainnet** -- `Chain.MAINNET`

Check warning on line 308 in cow-py/guides/swapping-tokens.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-py/guides/swapping-tokens.mdx#L308

Did you really mean 'Ethereum'?

Check warning on line 308 in cow-py/guides/swapping-tokens.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-py/guides/swapping-tokens.mdx#L308

Did you really mean 'Mainnet'?
- **Gnosis Chain** -- `Chain.GNOSIS`
- **Arbitrum One** -- `Chain.ARBITRUM_ONE`

Check warning on line 310 in cow-py/guides/swapping-tokens.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-py/guides/swapping-tokens.mdx#L310

Did you really mean 'Arbitrum'?
- **Base** -- `Chain.BASE`
- **Polygon** -- `Chain.POLYGON`
- **Avalanche** -- `Chain.AVALANCHE`
- **BNB Smart Chain** -- `Chain.BNB`
- **Sepolia Testnet** -- `Chain.SEPOLIA`

Check warning on line 315 in cow-py/guides/swapping-tokens.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-py/guides/swapping-tokens.mdx#L315

Did you really mean 'Sepolia'?

Check warning on line 315 in cow-py/guides/swapping-tokens.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-py/guides/swapping-tokens.mdx#L315

Did you really mean 'Testnet'?

<Tip>
Use `Chain.SEPOLIA` for testing without spending real funds. Get testnet tokens from Sepolia faucets.

Check warning on line 318 in cow-py/guides/swapping-tokens.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-py/guides/swapping-tokens.mdx#L318

Did you really mean 'testnet'?

Check warning on line 318 in cow-py/guides/swapping-tokens.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-py/guides/swapping-tokens.mdx#L318

Did you really mean 'Sepolia'?
</Tip>

## Error Handling
Expand Down Expand Up @@ -339,11 +348,11 @@

| Problem | Likely Cause | Fix |
|---------|-------------|-----|
| `InsufficientAllowance` error | Vault Relayer not approved | Run the token approval flow first |

Check warning on line 351 in cow-py/guides/swapping-tokens.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-py/guides/swapping-tokens.mdx#L351

Did you really mean 'Relayer'?
| `InsufficientBalance` error | Not enough sell token | Check balance before calling `swap_tokens` |
| Order created but never fills | Low liquidity or tight slippage | Increase `slippage_tolerance`, try common pairs |
| `NoLiquidity` error | Token pair not supported | Verify token addresses, try larger amounts |
| `UnexpectedResponseError` | API issue or invalid params | Check token addresses are checksummed, amount > 0 |

Check warning on line 355 in cow-py/guides/swapping-tokens.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-py/guides/swapping-tokens.mdx#L355

Did you really mean 'checksummed'?
| Order expires | Solvers couldn't fill in time | Use longer `valid_to`, wider slippage |

## Next Steps
Expand Down
2 changes: 1 addition & 1 deletion cow-py/quickstart.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
description: "Execute your first token swap with the CoW Protocol Python SDK"
---

This guide walks through creating and executing a token swap on CoW Protocol using the Python SDK, learning how to swap tokens with built-in MEV protection and gasless trading.

Check warning on line 6 in cow-py/quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-py/quickstart.mdx#L6

Did you really mean 'gasless'?

<Note>
CoW Protocol employs batch auctions to protect traders from MEV and provides the best execution prices by aggregating liquidity across multiple DEXs.

Check warning on line 9 in cow-py/quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-py/quickstart.mdx#L9

Did you really mean 'DEXs'?
</Note>

## Prerequisites
Expand All @@ -14,12 +14,12 @@
Before starting, ensure you have:

- The CoW Protocol Python SDK [installed](/cow-py/installation)
- A wallet with test tokens (Sepolia testnet)

Check warning on line 17 in cow-py/quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-py/quickstart.mdx#L17

Did you really mean 'Sepolia'?

Check warning on line 17 in cow-py/quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-py/quickstart.mdx#L17

Did you really mean 'testnet'?
- Your wallet's private key
- Approval for the CoW Protocol Vault Relayer to spend your tokens

Check warning on line 19 in cow-py/quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-py/quickstart.mdx#L19

Did you really mean 'Relayer'?

<Warning>
You must approve the CoW Protocol Vault Relayer contract before executing a swap.

Check warning on line 22 in cow-py/quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-py/quickstart.mdx#L22

Did you really mean 'Relayer'?
</Warning>

## Environment Setup
Expand Down Expand Up @@ -96,7 +96,7 @@
from cowdao_cowpy.common.chains import Chain
```

The SDK uses `web3.py` for Ethereum interactions and provides a simple `swap_tokens` function.

Check warning on line 99 in cow-py/quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-py/quickstart.mdx#L99

Did you really mean 'Ethereum'?

### Configure Token Addresses

Expand All @@ -110,7 +110,7 @@
```

<Tip>
Always use checksummed addresses to avoid errors via `Web3.to_checksum_address()`.

Check warning on line 113 in cow-py/quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-py/quickstart.mdx#L113

Did you really mean 'checksummed'?
</Tip>

### Specify Sell Amount
Expand Down Expand Up @@ -141,7 +141,7 @@
)
```

The function handles quote retrieval, order creation and signing, orderbook submission, and returns the order UID and explorer URL.

Check warning on line 144 in cow-py/quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-py/quickstart.mdx#L144

Did you really mean 'orderbook'?

## Advanced Options

Expand All @@ -155,7 +155,7 @@
slippage_tolerance=0.01, # 1% slippage (default: 0.5%)
partially_fillable=False, # Allow partial fills (default: False)
valid_to=None, # Order expiry timestamp (default: uses quote expiry)
env="prod" # Environment: "prod", "staging", or "barn" (default: "prod")
env="prod" # Environment: "prod" or "staging" (default: "prod")
)
```

Expand Down Expand Up @@ -212,7 +212,7 @@
Ensure your wallet has enough of the sell token. Account for token decimals when checking balances.
</Accordion>
<Accordion title="Missing Token Approval">
Before swapping, approve the CoW Protocol Vault Relayer:

Check warning on line 215 in cow-py/quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-py/quickstart.mdx#L215

Did you really mean 'Relayer'?

```python
from cowdao_cowpy.common.constants import CowContractAddress
Expand All @@ -228,7 +228,7 @@
## Next Steps

- Explore [Order Management](/cow-py/guides/managing-orders) to learn how to fetch, monitor, and cancel orders
- Investigate [Advanced Features](/cow-py/advanced/composable-orders) for composable orders and TWAP strategies

Check warning on line 231 in cow-py/quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-py/quickstart.mdx#L231

Did you really mean 'composable'?
- Browse the [API Reference](/cow-py/api/swap) for complete documentation
- Learn about [Contract Interaction](/cow-py/guides/contract-interaction) with CoW Protocol smart contracts
- Read the [Testing Guide](/cow-protocol/howto/integrate/testing) for how to test on Sepolia and graduate to production

Check warning on line 234 in cow-py/quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-py/quickstart.mdx#L234

Did you really mean 'Sepolia'?
4 changes: 4 additions & 0 deletions cow-sdk/api/subgraph-sdk.mdx
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
---
title: "Subgraph SDK"

Check warning on line 2 in cow-sdk/api/subgraph-sdk.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/api/subgraph-sdk.mdx#L2

Did you really mean 'Subgraph'?
description: "TypeScript client for querying CoW Protocol's historical trading data and metrics from TheGraph"
---

<Warning>
The `SubgraphApi` is deprecated and not currently maintained. It may be removed in a future SDK version. Consider using the [OrderBook API](/cow-protocol/reference/apis/orderbook) for querying order and trade data instead.
</Warning>

The SubgraphApi provides a TypeScript client for querying historical trading data, volume statistics, and protocol metrics from CoW Protocol subgraphs across multiple chains.

Check warning on line 10 in cow-sdk/api/subgraph-sdk.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/api/subgraph-sdk.mdx#L10

Did you really mean 'subgraphs'?

## Installation

Expand All @@ -17,9 +21,9 @@

## Features

- **SubgraphApi Client** - Dedicated client for subgraph querying

Check warning on line 24 in cow-sdk/api/subgraph-sdk.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/api/subgraph-sdk.mdx#L24

Did you really mean 'subgraph'?
- **Pre-built Queries** - Common queries for protocol statistics
- **Multi-chain Support** - Currently available on Ethereum, Gnosis Chain, Arbitrum One, Base, and Sepolia (subset of all supported CoW Protocol chains)

Check warning on line 26 in cow-sdk/api/subgraph-sdk.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/api/subgraph-sdk.mdx#L26

Did you really mean 'Ethereum'?

Check warning on line 26 in cow-sdk/api/subgraph-sdk.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/api/subgraph-sdk.mdx#L26

Did you really mean 'Arbitrum'?

Check warning on line 26 in cow-sdk/api/subgraph-sdk.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/api/subgraph-sdk.mdx#L26

Did you really mean 'Sepolia'?
- **Type-safe Responses** - All GraphQL responses are fully typed
- **Custom Query Support** - Execute custom GraphQL queries with type safety

Expand All @@ -37,14 +41,14 @@
Optional configuration
<Expandable>
<ResponseField name="chainId" type="SupportedChainId">
Chain ID for queries (defaults to Mainnet)

Check warning on line 44 in cow-sdk/api/subgraph-sdk.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/api/subgraph-sdk.mdx#L44

Did you really mean 'Mainnet'?
</ResponseField>
</Expandable>
</ResponseField>

## Methods

### getTotals

Check warning on line 51 in cow-sdk/api/subgraph-sdk.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/api/subgraph-sdk.mdx#L51

Did you really mean 'getTotals'?

Get overall protocol statistics including tokens, orders, traders, settlements, volume, and fees.

Expand Down Expand Up @@ -138,7 +142,7 @@
</Expandable>
</ResponseField>

### runQuery

Check warning on line 145 in cow-sdk/api/subgraph-sdk.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/api/subgraph-sdk.mdx#L145

Did you really mean 'runQuery'?

Execute a custom GraphQL query with full type safety.

Expand Down Expand Up @@ -271,11 +275,11 @@

The SubgraphApi currently supports the following networks (a subset of the full CoW Protocol chain list):

- Ethereum Mainnet

Check warning on line 278 in cow-sdk/api/subgraph-sdk.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/api/subgraph-sdk.mdx#L278

Did you really mean 'Ethereum'?

Check warning on line 278 in cow-sdk/api/subgraph-sdk.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/api/subgraph-sdk.mdx#L278

Did you really mean 'Mainnet'?
- Gnosis Chain
- Arbitrum One

Check warning on line 280 in cow-sdk/api/subgraph-sdk.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/api/subgraph-sdk.mdx#L280

Did you really mean 'Arbitrum'?
- Base
- Sepolia Testnet

Check warning on line 282 in cow-sdk/api/subgraph-sdk.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/api/subgraph-sdk.mdx#L282

Did you really mean 'Sepolia'?

Check warning on line 282 in cow-sdk/api/subgraph-sdk.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/api/subgraph-sdk.mdx#L282

Did you really mean 'Testnet'?

## API Key Requirements

Expand Down
4 changes: 2 additions & 2 deletions cow-sdk/installation.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

## Quick Overview

The CoW Protocol SDK enables blockchain interaction through three adapter options. Installation involves the main package plus your chosen adapter framework.

Check warning on line 10 in cow-sdk/installation.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/installation.mdx#L10

Did you really mean 'blockchain'?

## Core Installation

Expand All @@ -21,13 +21,13 @@

You must choose one of three adapters based on your Web3 library:

**Viem** - Modern, lightweight TypeScript library requiring viem 1.x+

Check warning on line 24 in cow-sdk/installation.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/installation.mdx#L24

Did you really mean 'Viem'?

Check warning on line 24 in cow-sdk/installation.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/installation.mdx#L24

Did you really mean 'viem'?

**Ethers v6** - The current ethers.js version (recommended for ethers users)

Check warning on line 26 in cow-sdk/installation.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/installation.mdx#L26

Did you really mean 'Ethers'?

Check warning on line 26 in cow-sdk/installation.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/installation.mdx#L26

Did you really mean 'ethers'?

**Ethers v5** - Legacy version; consider upgrading to v6 or using Viem

Check warning on line 28 in cow-sdk/installation.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/installation.mdx#L28

Did you really mean 'Ethers'?

Check warning on line 28 in cow-sdk/installation.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/installation.mdx#L28

Did you really mean 'Viem'?

Each adapter installation differs slightly. For Viem, you'd run:

Check warning on line 30 in cow-sdk/installation.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/installation.mdx#L30

Did you really mean 'Viem'?

```bash
npm install @cowprotocol/sdk-viem-adapter viem
Expand All @@ -35,14 +35,14 @@

## Essential Dependencies

The SDK requires `cross-fetch` (^3.x). Optional packages include `ipfs-only-hash`, `multiformats`, and `@openzeppelin/merkle-tree` for specialized features like app-data metadata and merkle operations.

Check warning on line 38 in cow-sdk/installation.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/installation.mdx#L38

Did you really mean 'merkle'?

## Environment Requirements

Node.js 16+ is mandatory. TypeScript support includes built-in type definitions with standard `tsconfig.json` settings (moduleResolution: "node", esModuleInterop: true).
Node.js 22+ is required. TypeScript support includes built-in type definitions with standard `tsconfig.json` settings (moduleResolution: "node", esModuleInterop: true).

Check warning on line 42 in cow-sdk/installation.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/installation.mdx#L42

Did you really mean 'moduleResolution'?

## Framework Integration

React/Next.js users typically integrate via wagmi, while Node.js backends use direct Viem initialization with environment variables for sensitive credentials.

Check warning on line 46 in cow-sdk/installation.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/installation.mdx#L46

Did you really mean 'wagmi'?

Check warning on line 46 in cow-sdk/installation.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/installation.mdx#L46

Did you really mean 'Viem'?

The current SDK version is **v7.4.1**, with migration guidance available for v6 upgrades.
Migration guidance is available for v6 to v7 upgrades.
4 changes: 2 additions & 2 deletions cow-sdk/quickstart.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,18 @@

# CoW Protocol SDK Quickstart Guide

This documentation provides a comprehensive walkthrough for executing your first token swap using the CoW Protocol SDK in under five minutes.

Check warning on line 8 in cow-sdk/quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/quickstart.mdx#L8

Did you really mean 'walkthrough'?

## Key Prerequisites

Before starting, ensure you have:
- Node.js version 16 or higher
- Node.js version 22 or higher
- A wallet containing a private key for transaction signing
- An RPC endpoint URL (Alchemy, Infura, or Tenderly)

Check warning on line 15 in cow-sdk/quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/quickstart.mdx#L15

Did you really mean 'Infura'?
- Test tokens on Sepolia testnet

Check warning on line 16 in cow-sdk/quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/quickstart.mdx#L16

Did you really mean 'Sepolia'?

Check warning on line 16 in cow-sdk/quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/quickstart.mdx#L16

Did you really mean 'testnet'?

<Warning>
Test on testnets before attempting mainnet transactions.

Check warning on line 19 in cow-sdk/quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/quickstart.mdx#L19

Did you really mean 'testnets'?

Check warning on line 19 in cow-sdk/quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/quickstart.mdx#L19

Did you really mean 'mainnet'?
</Warning>

## Installation & Setup
Expand All @@ -32,9 +32,9 @@
## Web3 Adapter Configuration

The guide provides implementations for three frameworks:
- **Viem**: Using `createPublicClient` and `privateKeyToAccount`

Check warning on line 35 in cow-sdk/quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/quickstart.mdx#L35

Did you really mean 'Viem'?
- **Ethers v6**: Using `JsonRpcProvider` and `Wallet`

Check warning on line 36 in cow-sdk/quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/quickstart.mdx#L36

Did you really mean 'Ethers'?
- **Ethers v5**: Using `ethers.providers.JsonRpcProvider`

Check warning on line 37 in cow-sdk/quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/quickstart.mdx#L37

Did you really mean 'Ethers'?

Each adapter requires a provider (read-only client) and signer (wallet with private key).

Expand Down Expand Up @@ -71,7 +71,7 @@
## Troubleshooting Common Issues

The documentation addresses frequent problems:
- **Insufficient balance**: Obtain test tokens from the Sepolia faucet

Check warning on line 74 in cow-sdk/quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-sdk/quickstart.mdx#L74

Did you really mean 'Sepolia'?
- **Allowance errors**: Complete token approval before swapping
- **Expired quotes**: Refresh quotes within the validity window
- **RPC failures**: Verify endpoint URLs or try alternative providers
Expand All @@ -84,7 +84,7 @@
```typescript
{
utmSource: 'cowmunity',
utmMedium: 'cow-sdk@7.1.6', // SDK version
utmMedium: 'cow-sdk@<version>', // SDK version (set automatically)
utmCampaign: 'developer-cohort',
utmContent: '',
utmTerm: 'js'
Expand Down
2 changes: 1 addition & 1 deletion cow-swap/widget/params.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
description: "Integrate the power of into your product! With the widget, you can create an incredible trading interface. Specify the required pair of currencies, customize the look and much more!"
---

Create your own widget using the configurator [https://widget.cow.fi](https://widget.cow.fi).

Check warning on line 6 in cow-swap/widget/params.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-swap/widget/params.mdx#L6

Did you really mean 'configurator'?

![Demo](/images/cow-protocol/tutorials/assets/images/widget-bc5358690765bdbc5b2bc9d2a13a20b5.png)

Expand All @@ -25,7 +25,7 @@

## App key

You must specify the `appCode` parameter when initializing the widget. This parameter is used to identify the source of orders. The key must be a UTF8 string of up to 50 chars. It will be a part of orders meta-data, see more in the [CoW Protocol Docs](https://docs.cow.fi/front-end/creating-app-ids/create-the-order-meta-data-file/appcode).
You must specify the `appCode` parameter when initializing the widget. This parameter is used to identify the source of orders. The key must be a UTF8 string of up to 50 chars. It will be a part of orders meta-data, see more in the [CoW Protocol Docs](/cow-protocol/reference/core/intents/app-data).

## Partner fee

Expand All @@ -35,7 +35,7 @@
import { createCowSwapWidget, CowSwapWidgetParams } from '@cowprotocol/widget-lib'const widgetContainer = document.getElementById('cowswap-widget')const params: CowSwapWidgetParams = { partnerFee: { bps: 50, // 0.5% recipient: '0x0000000000000000000000000000000000000000', // Fee destination address },}createCowSwapWidget(widgetContainer, { params })
```

This configuration will apply a partner fee for all networks and trade types (swaps, limit orders, TWAPs, etc.). You can use [Flexible config](#flexible-config) for having more flexibility, or [Advanced configuration](#advanced-configuration) to have even more control over the partner fee configuration parameters.

Check warning on line 38 in cow-swap/widget/params.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-swap/widget/params.mdx#L38

Did you really mean 'TWAPs'?

### Flexible config

Expand Down Expand Up @@ -69,7 +69,7 @@

The recipient is the address to which the fee will be sent.

Make sure that the fee recipient address exists on the respective network defined in the parameters. For example, if you use a Safe as a recipient and the Safe was created on Ethereum mainnet, then for Gnosis Chain you must create **another** Safe and set it as a fee recipient.

Check warning on line 72 in cow-swap/widget/params.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-swap/widget/params.mdx#L72

Did you really mean 'Ethereum'?

Check warning on line 72 in cow-swap/widget/params.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-swap/widget/params.mdx#L72

Did you really mean 'mainnet'?

As a fee recipient, you can specify either string or a key-value pair in the format `chainId: recipientAddress`:

Expand Down Expand Up @@ -120,9 +120,9 @@
| **Ranges** | `min ≥ 0`, `max ≤ 5000` (50 %), `min ≤ defaultValue ≤ max`, `min < max` |
| **Defaults** | If the user doesn’t specify a slippage, the widget falls back to `defaultValue` |
| **Auto slippage** | If the auto-slippage is less than or equal to `defaultValue`, the swap will use `defaultValue` |
| **ETH‑Flow floor** | When `defaultValue < 200` bps (2 %) for Ethereum Mainnet or `defaultValue < 50` (0.5 %) for other networks and the trade is *ETH‑Flow*, the widget will force the slippage to **2 %**/**0.5 %** |

Check warning on line 123 in cow-swap/widget/params.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-swap/widget/params.mdx#L123

Did you really mean 'Ethereum'?

Check warning on line 123 in cow-swap/widget/params.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-swap/widget/params.mdx#L123

Did you really mean 'Mainnet'?

### Example JSON (Configurator ready)

Check warning on line 125 in cow-swap/widget/params.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

cow-swap/widget/params.mdx#L125

Did you really mean 'Configurator'?

```
{ "slippage": { "1": { "min": 1, "max": 3900, "defaultValue": 3000 }, "8453": { "min": 500, "max": 5000, "defaultValue": 600 } }}
Expand Down
1 change: 1 addition & 0 deletions flash-loan-router/getting-started/installation.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,11 @@

### Foundry

The Flash-Loan Router is built with Foundry, a blazing fast Ethereum development toolkit. Install Foundry using:

Check warning on line 12 in flash-loan-router/getting-started/installation.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

flash-loan-router/getting-started/installation.mdx#L12

Did you really mean 'Ethereum'?

```bash
curl -L https://foundry.paradigm.xyz | bash
# Note: This URL redirects to https://getfoundry.sh
foundryup
```

Expand Down
2 changes: 1 addition & 1 deletion snippets/supported-networks.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@

| Network | Chain ID | Type |
| --- | --- | --- |
| Ethereum | 1 | Mainnet |

Check warning on line 5 in snippets/supported-networks.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

snippets/supported-networks.mdx#L5

Did you really mean 'Ethereum'?

Check warning on line 5 in snippets/supported-networks.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

snippets/supported-networks.mdx#L5

Did you really mean 'Mainnet'?
| Gnosis Chain | 100 | Mainnet |

Check warning on line 6 in snippets/supported-networks.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

snippets/supported-networks.mdx#L6

Did you really mean 'Mainnet'?
| Arbitrum One | 42161 | Layer 2 |

Check warning on line 7 in snippets/supported-networks.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

snippets/supported-networks.mdx#L7

Did you really mean 'Arbitrum'?
| Base | 8453 | Layer 2 |
| Polygon | 137 | Sidechain |

Check warning on line 9 in snippets/supported-networks.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

snippets/supported-networks.mdx#L9

Did you really mean 'Sidechain'?
| Avalanche C-Chain | 43114 | Sidechain |

Check warning on line 10 in snippets/supported-networks.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

snippets/supported-networks.mdx#L10

Did you really mean 'Sidechain'?
| BNB Smart Chain | 56 | Sidechain |

Check warning on line 11 in snippets/supported-networks.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

snippets/supported-networks.mdx#L11

Did you really mean 'Sidechain'?
| Optimism | 10 | Layer 2 |
| Optimism | 10 | Layer 2 (bridge-only) |
| Linea | 59144 | Layer 2 |

Check warning on line 13 in snippets/supported-networks.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

snippets/supported-networks.mdx#L13

Did you really mean 'Linea'?
| Plasma | 9745 | Layer 2 |
| Ink | 57073 | Layer 2 |
| Sepolia | 11155111 | Testnet |

Check warning on line 16 in snippets/supported-networks.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

snippets/supported-networks.mdx#L16

Did you really mean 'Sepolia'?

Check warning on line 16 in snippets/supported-networks.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

snippets/supported-networks.mdx#L16

Did you really mean 'Testnet'?
2 changes: 1 addition & 1 deletion watch-tower/development/setup.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

To develop the CoW Protocol Watch Tower, you'll need:

* `node` (`>= v16.18.0`)
* `node` (`>= v18.0.0`)
* `yarn`
* `npm`

Expand All @@ -25,7 +25,7 @@

## Local Development Workflow

Testing against the Goerli or Sepolia testnet is recommended during development.

Check warning on line 28 in watch-tower/development/setup.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

watch-tower/development/setup.mdx#L28

Did you really mean 'Goerli'?

Check warning on line 28 in watch-tower/development/setup.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

watch-tower/development/setup.mdx#L28

Did you really mean 'Sepolia'?

Check warning on line 28 in watch-tower/development/setup.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

watch-tower/development/setup.mdx#L28

Did you really mean 'testnet'?

To run the watch-tower locally:

Expand Down Expand Up @@ -62,12 +62,12 @@
* `--slack-webhook <url>` - Slack webhook URL
* `--only-owner <address...>` - Monitor specific contract/safe addresses only

## Testing Against Testnets

Check warning on line 65 in watch-tower/development/setup.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

watch-tower/development/setup.mdx#L65

Did you really mean 'Testnets'?

When developing, test against Goerli or Sepolia testnet by following these steps:

Check warning on line 67 in watch-tower/development/setup.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

watch-tower/development/setup.mdx#L67

Did you really mean 'Goerli'?

Check warning on line 67 in watch-tower/development/setup.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

watch-tower/development/setup.mdx#L67

Did you really mean 'Sepolia'?

Check warning on line 67 in watch-tower/development/setup.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

watch-tower/development/setup.mdx#L67

Did you really mean 'testnet'?

1. Configure your RPC endpoint in the config file
2. Set the appropriate deployment block for the testnet

Check warning on line 70 in watch-tower/development/setup.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

watch-tower/development/setup.mdx#L70

Did you really mean 'testnet'?
3. Run the watch-tower with your test configuration

```bash
Expand Down
2 changes: 1 addition & 1 deletion watch-tower/getting-started/installation.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@

# Installation

The CoW Protocol Watch Tower is a standalone application that monitors blockchain events for programmatic orders and submits them to the CoW Protocol OrderBook API.

Check warning on line 8 in watch-tower/getting-started/installation.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

watch-tower/getting-started/installation.mdx#L8

Did you really mean 'blockchain'?

## Requirements

Before installing the Watch Tower, ensure you have the following:

* Node.js `>= v16.18.0`
* Node.js `>= v18.0.0`
* yarn package manager
* An RPC node connected to a supported network (Ethereum mainnet, Arbitrum One, Gnosis Chain, Base, Sepolia, etc.)

Check warning on line 16 in watch-tower/getting-started/installation.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

watch-tower/getting-started/installation.mdx#L16

Did you really mean 'Ethereum'?

Check warning on line 16 in watch-tower/getting-started/installation.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

watch-tower/getting-started/installation.mdx#L16

Did you really mean 'mainnet'?

Check warning on line 16 in watch-tower/getting-started/installation.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

watch-tower/getting-started/installation.mdx#L16

Did you really mean 'Arbitrum'?

Check warning on line 16 in watch-tower/getting-started/installation.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

watch-tower/getting-started/installation.mdx#L16

Did you really mean 'Sepolia'?
* Internet access to the CoW Protocol OrderBook API

## Installation
Expand Down Expand Up @@ -74,7 +74,7 @@

<Steps>
<Step title="Generate type definitions">
Generate TypeChain types from contract ABIs:

Check warning on line 77 in watch-tower/getting-started/installation.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

watch-tower/getting-started/installation.mdx#L77

Did you really mean 'ABIs'?

```bash
yarn typechain
Expand Down
2 changes: 1 addition & 1 deletion watch-tower/introduction.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@

## What is Watch Tower?

The Watch Tower is a standalone application that monitors the blockchain for programmatic orders created through the [CoW Protocol](https://docs.cow.fi/cow-protocol) [programmatic order framework](https://docs.cow.fi/cow-protocol/concepts/order-types/programmatic-orders). It acts as a critical infrastructure component that bridges on-chain programmatic orders with the CoW Protocol OrderBook API.
The Watch Tower is a standalone application that monitors the blockchain for programmatic orders created through the [CoW Protocol](https://docs.cow.fi/cow-protocol) [programmatic order framework](/cow-protocol/reference/contracts/programmatic/twap). It acts as a critical infrastructure component that bridges on-chain programmatic orders with the CoW Protocol OrderBook API.

Check warning on line 12 in watch-tower/introduction.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

watch-tower/introduction.mdx#L12

Did you really mean 'blockchain'?

> "Watch Tower keeps an eye on Composable Cows, automatically detecting new programmatic orders and posting eligible discrete orders to the orderbook."

Check warning on line 14 in watch-tower/introduction.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

watch-tower/introduction.mdx#L14

Did you really mean 'Composable'?

Check warning on line 14 in watch-tower/introduction.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

watch-tower/introduction.mdx#L14

Did you really mean 'orderbook'?

## Why does it exist?

Programmatic orders in CoW Protocol allow users to define trading logic on-chain through smart contracts. However, these orders need to be:

1. **Discovered** - The watch tower monitors blockchain events to detect when new programmatic orders are created

Check warning on line 20 in watch-tower/introduction.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

watch-tower/introduction.mdx#L20

Did you really mean 'blockchain'?
2. **Evaluated** - It continuously polls programmatic orders to check if their execution conditions are met
3. **Submitted** - When conditions are satisfied, it posts the resulting discrete orders to the CoW Protocol OrderBook API

Expand Down Expand Up @@ -47,14 +47,14 @@
The watch tower tracks two primary events emitted by the `ComposableCoW` contract:

* **`ConditionalOrderCreated`** - Emitted when a single programmatic order is created
* **`MerkleRootSet`** - Emitted when a batch of programmatic orders (merkle tree) is set for a safe

Check warning on line 50 in watch-tower/introduction.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

watch-tower/introduction.mdx#L50

Did you really mean 'merkle'?

### Persistent registry

All discovered programmatic orders are stored in a local LevelDB database, maintaining:

* Active programmatic orders by owner (safe address)
* Order parameters and merkle proofs

Check warning on line 57 in watch-tower/introduction.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

watch-tower/introduction.mdx#L57

Did you really mean 'merkle'?
* Last processed block information
* Submitted discrete order status

Expand All @@ -74,11 +74,11 @@

The watch tower can monitor multiple chains simultaneously, including:

* Ethereum Mainnet

Check warning on line 77 in watch-tower/introduction.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

watch-tower/introduction.mdx#L77

Did you really mean 'Ethereum'?

Check warning on line 77 in watch-tower/introduction.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

watch-tower/introduction.mdx#L77

Did you really mean 'Mainnet'?
* Arbitrum One

Check warning on line 78 in watch-tower/introduction.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

watch-tower/introduction.mdx#L78

Did you really mean 'Arbitrum'?
* Gnosis Chain
* Base
* Sepolia (testnet)

Check warning on line 81 in watch-tower/introduction.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

watch-tower/introduction.mdx#L81

Did you really mean 'Sepolia'?

Check warning on line 81 in watch-tower/introduction.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

watch-tower/introduction.mdx#L81

Did you really mean 'testnet'?

## Use cases

Expand All @@ -90,7 +90,7 @@
* Ensure reliable execution of your users' programmatic orders
* Maintain independence from third-party infrastructure

### For DApp node operators

Check warning on line 93 in watch-tower/introduction.mdx

View check run for this annotation

Mintlify / Mintlify Validation (cowswap) - vale-spellcheck

watch-tower/introduction.mdx#L93

Did you really mean 'DApp'?

The watch tower is available as a [DAppNode package](https://github.com/cowprotocol/dappnodepackage-cow-watch-tower), allowing you to:

Expand Down