> For the complete documentation index, see [llms.txt](https://zerotick-trade.gitbook.io/documentation.v1.2/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://zerotick-trade.gitbook.io/documentation.v1.2/technical-architecture.md).

# Technical Architecture

ZeroTick is a non-custodial interface to on-chain protocols. Every launch and trade settles on the blockchain and is signed by your own wallet, so you keep custody of your funds at all times. This page explains how the pieces fit together: on-chain execution, your embedded wallet, market data and network access, and cross-chain trading.

{% hint style="info" %}
**You hold the keys.** ZeroTick provides the tools to launch and trade. It never takes custody of your assets and cannot move funds on your behalf. Transactions settle directly on-chain once you sign them.
{% endhint %}

### On-chain execution

Every core action on ZeroTick is carried out by smart contracts on the blockchain. ZeroTick builds the transaction, your wallet signs it, and the chain settles it.

* **Token launches** deploy through established, audited third-party providers on the selected chain. Once deployed, the provider's contract governs all trading for that token, and ZeroTick cannot alter or intervene in it.
* **Pricing** follows the curve or auction defined in the provider's contract. Every trade prices against that formula, with no off-chain input.
* **Graduation** is automatic and on-chain. When a launch reaches its threshold, the provider contract moves liquidity to a decentralized exchange with no manual step.

In V0, launches run on four chains, each with its own provider:

| Chain    | Launch provider      | Graduates to                       |
| -------- | -------------------- | ---------------------------------- |
| Solana   | Meteora              | Meteora DAMM                       |
| Ethereum | Doppler              | Uniswap                            |
| Base     | Doppler              | Uniswap                            |
| Monad    | Nad.fun (or Doppler) | Nad.fun internal pool (or Uniswap) |

{% hint style="info" %}
Other supported chains, such as BSC, are available for **trading** in V0 but not for launching a new token.
{% endhint %}

<details>

<summary>What about ZeroTick's own on-chain protections?</summary>

In V0, trading rules are set by the third-party provider contracts above. ZeroTick's own contract-level protections (anti-bot, anti-whale, anti-insider, and anti-bundle controls, buy and sell limits, vesting schedules, and token allocation) are planned for a later version. When they ship, launches will be able to deploy through ZeroTick's own audited contracts.

</details>

### Your non-custodial wallet

When you sign up, ZeroTick creates an embedded, non-custodial wallet through Openfort. The keys live on the client side, and ZeroTick never sees or stores them.

#### Key security: MPC with Shamir's Secret Sharing

The wallet is a multi-party computation (MPC) wallet. Instead of keeping one private key in one place, Openfort splits it into three shares using Shamir's Secret Sharing:

* **Device share:** held on your device.
* **Auth share:** linked to your login.
* **Recovery share:** held by Openfort Shield.

Any two of the three shares can rebuild the key, and no single share is enough on its own. The full key is reconstructed only in memory, inside Openfort's secure signer, at the moment you sign, then cleared straight after. No party ever holds two shares, so neither ZeroTick nor the wallet provider alone can reach your key.

{% hint style="warning" %}
**Your recovery kit is separate from these shares.** It is a full self-custody backup of your wallet that you can download and store yourself. Keep it private, because anyone who has it can access your funds. See [Security & Backup](https://zerotick-trade.gitbook.io/documentation.v1.1/getting-started/security-and-backup).
{% endhint %}

#### One wallet, every chain

Openfort gives you two signers, so a single wallet covers every supported chain:

| Signer        | Curve     | Covers                                                                       |
| ------------- | --------- | ---------------------------------------------------------------------------- |
| EVM signer    | secp256k1 | Ethereum, BSC, Polygon, Arbitrum, Base, Optimism, Monad (one shared address) |
| Solana signer | ed25519   | Solana (a separate address)                                                  |

### Market data and network access

Two read-only layers keep the interface live. Neither one holds your funds or your keys.

* **Market data** comes from Codex: token prices, charts, holder distribution, and launch progress. It is read-only market information.
* **Network access** goes through a QuickNode RPC connection. ZeroTick routes it through a server-side gateway, so the node credentials never reach your browser while your transactions still broadcast to the chain you are trading on.

### Cross-chain trading

You can pay with an asset on one chain to trade a token on another. ZeroTick handles this through LI.FI, which aggregates bridges and decentralized exchanges to find a route for each transfer.

When your payment asset and the token are on the **same chain**, the trade executes directly on that chain. When they are on **different chains**, ZeroTick routes it through LI.FI:

{% stepper %}
{% step %}

#### Quote

LI.FI compares available routes and returns the best one for the pair, along with the estimated amount you receive and how long it takes.
{% endstep %}

{% step %}

#### Approve

If you are moving a token that needs it, you approve exactly the amount being spent, never an open-ended allowance.
{% endstep %}

{% step %}

#### Sign

Your wallet signs the transaction through Openfort. ZeroTick never signs on your behalf, and the destination is always your own wallet.
{% endstep %}

{% step %}

#### Track

ZeroTick follows the transfer until the funds arrive on the destination chain, then confirms the result.
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
Cross-chain quotes are time-limited. If a quote expires before you sign, refresh it to get current pricing.
{% endhint %}

<details>

<summary>What if there is no route for my pair?</summary>

If LI.FI cannot find a route for the exact asset pair or amount, ZeroTick tells you no route is available so you can try a different asset or amount. Funds are never sent without a valid, verified route.

</details>

### Related pages

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Supported chains</strong></td><td>The chains ZeroTick spans and what each one supports.</td><td><a href="https://zerotick-trade.gitbook.io/documentation.v1.1/marketplace/supported-chains">https://zerotick-trade.gitbook.io/documentation.v1.1/marketplace/supported-chains</a></td></tr><tr><td><strong>Set up your wallet</strong></td><td>Create and secure your embedded wallet.</td><td><a href="https://zerotick-trade.gitbook.io/documentation.v1.1/getting-started/set-up-your-wallet">https://zerotick-trade.gitbook.io/documentation.v1.1/getting-started/set-up-your-wallet</a></td></tr><tr><td><strong>Cross-chain trading</strong></td><td>Pay with an asset on one chain to trade on another.</td><td><a href="https://zerotick-trade.gitbook.io/documentation.v1.1/trading/cross-chain-trading">https://zerotick-trade.gitbook.io/documentation.v1.1/trading/cross-chain-trading</a></td></tr><tr><td><strong>Fees &#x26; pricing</strong></td><td>How ZeroTick's fees work.</td><td><a href="https://zerotick-trade.gitbook.io/documentation.v1.1/fees-and-pricing">https://zerotick-trade.gitbook.io/documentation.v1.1/fees-and-pricing</a></td></tr></tbody></table>
