Compare commits

...

38 Commits

Author SHA1 Message Date
tim
19463faba8 fee touchup 2025-05-20 19:25:40 -04:00
tim
9dbf51b5d6 job listings 2025-05-20 17:27:28 -04:00
tim
64a1791dd5 0.01% fee 2025-05-20 13:39:51 -04:00
tim
2fedcb41b2 0.01% fee 2025-05-20 13:36:47 -04:00
tim
6791c05887 0.01% fee 2025-05-20 13:27:25 -04:00
tim
2487e2e98b we're "hiring" 2025-05-19 17:09:41 -04:00
tim
4b6b40fa9b corp feature loop front & center 2025-05-19 16:48:47 -04:00
tim
5d34766105 put app back on app.dexorder.com and corp site on dexorder.com with www redirecting to apex 2025-05-19 15:47:04 -04:00
tim
308860b2b0 put app back on app.dexorder.com and corp site on dexorder.com with www redirecting to apex 2025-05-19 15:19:20 -04:00
tim
4b4c3bf639 dotcom 2025-05-06 13:56:05 -04:00
tim
1e6511f137 Launch App button at bottom of corp home 2025-04-15 19:54:56 -04:00
tim
606e5fd2d2 Privacy Policy remove Beta reference 2025-04-09 20:58:06 -04:00
tim
1bcce4eedc video analytics tracking 2025-04-08 14:07:37 -04:00
tim
c243b4afc3 stop autoplay 2025-04-03 16:57:40 -04:00
tim
8eff3da973 slippage doc 2025-03-31 14:45:42 -04:00
tim
45b205eedc liquidity & slippage docs 2025-03-31 14:39:38 -04:00
tim
14c4d0b9e0 autoplay intro 2025-03-25 12:29:51 -04:00
tim
a098e22e20 google analytics 2025-03-24 17:40:04 -04:00
tim
00594c8125 homepage video 2025-03-13 16:02:42 -04:00
tim
48ad37f105 homepage video 2025-03-13 15:46:05 -04:00
tim
78d6b32a88 TradingView link fix 2025-03-13 15:29:09 -04:00
tim
0c19653088 minAmount 0.1% 2025-03-11 10:51:05 -04:00
tim
e15aa54386 faq 2025-03-10 13:47:57 -04:00
tim
ba43d52c9f intro vid on homepage 2025-03-05 18:12:34 -04:00
tim
9e595f91d6 updated intro video 2025-03-05 02:28:35 -04:00
tim
c7e45abc1b updated intro video 2025-03-04 23:47:38 -04:00
tim
933e081a4b home icons 2025-03-04 00:16:22 -04:00
tim
bd7a2af7b4 home icons 2025-03-04 00:10:45 -04:00
tim
5670b165d1 home icons 2025-03-04 00:10:31 -04:00
tim
0b5b310483 corp hero img 2025-03-03 22:52:00 -04:00
tim
565682ed2b intro video embed 2025-02-26 17:43:12 -04:00
tim
d97ff86e14 title tweaka 2025-02-24 16:47:10 -04:00
tim
646117ca10 moved media to corp 2025-02-23 10:13:18 -04:00
tim
ea1fc77257 privacy policy 2025-02-21 23:26:53 -04:00
tim
156160b041 corp sitemap generation 2025-02-18 13:41:33 -04:00
tim
65a56807de homepage logo 2025-02-17 20:49:32 -04:00
tim
3a89aa997d homepage logo 2025-02-17 20:41:52 -04:00
tim
eb6b2ee9e8 corp intro/features 2025-02-17 20:12:21 -04:00
39 changed files with 352 additions and 57 deletions

BIN
media/banner-3-1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 197.74 264.44"><defs><style>.cls-1{fill:#35d721;}</style></defs><title>Asset 14</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_2-2" data-name="Layer 2"><polygon class="cls-1" points="99.15 0 0 129.6 53.91 129.6 53.78 248.87 145.01 129.6 197.74 129.6 99.15 0"/><polygon class="cls-1" points="95.07 264.44 145.02 199.16 144.98 264.44 95.07 264.44"/><polygon class="cls-1" points="53.79 264.44 145.04 145.15 145.04 156.62 62.55 264.44 53.79 264.44"/><polygon class="cls-1" points="74.39 264.44 145.02 172.11 145.02 183.57 83.16 264.44 74.39 264.44"/></g></g></svg>

After

Width:  |  Height:  |  Size: 623 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1487.72 264.73"><defs><style>.cls-1{fill:#fff;}.cls-2{fill:#35d721;}</style></defs><title>Asset 13</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_2-2" data-name="Layer 2"><path class="cls-1" d="M305.33,264.49c-37.72,0-56.58-20.37-56.58-60.73v-72c0-40.37,18.86-60.74,56.58-60.74h62.25V37.6L396.25.05V264.49ZM367.58,100.4H306.47C286.85,100.4,277,111,277,132.84V203c0,21.51,9.81,32.45,29.43,32.45h61.11Z"/><path class="cls-1" d="M472.26,264.59c-37.72,0-56.58-20.37-56.58-60.74v-72c0-40.36,18.86-60.73,56.58-60.73h34.33c38.1,0,57,20.37,57,60.73v47.91H443.22V203.1c0,21.5,9.8,32.44,29,32.44h91.29l-18.75,29Zm64.13-133.54c0-21.51-9.81-32.45-29.42-32.45H472.26c-19.24,0-29,10.94-29,32.45v23.76h93.17Z"/><path class="cls-1" d="M789,264.73c-50.17,0-62.62-16.22-62.62-65.64V136.85c0-51.68,15.09-65.64,62.62-65.64H816.2c49.8,0,62.62,16.6,62.62,65.64v62.24c0,43.76-12.45,65.64-51.68,65.64ZM850.53,132c0-20-6.79-31.31-24.52-31.31H778.86c-16.22,0-24.15,8.67-24.15,26.78v77c0,19.61,6.42,31.31,24.15,31.31H826c16.22,0,24.52-9.06,24.52-26.79Z"/><path class="cls-1" d="M927.06,263.88l-.4-131.68c0-21.88,9.81-32.44,29.42-32.44h61.12V70.34H955c-37.72,0-56.58,20.37-56.58,60.73l-.12,132.81Z"/><path class="cls-1" d="M1397.58,264.45l-.4-131.67c0-21.88,9.81-32.45,29.42-32.45h61.12V70.91h-62.25c-37.72,0-56.58,20.37-56.58,60.73l-.12,132.81Z"/><polygon class="cls-1" points="721.45 71.07 689.08 71.07 644.02 142.86 598.4 71.07 567.54 71.07 628.31 167.89 567.54 264.71 598.4 264.71 644.02 192.92 689.08 264.71 721.45 264.71 659.93 167.89 721.45 71.07"/><path class="cls-1" d="M1258.05,264.44c-37.72,0-56.58-20.37-56.58-60.73V131.65c0-40.36,18.86-60.73,56.58-60.73h34.33c38.1,0,57,20.37,57,60.73v47.91H1229V203c0,21.5,9.81,32.44,29,32.44h91.29v29.05Zm64.13-133.54c0-21.5-9.81-32.44-29.42-32.44h-34.71c-19.24,0-29,10.94-29,32.44v23.77h93.18Z"/><path class="cls-1" d="M1091.12,264.44c-37.72,0-56.58-20.37-56.58-60.73V131.65c0-40.36,18.86-60.73,56.58-60.73h62.25V37.55L1182,0V264.44Zm62.25-164.1h-61.12c-19.61,0-29.42,10.57-29.42,32.45V203c0,21.5,9.81,32.44,29.42,32.44h61.12Z"/><polygon class="cls-2" points="99.15 0.05 0 129.65 53.91 129.65 53.78 248.92 145.01 129.65 197.74 129.65 99.15 0.05"/><polygon class="cls-2" points="95.07 264.49 145.02 199.22 144.98 264.49 95.07 264.49"/><polygon class="cls-2" points="53.79 264.49 145.04 145.2 145.04 156.67 62.55 264.49 53.79 264.49"/><polygon class="cls-2" points="74.39 264.49 145.02 172.16 145.02 183.62 83.16 264.49 74.39 264.49"/></g></g></svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1487.72 264.73"><defs><style>.cls-1{fill:#0f0f0f;}.cls-2{fill:#35d721;}</style></defs><title>Asset 12</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_2-2" data-name="Layer 2"><path class="cls-1" d="M305.33,264.49c-37.72,0-56.58-20.37-56.58-60.73v-72c0-40.37,18.86-60.74,56.58-60.74h62.25V37.6L396.25.05V264.49ZM367.58,100.4H306.47C286.85,100.4,277,111,277,132.84V203c0,21.51,9.81,32.45,29.43,32.45h61.11Z"/><path class="cls-1" d="M472.26,264.59c-37.72,0-56.58-20.37-56.58-60.74v-72c0-40.36,18.86-60.73,56.58-60.73h34.33c38.1,0,57,20.37,57,60.73v47.91H443.22V203.1c0,21.5,9.8,32.44,29,32.44h91.29l-18.75,29Zm64.13-133.54c0-21.51-9.81-32.45-29.42-32.45H472.26c-19.24,0-29,10.94-29,32.45v23.76h93.17Z"/><path class="cls-1" d="M789,264.73c-50.17,0-62.62-16.22-62.62-65.64V136.85c0-51.68,15.09-65.64,62.62-65.64H816.2c49.8,0,62.62,16.6,62.62,65.64v62.24c0,43.76-12.45,65.64-51.68,65.64ZM850.53,132c0-20-6.79-31.31-24.52-31.31H778.86c-16.22,0-24.15,8.67-24.15,26.78v77c0,19.61,6.42,31.31,24.15,31.31H826c16.22,0,24.52-9.06,24.52-26.79Z"/><path class="cls-1" d="M927.06,263.88l-.4-131.68c0-21.88,9.81-32.44,29.42-32.44h61.12V70.34H955c-37.72,0-56.58,20.37-56.58,60.73l-.12,132.81Z"/><path class="cls-1" d="M1397.58,264.45l-.4-131.67c0-21.88,9.81-32.45,29.42-32.45h61.12V70.91h-62.25c-37.72,0-56.58,20.37-56.58,60.73l-.12,132.81Z"/><polygon class="cls-1" points="721.45 71.07 689.08 71.07 644.02 142.86 598.4 71.07 567.54 71.07 628.31 167.89 567.54 264.71 598.4 264.71 644.02 192.92 689.08 264.71 721.45 264.71 659.93 167.89 721.45 71.07"/><path class="cls-1" d="M1258.05,264.44c-37.72,0-56.58-20.37-56.58-60.73V131.65c0-40.36,18.86-60.73,56.58-60.73h34.33c38.1,0,57,20.37,57,60.73v47.91H1229V203c0,21.5,9.81,32.44,29,32.44h91.29v29.05Zm64.13-133.54c0-21.5-9.81-32.44-29.42-32.44h-34.71c-19.24,0-29,10.94-29,32.44v23.77h93.18Z"/><path class="cls-1" d="M1091.12,264.44c-37.72,0-56.58-20.37-56.58-60.73V131.65c0-40.36,18.86-60.73,56.58-60.73h62.25V37.55L1182,0V264.44Zm62.25-164.1h-61.12c-19.61,0-29.42,10.57-29.42,32.45V203c0,21.5,9.81,32.44,29.42,32.44h61.12Z"/><polygon class="cls-2" points="99.15 0.05 0 129.65 53.91 129.65 53.78 248.92 145.01 129.65 197.74 129.65 99.15 0.05"/><polygon class="cls-2" points="95.07 264.49 145.02 199.22 144.98 264.49 95.07 264.49"/><polygon class="cls-2" points="53.79 264.49 145.04 145.2 145.04 156.67 62.55 264.49 53.79 264.49"/><polygon class="cls-2" points="74.39 264.49 145.02 172.16 145.02 183.62 83.16 264.49 74.39 264.49"/></g></g></svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 749 KiB

BIN
media/video/dca.mov Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
media/video/supercut.mov Normal file

Binary file not shown.

View File

@@ -11,5 +11,8 @@
"docs:dev": "vitepress dev src",
"docs:build": "vitepress build src",
"docs:preview": "vitepress preview src"
},
"dependencies": {
"sitemap": "^8.0.0"
}
}

View File

@@ -1,18 +1,46 @@
import { defineConfig } from 'vitepress'
import { SitemapStream } from 'sitemap'
import { createWriteStream } from 'node:fs'
import { resolve } from 'node:path'
// https://vitepress.dev/reference/site-config
export default defineConfig({
title: "Dexorder",
title: "dexorder",
// this description is put into the meta tag for SEO
description: "Power up Uniswap with limit orders, stoplosses, DCA's, breakout orders, and more. 100% noncustodial and EVM-native.",
head: [
[ 'meta', { name: 'viewport', content: 'width=device-width, initial-scale=1'}],
[ 'link', { rel: 'icon', href: '/favicon.ico' }],
[ 'link', { rel: 'canonical', href: 'https://dexorder.trade/' }],
[ 'link', { rel: 'canonical', href: 'https://dexorder.com/' }],
[ 'link', { rel: 'preconnect', href: 'https://fonts.googleapis.com' }],
[ 'link', { rel: 'preconnect', href: 'https://fonts.gstatic.com', crossorigin: '' }],
[ 'link', { rel: 'stylesheet', href: 'https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&family=Victor+Mono:ital,wght@0,100..700;1,100..700&display=swap' }],
/*
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-L6F3Z6SBC7"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-L6F3Z6SBC7');
</script>
*/
[
'script',
{ async: '', src: 'https://www.googletagmanager.com/gtag/js?id=G-L6F3Z6SBC7' }
],
[
'script',
{},
`window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-L6F3Z6SBC7');`
]
],
transformHead({assets}) {
// put the path of local assets into the <head>
@@ -45,7 +73,7 @@ export default defineConfig({
nav: [
{ text: 'Home', link: '/' },
{ text: 'Docs', link: '/introduction' },
{ text: 'App', link: 'https://app.dexorder.trade/', target: 'dexorderapp', props: {} }
{ text: 'App', link: 'https://app.dexorder.com/', target: 'dexorderapp', props: {} }
],
sidebar: [
@@ -54,15 +82,24 @@ export default defineConfig({
items: [
{text: 'Introduction', link: '/introduction',},
{text: 'Features', link: '/features',},
{text: 'FAQ', link: '/faq',},
{text: 'Fees', link: '/fees',},
{text: 'Jobs', link: '/jobs',},
]
},
{
text: 'Docs',
items: [
{text: 'Liquidity', link: '/liquidity',},
{text: 'Slippage', link: '/slippage',},
]
},
{
text: 'Legal',
items: [
{text: 'Terms of Service', link: '/terms-of-service',},
{text: 'Privacy Policy', link: '/privacy-policy',},
{text: 'Execution Policy', link: '/execution-policy',},
// {text: 'Privacy Policy', link: '/privacy-policy',}, TODO
]
},
],
@@ -75,6 +112,7 @@ export default defineConfig({
footer: {
copyright: `© ${new Date().getFullYear()} Dexorder Trading Services Ltd. (BVI)`,
message: "<span>Email us <a href=\"mailto:info@dexorder.com\">info@dexorder.com</a></span><span style=\"display: inline-block;width:2em;text-align: center\">&nbsp;</span><span><a href=\"/jobs\">We're hiring</a>!</span>",
},
},
@@ -84,4 +122,26 @@ export default defineConfig({
md.disable(['replacements'], false)
},
},
// Sitemap generation
transformHtml: (_, id, { pageData }) => {
if (!/[\\/]404\.html$/.test(id))
links.push({
// you might need to change this if not using clean urls mode
url: pageData.relativePath.replace(/((^|\/)index)?\.md$/, '$2'),
lastmod: pageData.lastUpdated
})
},
buildEnd: async ({ outDir }) => {
const sitemap = new SitemapStream({
hostname: 'https://dexorder.com/'
})
const writeStream = createWriteStream(resolve(outDir, 'sitemap.xml'))
sitemap.pipe(writeStream)
links.forEach((link) => sitemap.write(link))
sitemap.end()
await new Promise((r) => writeStream.on('finish', r))
},
})
const links = []

View File

@@ -3,12 +3,16 @@ import { h } from 'vue'
import type { Theme } from 'vitepress'
import DefaultTheme from 'vitepress/theme-without-fonts' // WITHOUT fonts
import './style.css'
import FeatureVideoLoop from "../../components/FeatureVideoLoop.vue";
import IntroVideo from "../../components/IntroVideo.vue";
export default {
extends: DefaultTheme,
Layout: () => {
return h(DefaultTheme.Layout, null, {
// https://vitepress.dev/guide/extending-default-theme#layout-slots
'home-hero-info-after': () => h(FeatureVideoLoop),
'home-features-after': () => h(IntroVideo),
})
},
enhanceApp({ app, router, siteData }) {

View File

@@ -153,6 +153,22 @@
--docsearch-primary-color: var(--vp-c-brand-1) !important;
}
/*
div.VPHomeHero div.container {
display: flex;
flex-direction: column-reverse;
}
div.VPHomeHero div.container div.image {
justify-self: left;
}
*/
h1.heading span.name {
font-family: 'Forgotten Futurist', sans-serif;
/*
color: transparent !important;
-webkit-text-fill-color: transparent !important;
background-image: url("/dexorder_full_darkmode.svg");
*/
}

View File

@@ -0,0 +1,8 @@
<template>
<div style="display: flex; margin: 2em 0">
<video width="500" autoplay loop muted>
<source src="/supercut.mov" type="video/mp4" />
Your browser does not support the video tag.
</video>
</div>
</template>

View File

@@ -0,0 +1,16 @@
<template>
<div style="display: flex; flex-direction: column; align-items: center">
<div style="margin: 1.5em auto; display: inline-block">
<!-- NOTE:
add ?autoplay=1 to the src query string
add enablejsapi=1 to query to allow video play tracking in the page's Google Analytics
-->
<iframe style="display: inline-block" width="560" height="315" :src="`https://www.youtube.com/embed/${idAndSi}&enablejsapi=1&autoplay=${autoplay?'1':'0'}`" title="Dexorder on YouTube" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div>
</div>
</template>
<script setup>
const idAndSi = '_sqzehuqWXw?si=SY04mCk9MhiBPFLP'
const props = defineProps({autoplay: {type: Boolean, default: false}})
</script>

View File

@@ -2,10 +2,14 @@
Dexorder makes a best-effort to execute your open orders as soon as all their conditions have been met. However, execution of trades may not always be possible due to various circumstances beyond Dexorder's control.
You may always activate your own orders by calling your vault's `execute()` method at the right time. See [GitHub](https://github.com/dexorder-trade/contract).
## Supported Tokens
Dexorder will only trigger orders that involve supported tokens. In order to be supported, the token must conform to _both_ the `ERC20` standard and the `ERC20Metadata` standard. Tokens without proper `decimal()` methods, for example,
are not supported.
Dexorder will only trigger orders that involve supported tokens. In order to be supported, the token must conform to _both_ the `ERC20` standard and the `ERC20Metadata` standard. Tokens without proper `decimal()` methods, for example, are not supported.
Supported tokens are searchable by their contract address. As a convenience, selected major tokens are also searchable
by their symbols. Tokens that do not appear in the web search by contract address are not supported.
## Typical Execution Attempts
@@ -13,10 +17,11 @@ Dexorder will attempt to execute each tranche at least ten (10) times under norm
## Failure Conditions
If an execution attempt reverts for an unrecognized reason unrelated to price, time, or other order conditions,
If an execution attempt reverts for an unrecognized reason unrelated to price, time, or other order and market conditions,
Dexorder will progressively slow down its execution attempts of that tranche, and if the tranche execution raises
an unknown reversion code three times in a row, the execution of that order may be prematurely aborted.
an unknown reversion code five times in a row, the execution of that order may be prematurely aborted.
## Timeout
Dexorder commits to providing triggering services for 367 days from the time your order was placed. Orders older than 367 days may be considered stale and removed from the triggering system.
Dexorder commits to providing order triggering services for one year from the time your order was placed. Orders older
than one year may be considered stale and deactivated in our system.

44
src/faq.md Normal file
View File

@@ -0,0 +1,44 @@
# Frequently Asked Questions
## Where can I get help?
* Use the on-site chat app to immediately talk with support, when available.
* Join our [Discord server](https://discord.gg/fqp9JXXQyt)
* Email [support@dexorder.com](mailto:support@dexorder.com)
## Open Order not Executing
First check the balance in your trading vault. Your orders can only trade the tokens
you deposit into your trading vault and cannot touch any tokens in your owning wallet
account. Orders which are paused due to not having enough input tokens show a status
of "Underfunded."
There is also a minimum amount per execution, which is 0.1% of the total amount. If the
funds in your vault are not enough to execute even 0.1% of your total order amount,
then no attempt will be made to trade, since the tradeable amount is too small. Make
sure your vault has enough funds to execute at least 0.1% of your total order.
For limit orders, make sure you have chosen the correct option between "Limit" and
"Breakout." Choosing the incorrect option will ask the order to fill on the opposite
side of the line you drew.
| | Limit | Breakout |
|----------|-------|----------|
| **Buy** | Below | Above |
| **Sell** | Above | Below |
## Market Order "Expired" with Partial Fill
Market Orders have a slippage control parameter which is set by default to 0.30%.
If your market order is large enough to move the pool price by more than this amount,
then only part of your order will be filled. The rest of the amount, which would
cause too much price slippage, is not filled. Since a market order does not have
any duration and does not try a second time, the order completes without being
completely filled. This state is called Expired, meaning the order ended before
being completely filled.
The slippage control of 0.30% is compared against the 10-second TWAP provided by
the Uniswap v3 oracles. This may be slightly different than the current pool price.

View File

@@ -7,14 +7,15 @@ title: Fees
## Fill Fee
Dexorder charges the same fee as the Uniswap pool you trade, capped at a maximum of 0.15%.
Dexorder charges just one basis point (0.01%) of the tokens you receive from trading.
| Uniswap Pool Fee | Dexorder Fee | Total Fee |
|------------------|--------------|-----------|
| 0.01% | 0.01% | 0.02% |
| 0.05% | 0.05% | 0.10% |
| 0.30% | 0.15% | 0.45% |
| 1.00% | 0.15% | 1.15% |
| 0.05% | 0.01% | 0.06% |
| 0.30% | 0.01% | 0.31% |
| 1.00% | 0.01% | 1.01% |
## Gas Fees

View File

@@ -1,32 +0,0 @@
---
layout: doc
title: How It Works
---
# How It Works
<img src="/how-it-works.png" alt="How It Works" class="img-fluid">
### Personal Trading Vaults
Dexorder provides advanced order management for your favorite Uniswap DeFi pools by providing you with a personal trading vault smart contract that can hold orders as well as tokens. When you create an order in the Dexorder app, you save it in your on-chain vault, and your smart trading vault will follow those order instructions to trade any coins that are in your vault.
### Funds are Never Locked
Tokens deposited into your vault may always be withdrawn at any time by only you. Funds are _never_ locked by the vault. If active orders in the vault need funds that you withdrew, those orders are simply unable to trade, and the orders will stay open without being able to execute. If you put tokens back into your vault, the orders will automatically resume and trade the newly deposited funds.
### Prepaid Gas
Orders like Limit Orders and DCA Orders do not execute right away but wait until time or price conditions are met. Activating a swap order against the DeFi pool requires a well-timed execution of your trading vault's `execute()` method along with the necessary gas.
Dexorder charges you up-front at order placement time for an estimated future amount of gas. Then, when the market conditions for your orders are met, Dexorder supplies your trading vault with that gas along with information about which order to execute. Your vault will check the order conditions against the current price and time and perform the swap with the DeFi pool only if everything looks correct.
See our open source smart contracts on [GitHub](https://github.com/dexorder-trade/contract).
### Charts
Creating dexorders couldn't be easier using the charts you know and love by [TradingView](https://tradingview.com/). What you see on the chart is the order you get on-chain.
### Power Up
Use Dexorder trading vaults for sophisticated order management when trading with your favorite **Uniswap** DeFi pool!

View File

@@ -3,18 +3,18 @@
layout: home
hero:
name: "dexorder"
# text: Pro DeFi
name: "<img src='/dexorder_full_darkmode.svg'/> "
# text: Advanced DeFi Orders
tagline: Power up Uniswap with limit orders, stoplosses, DCA's, breakout orders, and more. 100% noncustodial and EVM-native.
actions:
- theme: brand
text: Launch App
link: https://app.dexorder.trade/
link: https://app.dexorder.com/
target: dexorder-app
- theme: alt
text: Documentation
link: /introduction
# image:
# image: /dexorder-diag-hero.png
# light: /dexorder_full_lightmode.svg
# dark: /dexorder_full_darkmode.svg
@@ -25,12 +25,19 @@ features:
src: https://upload.wikimedia.org/wikipedia/commons/e/e7/Uniswap_Logo.svg
- title: Limits & Diagonals
details: Place limit orders and NEW diagonal limit lines to trade trends
icon:
src: /limit-ico.png
- title: DCA & TWAP
details: Split orders across time to average your price or manage big orders.
- title: Stop-loss & Take-profit
details: Automatically exit your postions in a 24/7 market (Coming Soon)
icon:
src: /dca-ico.png
- title: Breakout Orders
details: Jump on fresh trends and buy when the price breaks <i>above</i> your trigger level.
details: Jump on fresh trends and buy when the price breaks <i>above</i> your level.
icon:
src: /breakout-ico.png
- title: Stop-loss & Take-profit
details: Automatically exit your postions in a 24/7 market<br/>(Coming Soon)
icon: '±%'
- title: Fast and Cheap
icon:
light: /arb1-dark.svg
@@ -38,3 +45,33 @@ features:
details: Running on Arbitrum One means orders trade fast with cheap gas. More L2's coming soon.
---
<style>
a.VPButton-medium-brand {
border-color: var(--vp-button-brand-border);
color: var(--vp-button-brand-text);
background-color: var(--vp-button-brand-bg);
border-radius: 20px;
padding: 0 20px;
line-height: 38px;
font-size: 14px;
display: inline-block;
/*border: 1px solid transparent;*/
text-align: center;
font-weight: 600;
white-space: nowrap;
transition: color 0.25s, border-color 0.25s, background-color 0.25s;
text-decoration: none;
}
a.VPButton-medium-brand:hover {
border-color: var(--vp-button-brand-hover-border);
color: var(--vp-button-brand-hover-text);
background-color: var(--vp-button-brand-hover-bg);
}
</style>
<div style="text-align: center; margin-top: 2rem;">
<a class="VPButton-medium-brand" href="https://app.dexorder.com/" target="dexorder-app">Launch App</a>
</div>

View File

@@ -1,5 +1,10 @@
<script setup>
import IntroVideo from "./components/IntroVideo.vue"
</script>
# What is Dexorder?
<IntroVideo/>
Dexorder is an on-chain system providing advanced order management for DeFi traders. Dexorder is noncustodial and runs on the [Arbitrum One](https://arbitrum.io/) network (more L2's coming soon).
* Limit Orders
@@ -41,7 +46,8 @@ See [Gas Fees](/fees#gas-fees) for more.
## Web Interface
Creating dexorders couldn't be easier, using the charts you know and love by [TradingView](https://tradingview.com/). What you see on the chart is the order you get on-chain.
Creating dexorders couldn't be easier, using the charts you know and love by
<a href="https://tradingview.com/" target="_blank">TradingView</a>. What you see on the chart is the order you get on-chain.
When you place orders from the website, your wallet signs your order, putting it into your trading vault on-chain. Similarly, actions like Cancel or Cancel All are also signed by your web wallet and sent directly to the blockchain. Dexorder's servers are not involved with any of these interactions, which are made directly from your web wallet to your on-chain vault.

34
src/jobs.md Normal file
View File

@@ -0,0 +1,34 @@
# We're Hiring!
Join our growing team and build the future of DeFi!
## Front-end Engineer
* Remote work; background check required
* Must have Web3 experience
* JavaScript / Vue 3 / Socket.io / Ethers.js
* Apply to <a href='jobs@dexorder.com'>jobs@dexorder.com</a> and if you're serious, include the latest VaultInitCodeHash from our Arbitrum contracts.
## Marketing Manager
* Remote work; background check required
* Must have a strong network in crypto
* Campaign design and implementation
* Social media management
* KOI relationship management
* Ongoing content creation
* Apply to <a href='jobs@dexorder.com'>jobs@dexorder.com</a> and if you're serious, say what you think our most marketable feature is.
## Business Manager
* Remote work; background check required
* Resposible for all compliance activities
* Liase with legal and accounting
* Regular tax and compliance filings
* Payroll
* Bookkeeping
* Apply to <a href='jobs@dexorder.com'>jobs@dexorder.com</a> and if you're serious, mention what you think our biggest regulatory risk is.

11
src/liquidity.md Normal file
View File

@@ -0,0 +1,11 @@
# Liquidity
The term [liquidity](https://en.wikipedia.org/wiki/Market_liquidity) generally refers to the volume that counterparties are willing to immediately trade with you, without moving the price.
In the DeFi world, liquidity is usually reported as the USD-value of assets held by the pool, rather than the value of tradeable assets near the current price.
When you choose a pair to trade, Dexorder automatically selects the pool with the most liquidity.
Dexorder calculates liquidity as the USD-marked value of the pool's balance of the stablecoin or "big" token called the *quote token*. So for WETH/USDC we report liquidity as the pool's balance of USDC. For XXX/WETH, we report the USD value of the pool's WETH balance. For XXX/YYY, we report the liquidity in terms of the YYY balance, but we do not give any USD-marked value if YYY is not on our list of official quote tokens.
Liquidity in Uniswap v3 pools is complicated due to range-staking: the ability of liquidity providers to limit the prices where their liquidity is available. This means Uniswap v3 liquidity is not a single number but a distribution. The pool contract's method `liquidity()` reports only liquidity at the current "tick," which is frequently not even the peak liquidity, the tick with the most liquidity in it. The amount of liquidity in a Uniswap v3 pool also depends on whether you are buying or selling, and how close the current price is to the tick boundry. For all these complex reasons, liquidity is generally reported as "pool value," but traders should be aware that only a fraction of the reported liquidity will be available near the current price.

19
src/privacy-policy.md Normal file
View File

@@ -0,0 +1,19 @@
# Privacy Policy
Dexorder wants your trading business, not your data. We gather and keep a minimized set of data about your activity on
our website, and our Privacy Policy is simple:
When you agree to our Terms of Service, we record your IP address and the time.
We use your IP address to restrict our service in certain regions.
Your IP address and web requests will be temporarily recorded in standard web server logs.
We use [Crisp](https://crisp.chat/) for support chat, and it gives your browser a cookie. After we have gathered
feedback from early users, we
will remove this chat and its required cookie. You may block it using browser plugins without affecting the app.
We do not sell or otherwise allow anyone else to see our records except for compliance with legal subpoenas.
Your trading vault on the blockchain and it points to your wallet address, so it's public information that your wallet
address has visited our site. The orders you place are also publicly visible on-chain.

BIN
src/public/breakout-ico.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 986 B

BIN
src/public/dca-ico.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
src/public/limit-ico.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
src/public/supercut.mov Normal file

Binary file not shown.

15
src/slippage.md Normal file
View File

@@ -0,0 +1,15 @@
# Slippage
The term [slippage](https://en.wikipedia.org/wiki/Slippage_(finance)) refers to the difference between the price you expected, or the original market price, and the actual price you got when the trade was completed. The more volume you want to trade, the worse price you get, which is slippage.
In DeFi, slippage can be mechanically caused by [MEV](https://ethereum.org/en/developers/docs/mev) actors within a single block, so proper slippage controls use either oracle prices or something like a time-weighted average price (TWAP) as the "true" price.
Dexorder uses the 10-second TWAP as reported by the Uniswap v3 price oracles. If a price oracle has not been configured for a particular pool, Dexorder uses the pool's current reported price instead. The order's slippage control is then applied to this "true" price and the price limit is passed to the pool during the swap.
Slippage is set to 0.30% by default, and may not be lower than 0.01%.
Slippage control does not apply to limit orders that have designated an acceptable price. Limit orders can move the market as far as they want, up to their stated price limit. Slippage only applies to tranches that have not specified price limits, like DCA's or regular "buy now" market orders.
If an attempted execution hits the slippage control, then it fills partially and enters a brief cooldown period before attempting the trade again.
If your order is large enough to move the market and trigger slippage controls, consider using Dexorder's DCA or Dates tool to split up your order.

View File

@@ -7,7 +7,7 @@ title: Terms of Service
**Last Updated:** November 18, 2024
Please read these Terms of Service (the “**Terms**”) and our Privacy Policy carefully because they govern your use of the website (and all subdomains and subpages thereon) located at [dexorder.trade](https://dexorder.trade), including without limitation the subdomains [app.dexorder.trade](https://app.dexorder.trade) and [www.dexorder.trade](https://www.dexorder.trade) (collectively, the “**Site**”), and the Dexorder web application graphical user interface and any other services accessible via the Site (together with the Site, web application, and other services, collectively, the “**Dexorder Service**”) offered by Dexorder LLC (“**Dexorder**,” “**we**,” “**our**,” or “**us**”).
Please read these Terms of Service (the “**Terms**”) and our [Privacy Policy](/privacy-policy) carefully because they govern your use of the website (and all subdomains and subpages thereon) located at dexorder.com, including without limitation the subdomains app.dexorder.com and www.dexorder.com (collectively, the “**Site**”), and the Dexorder web application graphical user interface and any other services accessible via the Site (together with the Site, web application, and other services, collectively, the “**Dexorder Service**”) offered by Dexorder LLC (“**Dexorder**,” “**we**,” “**our**,” or “**us**”).
**BY USING THE DEXORDER SERVICE, YOU REPRESENT THAT (I) YOU ARE NOT LOCATED WITHIN THE UNITED STATES; AND (II) YOU ARE NOT A PERSON OR ENTITY WHO IS RESIDENT IN, A CITIZEN OF, IS LOCATED IN, IS INCORPORATED IN, OR HAS A REGISTERED OFFICE IN ANY RESTRICTED TERRITORY, AS DEFINED BELOW (ANY SUCH PERSON OR ENTITY FROM WITHIN THE UNITED STATES OR A RESTRICTED TERRITORY, IS REFERRED TO HEREIN AS A “**RESTRICTED PERSON**”).**
@@ -57,7 +57,7 @@ WHEN YOU AGREE TO THESE TERMS, YOU ARE AGREEING (WITH LIMITED EXCEPTION) TO RESO
(b) **Limitations**. As a condition to accessing or using the Dexorder Service or the Site, you acknowledge, understand, and agree to the following:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(i) Subject to your compliance with these Terms, Dexorder will use its commercially reasonable efforts to provide you with access to the Dexorder Service and to cause your Interactions to be executed on the applicable DEX in accordance with Dexorders Execution Policy located at [https://dexorder.trade/execution-policy/](/execution-policy) (“**Execution Policy**”), however from time to time the Site and the Dexorder Service may be inaccessible or inoperable for any reason, including, without limitation: (a) if an Interaction repeatedly fails to be executed (such as due to an error in Interaction execution or a malfunction in the Dexorder Service); (b) equipment malfunctions; c) periodic maintenance procedures or repairs that Dexorder or any of its suppliers or contractors may undertake from time to time; (d) causes beyond Dexorders control or that Dexorder could not reasonably foresee; (e) disruptions and temporary or permanent unavailability of underlying blockchain infrastructure; (f) unavailability of third-party service providers or external partners for any reason; or (g) an Activation Signal not being sent.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(i) Subject to your compliance with these Terms, Dexorder will use its commercially reasonable efforts to provide you with access to the Dexorder Service and to cause your Interactions to be executed on the applicable DEX in accordance with Dexorders Execution Policy located at [https://dexorder.com/execution-policy/](/execution-policy) (“**Execution Policy**”), however from time to time the Site and the Dexorder Service may be inaccessible or inoperable for any reason, including, without limitation: (a) if an Interaction repeatedly fails to be executed (such as due to an error in Interaction execution or a malfunction in the Dexorder Service); (b) equipment malfunctions; c) periodic maintenance procedures or repairs that Dexorder or any of its suppliers or contractors may undertake from time to time; (d) causes beyond Dexorders control or that Dexorder could not reasonably foresee; (e) disruptions and temporary or permanent unavailability of underlying blockchain infrastructure; (f) unavailability of third-party service providers or external partners for any reason; or (g) an Activation Signal not being sent.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(ii) the Site and the Dexorder Service may evolve, which means Dexorder may apply changes, replace, or discontinue (temporarily or permanently) the Dexorder Service at any time in its sole discretion;
@@ -216,4 +216,4 @@ WHEN YOU AGREE TO THESE TERMS, YOU ARE AGREEING (WITH LIMITED EXCEPTION) TO RESO
18. **Contact Information**
If you have any questions about these Terms or the Dexorder Service, please contact Dexorder at [legal@dexorder.trade](mailto:legal@dexorder.trade) or [support@dexorder.trade](mailto:support@dexorder.trade).
If you have any questions about these Terms or the Dexorder Service, please contact Dexorder at [legal@dexorder.com](mailto:legal@dexorder.com) or [support@dexorder.com](mailto:support@dexorder.com).

View File

@@ -521,6 +521,25 @@
resolved "https://registry.yarnpkg.com/@types/mdurl/-/mdurl-2.0.0.tgz#d43878b5b20222682163ae6f897b20447233bdfd"
integrity sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==
"@types/node@*":
version "22.13.4"
resolved "https://registry.yarnpkg.com/@types/node/-/node-22.13.4.tgz#3fe454d77cd4a2d73c214008b3e331bfaaf5038a"
integrity sha512-ywP2X0DYtX3y08eFVx5fNIw7/uIv8hYUKgXoK8oayJlLnKcRfEYCxWMVE1XagUdVtCJlZT1AU4LXEABW+L1Peg==
dependencies:
undici-types "~6.20.0"
"@types/node@^17.0.5":
version "17.0.45"
resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.45.tgz#2c0fafd78705e7a18b7906b5201a522719dc5190"
integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==
"@types/sax@^1.2.1":
version "1.2.7"
resolved "https://registry.yarnpkg.com/@types/sax/-/sax-1.2.7.tgz#ba5fe7df9aa9c89b6dff7688a19023dd2963091d"
integrity sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==
dependencies:
"@types/node" "*"
"@types/unist@*", "@types/unist@^3.0.0":
version "3.0.3"
resolved "https://registry.yarnpkg.com/@types/unist/-/unist-3.0.3.tgz#acaab0f919ce69cce629c2d4ed2eb4adc1b6c20c"
@@ -698,6 +717,11 @@ algoliasearch@^5.14.2:
"@algolia/requester-fetch" "5.20.2"
"@algolia/requester-node-http" "5.20.2"
arg@^5.0.0:
version "5.0.2"
resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c"
integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==
birpc@^0.2.19:
version "0.2.19"
resolved "https://registry.yarnpkg.com/birpc/-/birpc-0.2.19.tgz#cdd183a4a70ba103127d49765b4a71349da5a0ca"
@@ -1006,6 +1030,11 @@ rollup@^4.20.0:
"@rollup/rollup-win32-x64-msvc" "4.34.7"
fsevents "~2.3.2"
sax@^1.2.4:
version "1.4.1"
resolved "https://registry.yarnpkg.com/sax/-/sax-1.4.1.tgz#44cc8988377f126304d3b3fc1010c733b929ef0f"
integrity sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==
shiki@^2.1.0:
version "2.4.1"
resolved "https://registry.yarnpkg.com/shiki/-/shiki-2.4.1.tgz#68e11cb61fb172d1700ece9f02c14d32b9619298"
@@ -1020,6 +1049,16 @@ shiki@^2.1.0:
"@shikijs/vscode-textmate" "^10.0.2"
"@types/hast" "^3.0.4"
sitemap@^8.0.0:
version "8.0.0"
resolved "https://registry.yarnpkg.com/sitemap/-/sitemap-8.0.0.tgz#eb6ea48f95787cd680b83683c555d6f6b5a903fd"
integrity sha512-+AbdxhM9kJsHtruUF39bwS/B0Fytw6Fr1o4ZAIAEqA6cke2xcoO2GleBw9Zw7nRzILVEgz7zBM5GiTJjie1G9A==
dependencies:
"@types/node" "^17.0.5"
"@types/sax" "^1.2.1"
arg "^5.0.0"
sax "^1.2.4"
source-map-js@^1.2.0, source-map-js@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46"
@@ -1060,6 +1099,11 @@ trim-lines@^3.0.0:
resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-3.0.1.tgz#d802e332a07df861c48802c04321017b1bd87338"
integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==
undici-types@~6.20.0:
version "6.20.0"
resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.20.0.tgz#8171bf22c1f588d1554d55bf204bc624af388433"
integrity sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==
unist-util-is@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-6.0.0.tgz#b775956486aff107a9ded971d996c173374be424"