TESSARA Docs

Tessara Documentation

Automated grid trading for Coinbase Advanced Trade

What is Tessara?

Tessara is a configurable grid trading automation tool that runs 24/7 on your Coinbase account. It places a grid of buy and sell orders around the current price, completing a buy-sell cycle each time price moves through a grid level. Smart Signals continuously evaluates market conditions and adjusts sizing and behavior in real time.

Key capabilities

Multi-coin grid trading — trades dozens of coins simultaneously
Smart Signals — real-time CVD, relative strength, liquidity, and macro scoring that adjusts buy sizing and pauses buys when conditions deteriorate
Adaptive spacing — adjusts grid spacing per coin based on volatility (ATR)
AI coin discovery — ML scoring identifies and evaluates trading candidates automatically
Capital rotation — exits underperforming positions and redeploys capital into stronger opportunities
Portfolio lifecycle — prunes underperformers, enforces correlation limits, manages grid count vs capital
Multi-layer risk controls — daily loss cap, portfolio heat halt, per-coin drawdown stop, stop loss, pump protection, circuit breaker
Arena — XP leveling, daily quests, achievements, leaderboard, Bot Racing League

Documentation

📖
User Guide New
Complete beginner-friendly reference covering every tab, setting, Smart Signals feature, and concept in plain English. Includes a full settings reference, glossary, and troubleshooting section.
📡
Smart Signals Guide
In-depth explanation of Signal Score, Automatic Buy Pause, Relative Strength Rotation, Conviction Decay, and Correlation Limits. Read before enabling rotation.
⚙️
Parameter Reference
Every configurable setting listed with type, default value, valid range, and technical description. For users who want the full technical detail behind each setting.
New here? Start with the Quick Start guide to get connected in under 5 minutes, or open the User Guide for a full walkthrough.

Quick Start

Get Tessara running in under 5 minutes

1

Create a Coinbase account

Tessara works with Coinbase Advanced Trade. Currently US users only. Sign up here ↗

2

Create your Coinbase API key

You need a Coinbase Advanced Trade API key with View + Trade permissions. See the API Keys guide for exact steps. Takes about 2 minutes.

3

Log in to Tessara

Log in at tessara.trade. First-time users land on the onboarding wizard in the Settings tab automatically.

4

Enter your API credentials

Paste your Key Path (starts with organizations/) and API Secret (EC private key beginning with -----BEGIN EC PRIVATE KEY-----). Click Save & Verify. Tessara connects to Coinbase and auto-detects your fee tier.

5

Configure your bot

Set your Starting Capital — the amount you want the bot to manage. The bot auto-calculates target grid count from your capital and slot size. Review the risk profile options and any existing holdings.

6

Review and launch

Review your guardrail settings, accept the risk disclosure, and click Confirm & Launch. The bot connects to Coinbase and begins placing grids within about 30 seconds.

14-day free trial. No credit card required. Full access from day one.

Coinbase API Keys

How to create the correct key type for Tessara

1

Go to the Coinbase Developer Portal

Open portal.cdp.coinbase.com ↗ and log in. In the left sidebar click API Keys, then Create API key (top right).

Use portal.cdp.coinbase.com — not coinbase.com/settings/api. The old URL creates a different key type that will not work with Tessara.
2

Name your key

Enter a nickname such as "Tessara" in the API key nickname field.

3

Set permissions

Under Coinbase App & Advanced Trade:
View
Trade
Transfer — leave unchecked
All others — leave unchecked

Leave Portfolio set to Primary.

4

Select ECDSA ⚠️ Critical

Expand Advanced Settings. Under Signature algorithm select ECDSA.

Do not select Ed25519 — even though it shows as "Recommended", it will not work with Tessara's Advanced Trade integration. You must select ECDSA.
5

Copy credentials

Click Create. Copy both values immediately:

Key Name / Path — starts with organizations/…/apiKeys/…
Private Key — starts with -----BEGIN EC PRIVATE KEY-----

🔒 Save the private key now. Coinbase shows it only once. If you close without copying it, create a new key.
Security note: Tessara uses your key to place and cancel orders only. It cannot transfer funds, withdraw, or access other Coinbase products. Your funds remain in your Coinbase account at all times.

Grid Trading

How Tessara's grid mechanism works

The concept

A grid is a set of buy and sell limit orders placed above and below the current price at regular percentage intervals (the "spacing"). When price drops and hits a buy order, the bot buys. When price rises and hits the paired sell order, the bot sells — completing a buy-sell cycle. The profit per cycle is the price difference minus exchange fees.

Grid trading can generate returns from price oscillation in ranging and sideways markets. Results vary based on market conditions, coin selection, and fee tier.

Dynamic grid placement

Tessara uses adaptive grids, not fixed price ranges. Every cycle it recalculates:

Grid center — based on VWAP and current price percentile
Spacing — based on ATR (Average True Range) volatility, adjusted per fee tier
Level count — 4B/7S to 7B/4S depending on momentum regime
Position size — scaled to portfolio allocation and Signal Score

Fee tier & minimum spacing

Grid spacing must exceed the round-trip exchange fee to produce a net-positive cycle. Tessara auto-detects your Coinbase fee tier on connection and sets the minimum safe spacing accordingly. As trading volume grows and fee tiers improve, spacing can be tightened — this happens automatically.

Capital allocation

Capital is distributed across all active grids. The capital router rebalances allocations periodically based on recent performance — coins completing more profitable cycles receive proportionally more capital.

Full grid parameter details in the Parameter Reference ↗.

Coin Discovery

How Tessara finds and adds coins to trade

Auto-discovery (default: on)

When enabled, Tessara scans Coinbase-listed coins periodically and scores each using statistical and ML signals:

Volume — minimum $200k 24h volume required; higher volume scores better
Age — coins listed for fewer than 90 days are excluded
Price behaviour — oscillating, range-bound patterns score higher
Spread — wide spreads reduce effective profit per cycle
ML confidence score — 0–20 scale; minimum threshold configurable (default: 12/20)
Sector diversity — limits concentration within correlated coin categories

Coins above the ML threshold are added automatically. Grid count is managed relative to available capital.

Manual coin selection

To trade specific coins, go to Settings → Auto-discover coins and toggle it off. A coin picker appears — select coins and save. Alternatively, any coin can be added manually from the Coins tab → Browse section regardless of whether auto-discovery is on or off.

Probation & auto-cull

New coins enter a probation period (default: 7 days). If a coin doesn't produce enough profitable cycles within that window — or falls below the configured win rate threshold — it is automatically removed. The auto-cull setting controls whether this removal is automatic or flagged for manual review.

The Coins tab

All coin management happens in the Coins tab: Active view (current grids with signal health), Queue (newly discovered candidates), Browse (full 500+ coin universe), and Removed (history with re-add option).

Discovery and ML settings documented in Parameter Reference ↗ sections 3 and 4.

Risk Management

Layered safeguards operating at portfolio, coin, and order level

Important: These controls reduce exposure in defined scenarios but cannot prevent losses in all market conditions. Past performance does not guarantee future results.

Circuit breaker (daily loss cap)

If realized losses in a single day exceed the configured percentage of portfolio value, the bot pauses all new buy orders for the rest of that day. Existing open positions and sell orders are unaffected. Resets at local midnight.

Portfolio heat halt

Tracks net unrealized loss across all open positions as a percentage of total portfolio. When this exceeds the heat threshold (default: 15%), new buys are paused until the portfolio recovers. Separate from the daily loss cap — this activates on open drawdown before it becomes realized.

Per-coin drawdown stop

Each coin has its own drawdown limit (default: 15%). If a single coin's open position drops more than this percentage from its average cost basis, the grid for that coin is halted. The coin card shows a "Halted" status. The grid can be re-enabled manually or the position drained.

Stop loss

A configurable hard stop that exits all or selected positions if total drawdown from starting capital exceeds the threshold. Off by default for most tenants. Threshold and scope are configurable per bot.

Max position stop

Stops adding to any single coin's position once it exceeds the configured percentage of total portfolio (default: 10%). Prevents any one coin from dominating capital allocation.

Overnight scale-down

Reduces position sizes during configurable overnight hours when liquidity is typically lower. Controlled by a multiplier (e.g. 0.5× = half normal size). Off by default.

Smart Signals auto buy pause

When 2 or more defensive signals trigger simultaneously (negative CVD, weak relative strength, poor liquidity, adverse macro), all new buys are automatically paused. Requires multi-signal confirmation — a single noisy signal cannot trigger a portfolio-wide halt. Resumes automatically once conditions clear.

Pump protection

Detects rapid price spikes on individual coins. When a coin surges above the pump detection threshold in a short window, new buys for that coin are held for a cooldown period.

Full risk parameter details in the Parameter Reference ↗ sections 6–10.

Smart Signals

Real-time intelligence that improves entries, manages conviction, and protects the portfolio

Signal Score & entry sizing

Before every buy, four real-time signals are scored and combined into a 0–100 composite:

CVD (order flow) — 35 pts — is more money flowing into or out of this coin right now?
Relative Strength — 30 pts — is this coin outperforming or underperforming BTC?
Liquidity — 20 pts — how deep is the order book?
Macro — 15 pts — what is the broader BTC trend doing?

The score drives a sizing multiplier: 0.35× (weak) → 1.0× (neutral) → 1.25× (strong). The bot always buys — Signal Sizing adjusts how much based on conditions. On by default.

Automatic buy pause

When 2+ defensive signals trigger simultaneously, all new buy orders are cancelled and new buys halted. Two levels: Buy Pause (moderate conditions, 2h minimum) and Full Defensive (severe conditions, 4h minimum). Both auto-resume when conditions clear. Manual override available via dashboard banner. On by default.

Relative Strength Rotation Off by default

The bot continuously ranks held positions by relative strength vs BTC. When a weak position underperforms by more than the exit threshold, and a stronger opportunity exists with a sufficient Signal Score, the weak position is exited and capital redeployed.

Rotation can result in intentional loss exits. This is by design. Read the Smart Signals guide ↗ before enabling.

Anti-churn safeguards: 2% daily rotation loss cap, 12-rotation daily hard cap, 12-hour pause after 3 consecutive rotation losses, minimum 2-hour hold time before any position is eligible.

Conviction Decay Off by default

Each position has a conviction score (starts at 100) that decays when the coin is underwater with no recovery signals. Low-conviction positions become eligible for rotation without needing an incoming coin with a high Signal Score. Decay is dynamic — faster when CVD and relative strength are also negative, slower when buying pressure is present despite a negative price move. Only active when Rotation is also enabled.

Correlation Limits Off by default

Identifies clusters of correlated coins (threshold: 0.75 correlation) and caps any one cluster at 25% of portfolio capital. Affects new entries only — no existing positions are force-exited when this is enabled.

Full Smart Signals documentation: tessara.trade/docs/smart-signals.html ↗

Pricing

Pay only when your bot profits.

10%
Performance fee
Of net realized profit from completed bot cycles.
$0
Losing or flat month
No net realized profit = nothing owed.
$149.99/mo
Monthly cap
Maximum monthly cost regardless of profit.

What's included

14-day free trial — full access, no credit card required
All features — risk controls, Smart Signals, coin discovery, Arena
No artificial limits — no grid count caps, no coin limits
Full trade history & analytics
Fee on realized profit only — open positions and unrealized amounts never count
Fee waived on months under $50 profit — 10% of <$50 = <$5, automatically waived
$149.99 hard cap — no surprise bills on strong months
✅ Cancel anytime from the Billing tab

How billing works

After the 14-day free trial, billing is monthly. Net realized profit from bot-completed cycles is calculated and a 10% performance fee applied, capped at $149.99. Months where 10% of net profit falls below $5.00 are automatically waived — no invoice, no pause. Open positions and unrealized amounts are never counted.

Net profit this monthFee owed
$0 or negative$0.00 — no invoice
$1 – $49.99$0.00 — waived (fee < $5.00 threshold)
$50 – $1,499.9010% of profit
$1,499.91+$149.99 (capped)

Invoice issued on the 1st of each month via Stripe. 7-day grace period before bot pauses on non-payment. Resumes immediately on payment.

What counts as billable

Any grid cycle the bot places after your launch counts — including trades on coins you held before Tessara if you chose to grid them during onboarding. Excluded: the one-time protective sell placed at onboarding (1.5% above cost basis), fills that settled before your launch timestamp, and orphan reconciliation recoveries. The Billing tab shows exactly which trades are billable.

14 days free. No credit card required to start.

FAQ

Does Tessara work in a bear market?

Grid trading generates returns from price oscillation, not direction. In a sustained downtrend, buy orders may fill but sell orders may not trigger quickly, resulting in open positions with unrealized losses. Tessara's coin discovery and probation system removes coins that stop completing cycles. Smart Signals' auto buy pause also halts new entries when market conditions deteriorate across multiple signals simultaneously.

Can Tessara withdraw my funds?

No. Tessara uses API keys with View + Trade permissions only. It cannot initiate withdrawals or transfers. Your funds remain in your Coinbase account at all times.

What happens if Tessara goes offline?

Open orders remain on Coinbase and continue to fill. When Tessara restarts, the reconciler automatically scans Coinbase for all fills that occurred during downtime and records any missed cycles. In most cases no trades are lost, even after extended downtime.

What is the difference between USD and USDC?

USD is US dollar cash. USDC is a stablecoin — a separate crypto asset pegged to $1. Tessara operates on USD cash only and intentionally never touches USDC balances. If your Coinbase account contains USDC but no USD, the bot cannot place buy orders. Convert USDC to USD in Coinbase before funding the bot.

Can I run the bot on multiple Coinbase accounts?

Currently one Coinbase account per Tessara account. Each account gets its own isolated bot process. Multi-portfolio support is on the roadmap.

What are the Coinbase exchange fees?

Coinbase charges a separate exchange fee per trade (0.006%–0.60% depending on your fee tier and 30-day volume). Tessara uses limit orders (maker orders) which typically attract the lower maker fee rate. Tessara auto-detects your fee tier at connection and ensures grid spacing always exceeds the round-trip fee cost.

What does rotation mean?

When Relative Strength Rotation is enabled, the bot may exit an underperforming position and redeploy that capital into a stronger one — even if the exit results in a realized loss. This is intentional behaviour, not a bug. It is off by default. Read the Smart Signals guide before enabling.

What is the fee minimum?

10% of net realized profit. The fee is automatically waived when 10% of the month's profit would be less than $5.00 — which means months with under $50 net profit are not invoiced at all. Maximum is $149.99/month. $0 on losing or flat months.

Release Notes

v1.2.0 — June 2026 Current

Smart Signals — CVD engine, relative strength scoring, liquidity analysis, macro overlay
• Signal Score drives 0.35×–1.25× buy size multiplier per entry
• Automatic buy pause (2 levels: Buy Pause + Full Defensive) with multi-signal requirement
• Relative Strength Rotation with anti-churn safeguards (off by default)
• Conviction Decay — tracks per-position confidence over time (off by default)
• Correlation Limits — caps exposure to correlated coin clusters (off by default)
• Portfolio lifecycle — prunes underperformers, manages grid count vs capital
Coins tab — dedicated coin management with Active / Queue / Browse / Removed views, fitness scoring, rotation suggestions
Arena — XP/bot levels, daily quests, Achievement Codex (110+), Hall of Printers leaderboard, Bot Racing League, Buff Shop, referral system
• This Month P&L added to summary bar
• Billing tab: estimated fee correctly reflects trial status
User Guide — full beginner-friendly reference at /docs/user-guide.html
• Beta launch — open signup with 14-day free trial

v1.1.0 — May 2026

• Billing system — performance fee, Stripe integration, 14-day trial
• Onboarding rework — holdings decision modal, protective sells, legal acceptance, launchConfirmedAt hard floor
• Finance tab — capital tracking, recurring expenses, quarterly tax estimates, P&L statement
• Admin panel — user management, bot controls, audit log, revenue, health monitoring
• Downtime recovery — reconciler catches all missed fills after restart
• Dual P&L — bot-managed vs total portfolio view
• Per-coin stop loss and drawdown halt
• Pump protection with configurable threshold
• Trailing grid exit
• Win rate calculation fixed — uses billable cycle denominator only

v1.0.0 — May 2026

• Initial launch on tessara.trade
• Multi-tenant architecture — each user runs an isolated bot process
• Adaptive spacing (per-coin, blended ATR + historical data)
• Auto-discovery with ML scoring and probation
• Manual coin selection
• Regime detection (Ranging / Trending Up / Trending Down / Extreme Risk)
• Daily loss cap and portfolio heat halt
• Real-time dashboard with SSE live updates