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
2 changes: 1 addition & 1 deletion api-reference/rfq/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ An OTC trade on Velora is a deal between two parties who already know each other
| `GET` | [`/ft/p2p/{chainId}/taker/{address}`](/api-reference/rfq/orders-list-taker) | List orders addressed to a taker |
| `GET` | [`/ft/fillablebalance/{chainId}/{address}`](/api-reference/rfq/fillable-balance) | Maker's fillable balance for order sizing, optionally scoped to a token |

Everything lives under `https://api.velora.xyz`. Filling and cancelling are on-chain calls to AugustusRFQ, not REST endpoints (see [Filling an order](#filling-an-order) and [Cancelling an order](#cancelling-an-order)). AugustusRFQ is deployed on Ethereum, Arbitrum, Avalanche, Base, BSC, Gnosis, Optimism, and Polygon; see [Chains & contracts](/resources/chains-and-contracts) for per-chain addresses and availability.
Everything lives under `https://api.velora.xyz`. Filling and cancelling are on-chain calls to AugustusRFQ, not REST endpoints (see [Filling an order](#filling-an-order) and [Cancelling an order](#cancelling-an-order)). AugustusRFQ is deployed on Ethereum, Arbitrum, Avalanche, Base, BSC, Gnosis, Optimism, Polygon, and Unichain; see [Chains & contracts](/resources/chains-and-contracts) for per-chain addresses and availability.

## Filling an order

Expand Down
4 changes: 2 additions & 2 deletions api-reference/specs/delta-v2.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
"type": "integer",
"example": 1
},
"description": "Source chain ID. Supported: 1, 10, 56, 100, 130, 137, 8453, 42161, 43114."
"description": "Source chain ID. Supported: 1, 10, 56, 100, 130, 137, 4663, 8453, 42161, 43114."
},
{
"name": "srcToken",
Expand Down Expand Up @@ -271,7 +271,7 @@
"description": "Returns a recommended `route` plus `alternatives` (up to a few bridge options for crosschain). Pass the returned `route` and `side` verbatim to `POST /v2/delta/orders/build`.",
"operationId": "deltaV2Prices",
"parameters": [
{ "name": "chainId", "in": "query", "required": true, "schema": { "type": "integer", "example": 1 }, "description": "Source chain ID. Supported: 1, 10, 56, 100, 130, 137, 8453, 42161, 43114." },
{ "name": "chainId", "in": "query", "required": true, "schema": { "type": "integer", "example": 1 }, "description": "Source chain ID. Supported: 1, 10, 56, 100, 130, 137, 4663, 8453, 42161, 43114." },
{ "name": "srcToken", "in": "query", "required": true, "schema": { "type": "string", "example": "0x6B175474E89094C44Da98b954EedeAC495271d0F" } },
{ "name": "destToken", "in": "query", "required": true, "schema": { "type": "string", "example": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" }, "description": "Destination token. For crosschain quotes, the destination token on `destChainId`." },
{ "name": "amount", "in": "query", "required": true, "schema": { "type": "string", "example": "1000000000000000000" }, "description": "Source amount (SELL) or destination amount (BUY), in raw token units." },
Expand Down
2 changes: 1 addition & 1 deletion api-reference/specs/rfq.json
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@
},
"ChainId": {
"type": "integer",
"description": "EVM chain ID. AugustusRFQ is deployed on 1 (Mainnet), 10 (Optimism), 56 (BSC), 137 (Polygon), 8453 (Base), 42161 (Arbitrum), 43114 (Avalanche), and 100 (Gnosis). See /resources/chains-and-contracts for per-chain addresses.",
"description": "EVM chain ID. AugustusRFQ is deployed on 1 (Mainnet), 10 (Optimism), 56 (BSC), 100 (Gnosis), 130 (Unichain), 137 (Polygon), 8453 (Base), 42161 (Arbitrum), and 43114 (Avalanche). See /resources/chains-and-contracts for per-chain addresses.",
"example": 1
},
"TokenAmount": {
Expand Down
2 changes: 1 addition & 1 deletion delta/how-it-works.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ You `POST /v2/delta/orders` with `order` (the `toSign.value`), the `signature`,

### 5. Settle

The protocol settlement layer calls `settle(...)` on the Delta contract (`0x0000000000bbF5c5Fd284e657F01Bd000933C96D`, same address on every supported chain) with the signed order and the winning solver's fill calldata. The contract verifies the signature, pulls `srcToken` from the user via the approved spender (the Delta contract itself), runs the fill, and delivers `destToken` to the user. If settlement fails, nothing is pulled from the user. You track progress via `GET /v2/delta/orders/{orderId}` until the order reaches a terminal status (`COMPLETED`, `EXPIRED`, `FAILED`, `CANCELLED`, or `REFUNDED`). Crosschain orders can report `REFUNDING` before `REFUNDED` while Velora verifies the bridge refund transaction.
The protocol settlement layer calls `settle(...)` on the Delta contract (`0x0000000000bbF5c5Fd284e657F01Bd000933C96D`, same address on every Delta-enabled chain) with the signed order and the winning solver's fill calldata. The contract verifies the signature, pulls `srcToken` from the user via the approved spender (the Delta contract itself), runs the fill, and delivers `destToken` to the user. If settlement fails, nothing is pulled from the user. You track progress via `GET /v2/delta/orders/{orderId}` until the order reaches a terminal status (`COMPLETED`, `EXPIRED`, `FAILED`, `CANCELLED`, or `REFUNDED`). Crosschain orders can report `REFUNDING` before `REFUNDED` while Velora verifies the bridge refund transaction.

## Why this design

Expand Down
2 changes: 1 addition & 1 deletion for-agents/mcp-server/available-tools.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,7 @@ Checks include: a `network` key anywhere in the plan (must be `chainId`), MEV in

List the EVM chains Velora supports. No parameters.

Returns `result.raw.chains` as `{ chainId, name }` pairs with `source: "server-known"`: Ethereum (1), Optimism (10), BNB Chain (56), Gnosis (100), Unichain (130), Polygon (137), Sonic (146), Base (8453), Arbitrum (42161), Avalanche (43114).
Returns `result.raw.chains` as `{ chainId, name }` pairs with `source: "server-known"`: Ethereum (1), Optimism (10), BNB Chain (56), Gnosis (100), Unichain (130), Polygon (137), Robinhood Chain (4663), Base (8453), Arbitrum (42161), Avalanche (43114).

This is a server-known list, not a live API response, and may lag actual support. Confirm a specific chain with `velora_get_tokens`; do not assume every EVM chain is supported.

Expand Down
2 changes: 1 addition & 1 deletion for-agents/token-approvals.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ If the user's source token is the chain's native asset, there is no approval ste
| Market Swap | **Augustus v6.2** |
| AugustusRFQ (OTC/RFQ) | **AugustusRFQ** contract on the target chain |

Deployed addresses for each spender, per chain: [Chains & contracts → Addresses by chain](/resources/chains-and-contracts#addresses-by-chain). Delta and AugustusRFQ are not deployed everywhere; code should read availability at runtime via [`/resources/contracts.json`](/resources/contracts.json) keyed by `chainId`.
Deployed addresses for each spender, per chain: [Chains & contracts → Addresses by chain](/resources/chains-and-contracts#addresses-by-chain). Delta, Augustus v6.2, and AugustusRFQ are each missing on some chains; code should read availability at runtime via [`/resources/contracts.json`](/resources/contracts.json) keyed by `chainId`.

<Warning>
Spenders are mode-specific and **never interchangeable**. An approval to Augustus does not authorize a Delta order. An approval to the Delta contract does not authorize a Market swap. Re-quoting under a different mode changes the spender; re-check the allowance before signing.
Expand Down
34 changes: 18 additions & 16 deletions resources/chains-and-contracts.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,15 @@ This page is the single source of truth for contract addresses across Velora's s

## Supported chains

Velora supports the following EVM networks. Each chain has Augustus v6.2 (Market routing) deployed; Delta availability is a subset.
Velora supports the following EVM networks. Most chains run both Delta and Augustus v6.2 (Market routing); the [table below](#addresses-by-chain) shows which modes each chain supports.

- Ethereum (1)
- Optimism (10)
- BNB Chain (56)
- Gnosis (100)
- Unichain (130)
- Polygon (137)
- Robinhood Chain (4663)
- Base (8453)
- Arbitrum One (42161)
- Avalanche (43114)
Expand All @@ -31,25 +32,26 @@ The authoritative supported-chain list is queryable at runtime via `GET /chains`

Each contract is also the ERC-20 spender for its execution mode — approve Augustus v6.2 for Market swaps, the Delta contract for Delta orders (Swap, Limit, TWAP), and AugustusRFQ for OTC/RFQ fills. A `—` means the contract isn't deployed on that chain and the corresponding mode is unavailable there. See [Token approvals for agents](/for-agents/token-approvals) for the spender-by-mode decision rules.

**Augustus v6.2** is deployed at `0x6a000f20005980200259b80c5102003040001068` on every supported chain. **Delta** is deployed at `0x0000000000bbf5c5fd284e657f01bd000933c96d` and **Delta Wrapped Native (dETH)** at `0x0a0d53b6684c7b32b4cbef5fe8483bfcc8406742`, both at the same address on every Delta-enabled chain. **Fee Claimer** is deployed at `0x00700052c0608F670705380a4900e0a8080010CC` on every supported chain. AugustusRFQ addresses vary per chain and are listed below.

| Chain (ID) | Delta | AugustusRFQ |
|---|---|---|
| Ethereum (1) | ✓ | `0xe92b586627ccA7a83dC919cc7127196d70f55a06` |
| Optimism (10) | ✓ | `0x0927FD43a7a87E3E8b81Df2c44B03C4756849F6D` |
| BNB Chain (56) | ✓ | `0x8DcDfe88EF0351f27437284D0710cD65b20288bb` |
| Gnosis (100) | — | `0x92EaD5bACf6F0E995FA46Ad8215A9b11f67ca241` |
| Unichain (130) | ✓ | `0x92EaD5bACf6F0E995FA46Ad8215A9b11f67ca241` |
| Polygon (137) | ✓ | `0xF3CD476C3C4D3Ac5cA2724767f269070CA09A043` |
| Base (8453) | ✓ | `0xa003dFBA51C9e1e56C67ae445b852bdEd7aC5EEd` |
| Arbitrum One (42161) | ✓ | `0x0927FD43a7a87E3E8b81Df2c44B03C4756849F6D` |
| Avalanche (43114) | — | `0x34302c4267d0dA0A8c65510282Cc22E9e39df51f` |
**Delta** is deployed at `0x0000000000bbf5c5fd284e657f01bd000933c96d` and **Delta Wrapped Native (dETH)** at `0x0a0d53b6684c7b32b4cbef5fe8483bfcc8406742`, both at the same address on every Delta-enabled chain. **Augustus v6.2** is deployed at `0x6a000f20005980200259b80c5102003040001068` on every Market-enabled chain. **Fee Claimer** is deployed at `0x00700052c0608F670705380a4900e0a8080010CC` on every Market-enabled chain. AugustusRFQ addresses vary per chain and are listed below.

| Chain (ID) | Delta | Market (Augustus v6.2) | AugustusRFQ |
|---|---|---|---|
| Ethereum (1) | ✓ | ✓ | `0xe92b586627ccA7a83dC919cc7127196d70f55a06` |
| Optimism (10) | ✓ | ✓ | `0x0927FD43a7a87E3E8b81Df2c44B03C4756849F6D` |
| BNB Chain (56) | ✓ | ✓ | `0x8DcDfe88EF0351f27437284D0710cD65b20288bb` |
| Gnosis (100) | — | ✓ | `0x92EaD5bACf6F0E995FA46Ad8215A9b11f67ca241` |
| Unichain (130) | ✓ | ✓ | `0x92EaD5bACf6F0E995FA46Ad8215A9b11f67ca241` |
| Polygon (137) | ✓ | ✓ | `0xF3CD476C3C4D3Ac5cA2724767f269070CA09A043` |
| Robinhood Chain (4663) | ✓ | — | — |
| Base (8453) | ✓ | ✓ | `0xa003dFBA51C9e1e56C67ae445b852bdEd7aC5EEd` |
| Arbitrum One (42161) | ✓ | ✓ | `0x0927FD43a7a87E3E8b81Df2c44B03C4756849F6D` |
| Avalanche (43114) | — | ✓ | `0x34302c4267d0dA0A8c65510282Cc22E9e39df51f` |

## Contracts

### Augustus v6.2

The Market router. All Market [`POST /transactions/:chainId`](/api-reference/market/transactions) calldata targets the Augustus v6.2 contract on the requested chain. Deployed at the same address across every supported chain.
The Market router. All Market [`POST /transactions/:chainId`](/api-reference/market/transactions) calldata targets the Augustus v6.2 contract on the requested chain. Deployed at the same address across every Market-enabled chain.

### Augustus v6.1, v5

Expand All @@ -73,7 +75,7 @@ On-chain OTC and RFQ settlement contract. Supports partial fills and bilateral s

### Fee Claimer

Holds partner fees accrued from Market swaps until the partner claims them. Fees taken via `partnerAddress` accumulate in this contract per chain, and partners withdraw them through the [Fee Claimer app](https://velora.xyz/fee_claimer). Delta fees never pass through it; they accrue in the Delta contract itself. Deployed at the same address on every supported chain. See [Monetization](/overview/monetization) for fee parameters and the claim flow.
Holds partner fees accrued from Market swaps until the partner claims them. Fees taken via `partnerAddress` accumulate in this contract per chain, and partners withdraw them through the [Fee Claimer app](https://velora.xyz/fee_claimer). Delta fees never pass through it; they accrue in the Delta contract itself. Deployed at the same address on every Market-enabled chain. See [Monetization](/overview/monetization) for fee parameters and the claim flow.

## Related

Expand Down
6 changes: 5 additions & 1 deletion resources/contracts.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"_meta": {
"description": "Canonical per-chain deployment addresses for Velora's contract stack. Keyed by EVM chainId. Roles not deployed on a given chain are omitted.",
"source": "https://velora.xyz/docs/resources/chains-and-contracts",
"lastUpdated": "2026-06-10",
"lastUpdated": "2026-08-10",
"runtimeSource": "GET /chains on the Market API is the runtime source of truth for the supported-chain list.",
"unverifiedRoles": {
"note": "The plan-specified roles below are not yet sourced from a canonical Velora developer-docs page. Backfill when an authoritative source is published.",
Expand Down Expand Up @@ -50,6 +50,10 @@
"deltaWrappedNative": "0x0a0d53b6684c7b32b4cbef5fe8483bfcc8406742",
"augustusRFQ": "0xF3CD476C3C4D3Ac5cA2724767f269070CA09A043",
"feeClaimer": "0x00700052c0608F670705380a4900e0a8080010CC" },
"4663": {
"name": "Robinhood Chain",
"delta": "0x0000000000bbf5c5fd284e657f01bd000933c96d",
"deltaWrappedNative": "0x0a0d53b6684c7b32b4cbef5fe8483bfcc8406742" },
"8453": {
"name": "Base",
"augustusV6_2": "0x6a000f20005980200259b80c5102003040001068",
Expand Down
2 changes: 1 addition & 1 deletion widget/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ The Velora Widget is a React component that gives your users a complete trading
<CardGroup cols={2}>
<Card title="Multi-chain swaps" icon="arrows-left-right">
Same-chain and crosschain across Ethereum, Polygon, BNB, Avalanche,
Arbitrum, Optimism, Base, Gnosis, and Unichain.
Arbitrum, Optimism, Base, Gnosis, Unichain, and Robinhood Chain.
</Card>
<Card title="Limit, OTC, and TWAP orders" icon="clock">
Powered by [Delta](/delta/overview). Gasless and MEV-protected.
Expand Down