π Plugin Request: tonco-dex
π― Executive Summary
Create a professional plugin for full-featured interaction with TONCO DEX via the Teleton AI agent. TONCO (by CryptoAlgebra) is a next-generation AMM with concentrated liquidity, multi-asset pools, and advanced trading features.
This plugin will enable users to:
- Execute swaps with optimal routing
- Manage concentrated liquidity positions
- Monitor pool statistics and fees
- Set price alerts and automated strategies
- All through natural language commands in Telegram
Target SDK: https://github.com/cryptoalgebra/tonco-sdk
π Business Goals
Primary Objectives
- Seamless DEX Access β Trade TONCO pools directly from Telegram chat
- Liquidity Management β Add/remove liquidity, claim fees, adjust positions
- Advanced Analytics β Real-time pool data, APY, volume, impermanent loss
- Automation β Price alerts, auto-rebalance, limit orders via agent logic
- Security First β Transaction simulation, slippage protection, confirmation policies
Target Users
- TON ecosystem traders seeking better capital efficiency
- Liquidity providers managing concentrated positions
- DeFi analysts tracking pool performance
- Developers building on top of TONCO infrastructure
ποΈ Architecture Requirements
Plugin Structure
plugins/tonco-dex/
βββ manifest.json # Metadata, tools list, secrets schema
βββ index.js # Entry point: exports tools(sdk) function
βββ lib/
β βββ tonco-client.js # TONCO SDK wrapper with error handling
β βββ pool-manager.js # Pool discovery, stats, analytics
β βββ swap-engine.js # Swap execution, routing, slippage
β βββ position-manager.js # Liquidity position CRUD operations
β βββ price-monitor.js # Price alerts, oracle integration
β βββ utils.js # Formatting, validation, helpers
βββ web-ui/
β βββ config-panel.jsx # Plugin settings for Teleton Web UI
β βββ pool-browser.jsx # Interactive pool explorer
β βββ position-manager.jsx # Visual LP position management
βββ tests/
β βββ tonco-client.test.js # Unit tests for SDK integration
β βββ swap-flow.test.js # E2E swap simulation tests
β βββ position-flow.test.js # LP position lifecycle tests
βββ README.md # User documentation with examples
βββ CHANGELOG.md # Version history
βββ .gitignore # Ignored files
Design Principles
- Modularity β Each concern (swap, LP, analytics) in separate module
- Security by Default β Simulation before execution, explicit confirmations
- User-Centric β Natural language input, clear output, undo options
- Extensibility β Architecture supports adding new TONCO features easily
π§ Tool Specifications
Category 1: Pool Discovery & Analytics (4 Tools)
Tool: tonco_list_pools
| Attribute |
Value |
| Purpose |
Discover available TONCO liquidity pools |
| Input Parameters |
token_a (string, optional), token_b (string, optional), sort_by (enum: volume/apy/tvl), limit (int 1-50) |
| Output Data |
Array of pools with: address, tokens, tvl, volume_24h, apy, fee_tier, liquidity_depth |
| Side Effects |
None |
| Error Handling |
Network timeout, invalid token address, API rate limit |
Tool: tonco_get_pool_stats
| Attribute |
Value |
| Purpose |
Get detailed statistics for a specific pool |
| Input Parameters |
pool_address (string, required), include_historical (boolean, default: false) |
| Output Data |
Pool details: reserves, price, volume, fees_24h, apr_breakdown, liquidity_distribution, historical_chart_data (if requested) |
| Side Effects |
None |
| Error Handling |
Pool not found, invalid address format, data unavailable |
Tool: tonco_calculate_swap_quote
| Attribute |
Value |
| Purpose |
Get swap quote with price impact and route analysis |
| Input Parameters |
token_in (string), token_out (string), amount_in (number/string), slippage_tolerance (number 0-100, default: 1) |
| Output Data |
Quote: expected_out, price_impact_percent, route (pools involved), estimated_gas, minimum_received (after slippage), price_per_token |
| Side Effects |
None |
| Error Handling |
Insufficient liquidity, invalid token pair, amount too small/large |
Tool: tonco_get_price_alerts
| Attribute |
Value |
| Purpose |
List active price alerts for token pairs |
| Input Parameters |
token_pair (string, optional), status (enum: active/paused/all) |
| Output Data |
Array of alerts: id, token_pair, target_price, condition (above/below), status, created_at, triggered_count |
| Side Effects |
None |
| Error Handling |
No alerts found, invalid filter |
Category 2: Swap Execution (3 Tools)
Tool: tonco_execute_swap
| Attribute |
Value |
| Purpose |
Execute token swap on TONCO with safety checks |
| Input Parameters |
token_in, token_out, amount_in, slippage_tolerance (number), deadline_seconds (int, default: 1800), require_confirmation (boolean, default: true) |
| Output Data |
Transaction: hash, status, amount_out, actual_slippage, gas_used, block_number, explorer_url |
| Side Effects |
Blockchain transaction, wallet balance change |
| Error Handling |
Transaction reverted, slippage exceeded, insufficient balance, deadline passed, user declined confirmation |
Important: This tool must:
- Simulate transaction before sending (via SDK)
- Show clear summary to user if
require_confirmation: true
- Respect
slippage_tolerance to prevent MEV attacks
- Log transaction details via
sdk.log.info() (without sensitive data)
Tool: tonco_create_limit_order
| Attribute |
Value |
| Purpose |
Create a limit order (executes when price condition is met) |
| Input Parameters |
token_in, token_out, trigger_price, amount_in, order_type (enum: buy/sell), expiry_timestamp (optional) |
| Output Data |
Order: id, status, created_at, trigger_condition, filled_amount, remaining_amount, explorer_url |
| Side Effects |
Smart contract interaction to register order |
| Error Handling |
Invalid price, insufficient allowance, contract error, duplicate order |
Tool: tonco_cancel_order
| Attribute |
Value |
| Purpose |
Cancel a pending limit order |
| Input Parameters |
order_id (string, required) |
| Output Data |
Result: success (boolean), transaction_hash (if applicable), message |
| Side Effects |
On-chain order cancellation |
| Error Handling |
Order not found, already filled/cancelled, not owner of order |
Category 3: Liquidity Position Management (4 Tools)
Tool: tonco_get_positions
| Attribute |
Value |
| Purpose |
List user's liquidity positions on TONCO |
| Input Parameters |
pool_address (string, optional), include_closed (boolean, default: false) |
| Output Data |
Array of positions: id, pool, token_amounts, current_value, fees_earned, apr, in_range (boolean), created_at |
| Side Effects |
None |
| Error Handling |
Wallet not connected, no positions found, API error |
Tool: tonco_add_liquidity
| Attribute |
Value |
| Purpose |
Add liquidity to a concentrated liquidity pool |
| Input Parameters |
pool_address, token_a_amount, token_b_amount, price_lower, price_upper, max_slippage (number), require_confirmation (boolean, default: true) |
| Output Data |
Position: id, pool, liquidity_added, position_range, transaction_hash, estimated_fees_24h |
| Side Effects |
Token transfers, LP NFT minted, blockchain transaction |
| Error Handling |
Insufficient balance, price range invalid, transaction reverted, user declined |
Tool: tonco_remove_liquidity
| Attribute |
Value |
| Purpose |
Remove liquidity from a position (partial or full) |
| Input Parameters |
position_id (string), liquidity_percentage (number 0-100, default: 100), min_token_a (optional), min_token_b (optional), require_confirmation (boolean) |
| Output Data |
Result: tokens_received (a and b), fees_claimed, transaction_hash, position_status (closed/active) |
| Side Effects |
LP NFT burned, tokens transferred to user |
| Error Handling |
Position not found, insufficient liquidity, slippage exceeded, user declined |
Tool: tonco_claim_fees
| Attribute |
Value |
| Purpose |
Claim accumulated trading fees from liquidity positions |
| Input Parameters |
position_id (string, required) or claim_all (boolean) |
| Output Data |
Result: tokens_claimed (array of {token, amount}), transaction_hash, total_value_usd |
| Side Effects |
Fee tokens transferred to user wallet |
| Error Handling |
No fees to claim, position not found, transaction failed |
Category 4: Automation & Alerts (3 Tools)
Tool: tonco_create_price_alert
| Attribute |
Value |
| Purpose |
Create a price alert for a token pair |
| Input Parameters |
token_pair (string), target_price (number), condition (enum: above/below/crosses), notification_method (enum: telegram/email/webhook), one_time (boolean, default: true) |
| Output Data |
Alert: id, status, created_at, trigger_condition, last_checked |
| Side Effects |
Alert registered in plugin storage, monitoring job scheduled |
| Error Handling |
Invalid price, token pair not found, duplicate alert |
Tool: tonco_set_rebalance_strategy
| Attribute |
Value |
| Purpose |
Configure auto-rebalance for liquidity positions |
| Input Parameters |
position_id, rebalance_trigger (enum: price_deviation/time_interval), threshold_value (number), new_price_range (object: lower/upper), max_gas_budget (optional) |
| Output Data |
Strategy: id, status, next_check_at, estimated_rebalance_cost |
| Side Effects |
Strategy saved, background monitor activated |
| Error Handling |
Invalid threshold, position not in range, insufficient gas budget |
Tool: tonco_get_automation_status
| Attribute |
Value |
| Purpose |
Check status of active automations (alerts, rebalancers) |
| Input Parameters |
type (enum: alert/rebalance/all), status (enum: active/paused/error) |
| Output Data |
Array of automations: id, type, config, status, last_triggered, next_check |
| Side Effects |
None |
| Error Handling |
No automations found, invalid filter |
π Security Requirements
Transaction Safety
- β
Simulation First: All transactions must be simulated via TONCO SDK before broadcasting
- β
Slippage Protection: Enforce user-defined slippage tolerance; reject if exceeded
- β
Deadline Enforcement: Include transaction deadline to prevent stale execution
- β
Confirmation Policy: Respect
require_confirmation flag; use sdk.llm.confirm() for explicit approval
Wallet & Key Management
- β
No Key Storage: Never store private keys or seed phrases; rely on Teleton's wallet integration
- β
Encrypted Secrets: Use
sdk.secrets for any API keys or sensitive config
- β
Address Validation: Validate all token/pool addresses against known format before use
Data Privacy
- β
No Logging of Sensitive Data: Never log wallet addresses, amounts, or transaction details via
sdk.log
- β
Minimal Data Collection: Only collect data necessary for plugin functionality
- β
User Control: Allow users to export/delete their plugin data anytime
Rate Limiting & DoS Protection
- β
API Rate Limits: Respect TONCO API rate limits; implement exponential backoff
- β
User-Level Throttling: Prevent spam by limiting tool calls per user per minute
- β
Graceful Degradation: Return helpful errors when APIs are unavailable
βοΈ Configuration Requirements
Secrets Schema (manifest.json)
| Secret Name |
Environment Variable |
Required |
Description |
tonco_api_key |
TONCO_API_KEY |
No |
API key for premium TONCO endpoints (optional) |
tonco_webhook_secret |
TONCO_WEBHOOK_SECRET |
No |
Secret for verifying incoming webhooks (optional) |
Plugin Config Schema
| Config Key |
Type |
Default |
Description |
default_slippage |
number |
1.0 |
Default slippage tolerance (%) for swaps |
default_deadline |
integer |
1800 |
Default transaction deadline (seconds) |
require_confirmation |
boolean |
true |
Require explicit confirmation for transactions |
auto_claim_fees |
boolean |
false |
Automatically claim fees when above threshold |
fee_claim_threshold |
number |
5.0 |
Minimum USD value to auto-claim fees |
notification_channel |
string |
"telegram" |
Default channel for alerts (telegram/email/webhook) |
preferred_pools |
array |
[] |
List of pool addresses to prioritize in search |
π Web UI Requirements
Config Panel Component
Location: web-ui/config-panel.jsx
Required Features:
- Display connection status to TONCO API
- Form for configuring default parameters (slippage, deadline, confirmation policy)
- Toggle for auto-claim fees with threshold input
- Notification channel selector (Telegram/Email/Webhook)
- Preferred pools manager (add/remove pool addresses)
- "Test Connection" button to validate API access
- Save/reset configuration buttons
Pool Browser Component
Location: web-ui/pool-browser.jsx
Features:
- Searchable/filterable list of TONCO pools
- Sort by TVL, volume, APY, fee tier
- Click pool β detailed view with charts (price history, liquidity depth)
- Quick actions: "Swap", "Add Liquidity", "Set Alert"
- Token pair selector with auto-complete
Position Manager Component
Location: web-ui/position-manager.jsx
Features:
- Visual display of user's LP positions (in-range/out-of-range indicators)
- Charts: position value over time, fees earned, impermanent loss estimate
- Actions per position: Add/Remove liquidity, Claim fees, Adjust range, Set rebalance
- Bulk actions: Claim all fees, Rebalance all in-range positions
- Export positions to CSV
π§ͺ Testing Requirements
Unit Tests
Framework: Vitest (preferred) or Jest
Coverage Requirements:
- Minimum 80% coverage of critical paths
- All tools must have at least one unit test
- Separate tests for: SDK integration, swap logic, position management, alert system
Key Test Scenarios:
- β
Swap quote calculation matches SDK output
- β
Slippage protection rejects quotes exceeding tolerance
- β
Position addition calculates correct liquidity range
- β
Price alert triggers at correct threshold
- β
Error handling for network failures, invalid inputs, contract reverts
Integration Tests
Approach: Mock TONCO SDK + forked mainnet tests via @ton/sandbox
Test Flows:
- Full Swap Flow: Quote β Simulation β Confirmation β Execution β Verification
- LP Lifecycle: Add liquidity β Earn fees β Claim fees β Remove liquidity
- Alert System: Create alert β Simulate price change β Verify notification
- Error Recovery: Network timeout β Retry logic β Graceful failure message
Manual Testing Checklist
π Documentation Requirements
README.md Structure
Required Sections:
- Features β List of capabilities with icons
- Installation β Via Teleton Web UI and manual methods
- Setup β Connecting wallet, configuring defaults, API key (optional)
- Usage Examples β Natural language commands for each major action
- Configuration Options β Table of all config parameters
- Security Best Practices β Slippage, confirmations, key management
- Troubleshooting β Common errors and solutions
- Contributing β Guidelines for adding new tools
- License β MIT
Example Commands (for README)
π¬ "Swap 10 TON for jUSDT on TONCO with 0.5% slippage"
π¬ "Show me top 5 pools by APY containing TON"
π¬ "Add 5 TON and 100 jUSDT as liquidity between $0.95-$1.05"
π¬ "What's my total fees earned from TONCO positions?"
π¬ "Alert me if TON/jUSDT price goes above $1.10"
π¬ "Rebalance my position #abc123 to new range $0.98-$1.02"
π¬ "Claim all fees from my TONCO liquidity positions"
Code Documentation
- JSDoc comments for all exported functions
- Inline comments for complex logic (concentrated liquidity math, routing)
- Clear error messages with actionable guidance
β
Acceptance Criteria
Functional Requirements
Technical Requirements
Security Requirements
Testing Requirements
π References & Resources
TONCO SDK
TONCO Protocol
Teleton Plugin Development
Related Plugins (for Architecture Reference)
dedust β Example of DEX integration
stonfi β Another DEX plugin for comparison
ton-wallet β Wallet interaction patterns
π·οΈ Metadata
| Field |
Value |
| Plugin ID |
tonco-dex |
| Version |
1.0.0 |
| Author |
xlabtg |
| SDK Version |
^1.0.0 |
| Priority |
High |
| Estimated Effort |
4-6 weeks |
| Labels |
plugin-request, defi, dex, tonco, trading |
π Notes for AI Code Generator
Instructions for AI Assistant:
- Follow tool specifications exactly β Do not change parameter names, types, or required fields.
- Use Teleton Plugin SDK patterns β Export
tools(sdk) function; each tool returns { success, data/error }.
- Handle errors gracefully β Catch all async errors, validate inputs, return structured messages.
- Use sdk.log for logging β Never console.log; never log sensitive data.
- Store secrets via sdk.secrets β Never in code, config files, or environment variables directly.
- Add JSDoc comments β Document all exported functions and complex logic.
- Generate tests β Use Vitest syntax; mock TONCO SDK with MSW or similar.
- Keep code modular β Separate concerns into
lib/*.js files.
- Use async/await consistently β Avoid promise chains for readability.
- Add inline comments β Explain non-obvious logic, especially concentrated liquidity math and routing.
Recommended Implementation Order:
manifest.json β Define metadata, tools list, secrets schema
lib/tonco-client.js β Base SDK wrapper with error handling
lib/pool-manager.js β Pool discovery and stats
index.js β Export 3 core tools first (tonco_list_pools, tonco_get_pool_stats, tonco_calculate_swap_quote)
tests/ β Unit tests for core functionality
- Expand to swap execution and position management
- Add automation/alerts tools
web-ui/ β Config panel and pool browser components
README.md β Documentation with examples
- Final testing and validation
π Next Steps
- Review β Maintainer reviews this issue for completeness
- Assign β Assign to AI code generator or human contributor
- Branch β Create feature branch:
feature/tonco-dex
- Scaffold β Generate initial code structure
- Iterate β Develop tools incrementally with testing
- PR β Submit pull request to
teleton-plugins main repository
- Review β Code review and feedback incorporation
- Merge β Merge to main after approval
Created by: @xlabtg
Date: 2026-03-29
Related: TONCO SDK integration, DeFi plugin series
Status: Ready for Implementation
π Plugin Request: tonco-dex
π― Executive Summary
Create a professional plugin for full-featured interaction with TONCO DEX via the Teleton AI agent. TONCO (by CryptoAlgebra) is a next-generation AMM with concentrated liquidity, multi-asset pools, and advanced trading features.
This plugin will enable users to:
Target SDK: https://github.com/cryptoalgebra/tonco-sdk
π Business Goals
Primary Objectives
Target Users
ποΈ Architecture Requirements
Plugin Structure
Design Principles
π§ Tool Specifications
Category 1: Pool Discovery & Analytics (4 Tools)
Tool:
tonco_list_poolstoken_a(string, optional),token_b(string, optional),sort_by(enum: volume/apy/tvl),limit(int 1-50)Tool:
tonco_get_pool_statspool_address(string, required),include_historical(boolean, default: false)Tool:
tonco_calculate_swap_quotetoken_in(string),token_out(string),amount_in(number/string),slippage_tolerance(number 0-100, default: 1)Tool:
tonco_get_price_alertstoken_pair(string, optional),status(enum: active/paused/all)Category 2: Swap Execution (3 Tools)
Tool:
tonco_execute_swaptoken_in,token_out,amount_in,slippage_tolerance(number),deadline_seconds(int, default: 1800),require_confirmation(boolean, default: true)Important: This tool must:
require_confirmation: trueslippage_toleranceto prevent MEV attackssdk.log.info()(without sensitive data)Tool:
tonco_create_limit_ordertoken_in,token_out,trigger_price,amount_in,order_type(enum: buy/sell),expiry_timestamp(optional)Tool:
tonco_cancel_orderorder_id(string, required)Category 3: Liquidity Position Management (4 Tools)
Tool:
tonco_get_positionspool_address(string, optional),include_closed(boolean, default: false)Tool:
tonco_add_liquiditypool_address,token_a_amount,token_b_amount,price_lower,price_upper,max_slippage(number),require_confirmation(boolean, default: true)Tool:
tonco_remove_liquidityposition_id(string),liquidity_percentage(number 0-100, default: 100),min_token_a(optional),min_token_b(optional),require_confirmation(boolean)Tool:
tonco_claim_feesposition_id(string, required) orclaim_all(boolean)Category 4: Automation & Alerts (3 Tools)
Tool:
tonco_create_price_alerttoken_pair(string),target_price(number),condition(enum: above/below/crosses),notification_method(enum: telegram/email/webhook),one_time(boolean, default: true)Tool:
tonco_set_rebalance_strategyposition_id,rebalance_trigger(enum: price_deviation/time_interval),threshold_value(number),new_price_range(object: lower/upper),max_gas_budget(optional)Tool:
tonco_get_automation_statustype(enum: alert/rebalance/all),status(enum: active/paused/error)π Security Requirements
Transaction Safety
require_confirmationflag; usesdk.llm.confirm()for explicit approvalWallet & Key Management
sdk.secretsfor any API keys or sensitive configData Privacy
sdk.logRate Limiting & DoS Protection
βοΈ Configuration Requirements
Secrets Schema (manifest.json)
tonco_api_keyTONCO_API_KEYtonco_webhook_secretTONCO_WEBHOOK_SECRETPlugin Config Schema
default_slippagedefault_deadlinerequire_confirmationauto_claim_feesfee_claim_thresholdnotification_channelpreferred_poolsπ Web UI Requirements
Config Panel Component
Location:
web-ui/config-panel.jsxRequired Features:
Pool Browser Component
Location:
web-ui/pool-browser.jsxFeatures:
Position Manager Component
Location:
web-ui/position-manager.jsxFeatures:
π§ͺ Testing Requirements
Unit Tests
Framework: Vitest (preferred) or Jest
Coverage Requirements:
Key Test Scenarios:
Integration Tests
Approach: Mock TONCO SDK + forked mainnet tests via
@ton/sandboxTest Flows:
Manual Testing Checklist
sdk.plugin.call()π Documentation Requirements
README.md Structure
Required Sections:
Example Commands (for README)
Code Documentation
β Acceptance Criteria
Functional Requirements
sdk.plugin.call()Technical Requirements
console.login production β onlysdk.log.{info,warn,error}lib/*.jsSecurity Requirements
Testing Requirements
π References & Resources
TONCO SDK
TONCO Protocol
Teleton Plugin Development
Related Plugins (for Architecture Reference)
dedustβ Example of DEX integrationstonfiβ Another DEX plugin for comparisonton-walletβ Wallet interaction patternsπ·οΈ Metadata
tonco-dex1.0.0xlabtg^1.0.0High4-6 weeksplugin-request,defi,dex,tonco,tradingπ Notes for AI Code Generator
π Next Steps
feature/tonco-dexteleton-pluginsmain repositoryCreated by: @xlabtg
Date: 2026-03-29
Related: TONCO SDK integration, DeFi plugin series
Status: Ready for Implementation