Compare commits
41 Commits
f8f40e5805
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 19463faba8 | |||
| 9dbf51b5d6 | |||
| 64a1791dd5 | |||
| 2fedcb41b2 | |||
| 6791c05887 | |||
| 2487e2e98b | |||
| 4b6b40fa9b | |||
| 5d34766105 | |||
| 308860b2b0 | |||
| 4b4c3bf639 | |||
| 1e6511f137 | |||
| 606e5fd2d2 | |||
| 1bcce4eedc | |||
| c243b4afc3 | |||
| 8eff3da973 | |||
| 45b205eedc | |||
| 14c4d0b9e0 | |||
| a098e22e20 | |||
| 00594c8125 | |||
| 48ad37f105 | |||
| 78d6b32a88 | |||
| 0c19653088 | |||
| e15aa54386 | |||
| ba43d52c9f | |||
| 9e595f91d6 | |||
| c7e45abc1b | |||
| 933e081a4b | |||
| bd7a2af7b4 | |||
| 5670b165d1 | |||
| 0b5b310483 | |||
| 565682ed2b | |||
| d97ff86e14 | |||
| 646117ca10 | |||
| ea1fc77257 | |||
| 156160b041 | |||
| 65a56807de | |||
| 3a89aa997d | |||
| eb6b2ee9e8 | |||
| f7f6e3abfc | |||
| 3c49f3d741 | |||
| 883d9e9426 |
BIN
media/banner-3-1.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
media/dexorder_icons/ico_black_clip.PNG
Normal file
|
After Width: | Height: | Size: 68 KiB |
BIN
media/dexorder_icons/ico_black_fill.PNG
Normal file
|
After Width: | Height: | Size: 47 KiB |
BIN
media/dexorder_icons/ico_green_clip.PNG
Normal file
|
After Width: | Height: | Size: 95 KiB |
BIN
media/dexorder_icons/ico_green_fill.PNG
Normal file
|
After Width: | Height: | Size: 75 KiB |
BIN
media/dexorder_icons/ico_white_clip.PNG
Normal file
|
After Width: | Height: | Size: 65 KiB |
BIN
media/dexorder_icons/ico_white_fill.PNG
Normal file
|
After Width: | Height: | Size: 45 KiB |
1
media/dexorder_vectors/dexorder_arrow.svg
Normal 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 |
BIN
media/dexorder_vectors/dexorder_full_darkmode-noborder.png
Normal file
|
After Width: | Height: | Size: 40 KiB |
1
media/dexorder_vectors/dexorder_full_darkmode.svg
Normal 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 |
1
media/dexorder_vectors/dexorder_full_lightmode.svg
Normal 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 |
1
media/dexorder_vectors/howitworks.svg
Normal file
|
After Width: | Height: | Size: 749 KiB |
BIN
media/video/dca.mov
Normal file
BIN
media/video/diagonal_limits.mov
Normal file
BIN
media/video/limit_ladder.mov
Normal file
BIN
media/video/supercut.mov
Normal file
@@ -11,5 +11,8 @@
|
|||||||
"docs:dev": "vitepress dev src",
|
"docs:dev": "vitepress dev src",
|
||||||
"docs:build": "vitepress build src",
|
"docs:build": "vitepress build src",
|
||||||
"docs:preview": "vitepress preview src"
|
"docs:preview": "vitepress preview src"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"sitemap": "^8.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,17 +1,46 @@
|
|||||||
import { defineConfig } from 'vitepress'
|
import { defineConfig } from 'vitepress'
|
||||||
|
import { SitemapStream } from 'sitemap'
|
||||||
|
import { createWriteStream } from 'node:fs'
|
||||||
|
import { resolve } from 'node:path'
|
||||||
|
|
||||||
|
|
||||||
// https://vitepress.dev/reference/site-config
|
// https://vitepress.dev/reference/site-config
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
title: "Dexorder",
|
title: "dexorder",
|
||||||
// this description is put into the meta tag for SEO
|
// 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.",
|
description: "Power up Uniswap with limit orders, stoplosses, DCA's, breakout orders, and more. 100% noncustodial and EVM-native.",
|
||||||
head: [
|
head: [
|
||||||
[ 'meta', { name: 'viewport', content: 'width=device-width, initial-scale=1'}],
|
[ 'meta', { name: 'viewport', content: 'width=device-width, initial-scale=1'}],
|
||||||
[ 'link', { rel: 'icon', href: '/favicon.ico' }],
|
[ 'link', { rel: 'icon', href: '/favicon.ico' }],
|
||||||
|
[ 'link', { rel: 'canonical', href: 'https://dexorder.com/' }],
|
||||||
[ 'link', { rel: 'preconnect', href: 'https://fonts.googleapis.com' }],
|
[ 'link', { rel: 'preconnect', href: 'https://fonts.googleapis.com' }],
|
||||||
[ 'link', { rel: 'preconnect', href: 'https://fonts.gstatic.com', crossorigin: '' }],
|
[ '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' }],
|
[ '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}) {
|
transformHead({assets}) {
|
||||||
// put the path of local assets into the <head>
|
// put the path of local assets into the <head>
|
||||||
@@ -43,29 +72,36 @@ export default defineConfig({
|
|||||||
siteTitle: ' ',
|
siteTitle: ' ',
|
||||||
nav: [
|
nav: [
|
||||||
{ text: 'Home', link: '/' },
|
{ text: 'Home', link: '/' },
|
||||||
{ text: 'Docs', link: '/how-it-works' },
|
{ 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: [
|
sidebar: [
|
||||||
{
|
{
|
||||||
text: 'Getting Started',
|
text: 'About',
|
||||||
items: [
|
items: [
|
||||||
{text: 'How It Works', link: '/how-it-works',},
|
{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',
|
text: 'Legal',
|
||||||
items: [
|
items: [
|
||||||
{text: 'Terms of Service', link: '/terms-of-service',},
|
{text: 'Terms of Service', link: '/terms-of-service',},
|
||||||
{text: 'Execution Policy', link: '/execution-policy',},
|
|
||||||
{text: 'Privacy Policy', link: '/privacy-policy',},
|
{text: 'Privacy Policy', link: '/privacy-policy',},
|
||||||
|
{text: 'Execution Policy', link: '/execution-policy',},
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
text: 'Fees',
|
|
||||||
link: '/fees',
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
|
|
||||||
socialLinks: [
|
socialLinks: [
|
||||||
@@ -76,6 +112,7 @@ export default defineConfig({
|
|||||||
|
|
||||||
footer: {
|
footer: {
|
||||||
copyright: `© ${new Date().getFullYear()} Dexorder Trading Services Ltd. (BVI)`,
|
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\"> </span><span><a href=\"/jobs\">We're hiring</a>!</span>",
|
||||||
},
|
},
|
||||||
|
|
||||||
},
|
},
|
||||||
@@ -85,4 +122,26 @@ export default defineConfig({
|
|||||||
md.disable(['replacements'], false)
|
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 = []
|
||||||
|
|||||||
@@ -3,12 +3,16 @@ import { h } from 'vue'
|
|||||||
import type { Theme } from 'vitepress'
|
import type { Theme } from 'vitepress'
|
||||||
import DefaultTheme from 'vitepress/theme-without-fonts' // WITHOUT fonts
|
import DefaultTheme from 'vitepress/theme-without-fonts' // WITHOUT fonts
|
||||||
import './style.css'
|
import './style.css'
|
||||||
|
import FeatureVideoLoop from "../../components/FeatureVideoLoop.vue";
|
||||||
|
import IntroVideo from "../../components/IntroVideo.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
extends: DefaultTheme,
|
extends: DefaultTheme,
|
||||||
Layout: () => {
|
Layout: () => {
|
||||||
return h(DefaultTheme.Layout, null, {
|
return h(DefaultTheme.Layout, null, {
|
||||||
// https://vitepress.dev/guide/extending-default-theme#layout-slots
|
// https://vitepress.dev/guide/extending-default-theme#layout-slots
|
||||||
|
'home-hero-info-after': () => h(FeatureVideoLoop),
|
||||||
|
'home-features-after': () => h(IntroVideo),
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
enhanceApp({ app, router, siteData }) {
|
enhanceApp({ app, router, siteData }) {
|
||||||
|
|||||||
@@ -153,6 +153,22 @@
|
|||||||
--docsearch-primary-color: var(--vp-c-brand-1) !important;
|
--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 {
|
h1.heading span.name {
|
||||||
font-family: 'Forgotten Futurist', sans-serif;
|
font-family: 'Forgotten Futurist', sans-serif;
|
||||||
}
|
/*
|
||||||
|
color: transparent !important;
|
||||||
|
-webkit-text-fill-color: transparent !important;
|
||||||
|
background-image: url("/dexorder_full_darkmode.svg");
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|||||||
8
src/components/FeatureVideoLoop.vue
Normal 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>
|
||||||
16
src/components/IntroVideo.vue
Normal 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>
|
||||||
@@ -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.
|
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
|
## 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,
|
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.
|
||||||
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
|
## Typical Execution Attempts
|
||||||
|
|
||||||
@@ -13,6 +17,11 @@ Dexorder will attempt to execute each tranche at least ten (10) times under norm
|
|||||||
|
|
||||||
## Failure Conditions
|
## 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
|
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 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
@@ -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.
|
||||||
|
|
||||||
45
src/features.md
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
# Dexorder Features
|
||||||
|
|
||||||
|
## Limit Orders / Diagonals
|
||||||
|
|
||||||
|
Set price limits and wait for the market to come to you. You can even make _diagonal_ limit lines, for example to buy trend pullbacks.
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
|
||||||
|
> Buy 1.0 WETH/USD if the price is below \$2000
|
||||||
|
|
||||||
|
## DCA / TWAP
|
||||||
|
|
||||||
|
Dollar cost average (DCA) or get a time-weighted average price (TWAP) by using the timing features available in dexorders. Set rate limits in combination with limit lines to trigger a DCA/TWAP only when certain price targets are met.
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
|
||||||
|
> Buy 0.1 WETH/USDC daily
|
||||||
|
|
||||||
|
> When WETH/USDC drops below \$2000, buy 5% per hour.
|
||||||
|
|
||||||
|
## Stop-Loss / Take-Profit
|
||||||
|
|
||||||
|
Automatically exit your positions by attaching a conditional order to your entry order.
|
||||||
|
|
||||||
|
> After buying WETH/USDC, sell if it gains 25%
|
||||||
|
|
||||||
|
> After buying WETH/USDC, sell if it loses 5%
|
||||||
|
|
||||||
|
## Breakout Orders / Range Orders
|
||||||
|
|
||||||
|
Wait until the market pumps _above_ your target level before buying into the new trend. Use custom tranches to set both an upper and lower range limit.
|
||||||
|
|
||||||
|
> Wait for SHT/USDC to break above \$0.01 then buy 50,000 SHT.
|
||||||
|
|
||||||
|
> Buy WETH/USDC only in the price range \$2000-\$2500
|
||||||
|
|
||||||
|
## One-cancels-the-other (OCO) Groups
|
||||||
|
|
||||||
|
Multiple orders may be bundled into an OCO group, in which case if one order triggers, it cancels the others. The cancellation can be triggered by either a partial fill of any amount or by the completion of an entire order.
|
||||||
|
|
||||||
|
> Buy \$100 worth of SHT/USDC below \$0.002 or \$100 worth of SHTC/USDC below \$0.001, but don't buy both.
|
||||||
|
|
||||||
|
## One-click Cancel All
|
||||||
|
|
||||||
|
Since your trading vault is aware of all the orders you've placed in it, it can efficiently cancel all your open orders with just a single transaction. Even if you have 1,000 open orders, one quick, cheap CancelAll transaction is all you need.
|
||||||
@@ -7,14 +7,15 @@ title: Fees
|
|||||||
|
|
||||||
## Fill Fee
|
## 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 |
|
| Uniswap Pool Fee | Dexorder Fee | Total Fee |
|
||||||
|------------------|--------------|-----------|
|
|------------------|--------------|-----------|
|
||||||
| 0.01% | 0.01% | 0.02% |
|
| 0.01% | 0.01% | 0.02% |
|
||||||
| 0.05% | 0.05% | 0.10% |
|
| 0.05% | 0.01% | 0.06% |
|
||||||
| 0.30% | 0.15% | 0.45% |
|
| 0.30% | 0.01% | 0.31% |
|
||||||
| 1.00% | 0.15% | 1.15% |
|
| 1.00% | 0.01% | 1.01% |
|
||||||
|
|
||||||
|
|
||||||
## Gas Fees
|
## Gas Fees
|
||||||
|
|
||||||
|
|||||||
@@ -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!
|
|
||||||
53
src/index.md
@@ -3,18 +3,18 @@
|
|||||||
layout: home
|
layout: home
|
||||||
|
|
||||||
hero:
|
hero:
|
||||||
name: "dexorder"
|
name: "<img src='/dexorder_full_darkmode.svg'/> "
|
||||||
# text: Pro DeFi
|
# text: Advanced DeFi Orders
|
||||||
tagline: Power up Uniswap with limit orders, stoplosses, DCA's, breakout orders, and more. 100% noncustodial and EVM-native.
|
tagline: Power up Uniswap with limit orders, stoplosses, DCA's, breakout orders, and more. 100% noncustodial and EVM-native.
|
||||||
actions:
|
actions:
|
||||||
- theme: brand
|
- theme: brand
|
||||||
text: Launch App
|
text: Launch App
|
||||||
link: https://app.dexorder.trade/
|
link: https://app.dexorder.com/
|
||||||
target: dexorder-app
|
target: dexorder-app
|
||||||
- theme: alt
|
- theme: alt
|
||||||
text: Documentation
|
text: Documentation
|
||||||
link: /how-it-works
|
link: /introduction
|
||||||
# image:
|
# image: /dexorder-diag-hero.png
|
||||||
# light: /dexorder_full_lightmode.svg
|
# light: /dexorder_full_lightmode.svg
|
||||||
# dark: /dexorder_full_darkmode.svg
|
# dark: /dexorder_full_darkmode.svg
|
||||||
|
|
||||||
@@ -25,12 +25,19 @@ features:
|
|||||||
src: https://upload.wikimedia.org/wikipedia/commons/e/e7/Uniswap_Logo.svg
|
src: https://upload.wikimedia.org/wikipedia/commons/e/e7/Uniswap_Logo.svg
|
||||||
- title: Limits & Diagonals
|
- title: Limits & Diagonals
|
||||||
details: Place limit orders and NEW diagonal limit lines to trade trends
|
details: Place limit orders and NEW diagonal limit lines to trade trends
|
||||||
|
icon:
|
||||||
|
src: /limit-ico.png
|
||||||
- title: DCA & TWAP
|
- title: DCA & TWAP
|
||||||
details: Split orders across time to average your price or manage big orders.
|
details: Split orders across time to average your price or manage big orders.
|
||||||
- title: Stop-loss & Take-profit
|
icon:
|
||||||
details: Automatically exit your postions in a 24/7 market (Coming Soon)
|
src: /dca-ico.png
|
||||||
- title: Breakout Orders
|
- 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
|
- title: Fast and Cheap
|
||||||
icon:
|
icon:
|
||||||
light: /arb1-dark.svg
|
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.
|
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>
|
||||||
|
|
||||||
|
|||||||
57
src/introduction.md
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
<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
|
||||||
|
* DCA / TWAP
|
||||||
|
* Diagonal Limit Lines
|
||||||
|
* Stop-loss & Take-profit
|
||||||
|
* Breakout Orders
|
||||||
|
* One-Click Cancel All
|
||||||
|
|
||||||
|
See more [Features](/features).
|
||||||
|
|
||||||
|
|
||||||
|
<img src="/how-it-works.png" alt="How It Works" class="img-fluid">
|
||||||
|
|
||||||
|
## Personal Trading Vault
|
||||||
|
|
||||||
|
Dexorder is not an exchange. Dexorder never has custody of your funds and never participates as a counterparty in your trade.
|
||||||
|
|
||||||
|
Instead, Dexorder provides you with your own personal trading vault smart contract, which can hold orders as well as tokens. When your order conditions are met and the vault is activated with gas, your vault swaps directly with your favorite DeFi pools.
|
||||||
|
|
||||||
|
## Funds are Never Locked
|
||||||
|
|
||||||
|
Your trading vault can only trade the tokens that you deposit into it. This means there is no separate "approval" transaction. Rather, depositing coins into your vault makes them available to trade.
|
||||||
|
|
||||||
|
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 may not execute right away but wait until certain time or price conditions are met.
|
||||||
|
|
||||||
|
Dexorder charges an up-front gas fee, and then when the market conditions for your order are met, Dexorder supplies your vault with gas and asks it to execute the swap. Your trading vault checks the order first, and if everything is ok, it swaps directly with the DeFi pool.
|
||||||
|
|
||||||
|
Dexorder does not participate in the swap and cannot touch the tokens or orders in your vault. Dexorder provides an order-triggering service that supplies gas to your trading vault at the correct times according to market conditions. If Dexorder tries to trigger an order at the wrong time, your smart vault will check the order and reject the attempt.
|
||||||
|
|
||||||
|
Once you place an order, Dexorder will provide the gas for all future swaps your order may need, in accordance with our [Execution Policy](/execution-policy).
|
||||||
|
|
||||||
|
See [Gas Fees](/fees#gas-fees) for more.
|
||||||
|
|
||||||
|
|
||||||
|
## Web Interface
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
|
||||||
|
## API
|
||||||
|
|
||||||
|
See our [smart contracts](https://github.com/dexorder-trade/contract) for interacting directly with Dexorder vaults on-chain.
|
||||||
34
src/jobs.md
Normal 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
@@ -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
@@ -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
|
After Width: | Height: | Size: 986 B |
BIN
src/public/dca-ico.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
src/public/dexorder-diag-hero.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
src/public/limit-ico.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
src/public/supercut.mov
Normal file
15
src/slippage.md
Normal 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.
|
||||||
@@ -7,7 +7,7 @@ title: Terms of Service
|
|||||||
|
|
||||||
**Last Updated:** November 18, 2024
|
**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**”).**
|
**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:
|
(b) **Limitations**. As a condition to accessing or using the Dexorder Service or the Site, you acknowledge, understand, and agree to the following:
|
||||||
|
|
||||||
(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 Dexorder’s 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 Dexorder’s 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.
|
(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 Dexorder’s 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 Dexorder’s 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.
|
||||||
|
|
||||||
(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;
|
(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**
|
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).
|
||||||
44
yarn.lock
@@ -521,6 +521,25 @@
|
|||||||
resolved "https://registry.yarnpkg.com/@types/mdurl/-/mdurl-2.0.0.tgz#d43878b5b20222682163ae6f897b20447233bdfd"
|
resolved "https://registry.yarnpkg.com/@types/mdurl/-/mdurl-2.0.0.tgz#d43878b5b20222682163ae6f897b20447233bdfd"
|
||||||
integrity sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==
|
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":
|
"@types/unist@*", "@types/unist@^3.0.0":
|
||||||
version "3.0.3"
|
version "3.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/@types/unist/-/unist-3.0.3.tgz#acaab0f919ce69cce629c2d4ed2eb4adc1b6c20c"
|
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-fetch" "5.20.2"
|
||||||
"@algolia/requester-node-http" "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:
|
birpc@^0.2.19:
|
||||||
version "0.2.19"
|
version "0.2.19"
|
||||||
resolved "https://registry.yarnpkg.com/birpc/-/birpc-0.2.19.tgz#cdd183a4a70ba103127d49765b4a71349da5a0ca"
|
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"
|
"@rollup/rollup-win32-x64-msvc" "4.34.7"
|
||||||
fsevents "~2.3.2"
|
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:
|
shiki@^2.1.0:
|
||||||
version "2.4.1"
|
version "2.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/shiki/-/shiki-2.4.1.tgz#68e11cb61fb172d1700ece9f02c14d32b9619298"
|
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"
|
"@shikijs/vscode-textmate" "^10.0.2"
|
||||||
"@types/hast" "^3.0.4"
|
"@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:
|
source-map-js@^1.2.0, source-map-js@^1.2.1:
|
||||||
version "1.2.1"
|
version "1.2.1"
|
||||||
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46"
|
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"
|
resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-3.0.1.tgz#d802e332a07df861c48802c04321017b1bd87338"
|
||||||
integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==
|
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:
|
unist-util-is@^6.0.0:
|
||||||
version "6.0.0"
|
version "6.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-6.0.0.tgz#b775956486aff107a9ded971d996c173374be424"
|
resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-6.0.0.tgz#b775956486aff107a9ded971d996c173374be424"
|
||||||
|
|||||||