Skip to main content
Once a skill is discovered — either automatically or through an explicit Marketplace search — it works like any core tool. Zark handles execution, result formatting, and response generation.

Automatic Execution

In most cases, you don’t need to think about skills at all:
  1. You ask a question
  2. Zark discovers the right skill from the Marketplace
  3. The skill executes with the right parameters
  4. Results are included in the response
{
  "messages": [
    {"role": "user", "content": "What's the risk score for wallet 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb?"}
  ],
  "workspace_id": "wks-xxxxx",
  "tool_choice": "auto"
}
Zark discovers a wallet analytics skill, executes it with the wallet address, and returns the risk assessment — all in one request.

Multi-Tool Workflows

Marketplace skills work alongside core tools. Zark can combine a discovered skill with core tools for complex requests: “Analyze this wallet’s activity and write a risk report” Zark discovers a wallet analytics skill, runs the analysis, then passes the results to Artifact Creator to generate the report. You don’t need to manage the steps — Zark handles the coordination.
{
  "messages": [
    {"role": "user", "content": "Analyze wallet 0x742d... activity and write a risk report"}
  ],
  "workspace_id": "wks-xxxxx",
  "tool_choice": "auto"
}

Shared Insights

Shared Insights are curated datasets that community members have published to the Marketplace. They work like pre-loaded data tables that you can query with natural language:
{
  "messages": [
    {"role": "user", "content": "Show me the top tokens by market cap from the community dataset"}
  ],
  "workspace_id": "wks-xxxxx",
  "tool_choice": "auto"
}
When the Marketplace discovers a Shared Insight, it becomes queryable through the Database Queries tool.

Skill Parameters

Some skills require specific inputs — like a wallet address, token symbol, or date range. When a required parameter is missing, Zark either extracts it from your query or asks you to provide it.

Streaming

Python
import requests
import json

response = requests.post(
    "https://api.zarkai.xyz/v1/chat",
    headers={"x-api-key": "your_api_key", "Content-Type": "application/json"},
    json={
        "messages": [{"role": "user", "content": "Show me whale wallet activity in the last 24 hours"}],
        "workspace_id": "wks-xxxxx",
        "stream": True,
    },
    stream=True,
)

for line in response.iter_lines():
    if line:
        event = json.loads(line.decode("utf-8").removeprefix("data: "))
        if event["type"] == "table":
            print(f"Results: {event['total_rows']} rows")
        elif event["type"] == "ai_chunk":
            print(event["content"], end="", flush=True)
        elif event["type"] == "ai_complete":
            print("\n\nDone.")

Streaming Events

EventDescription
tableStructured data results from the skill
ai_chunkAnalysis and interpretation of the results
ai_completeFinal response

Examples

What's the risk score for this wallet?
Show me DEX trading volume across chains
Pull social engagement metrics for this account
Analyze wallet activity and write a risk report
Show me the top tokens by market cap from the community dataset