🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Sentio Platform

by @sentioxyz

Build, modify, or troubleshoot Sentio projects across processors, Sentio SQL in Data Studio, alerting, and dashboards. Use for tasks involving @sentio/sdk ha...

Versionv1.0.0
Downloads270
Installs2
TERMINAL
clawhub install sentio-platform

πŸ“– About This Skill


name: sentio-platform description: Build, modify, or troubleshoot Sentio projects across processors, Sentio SQL in Data Studio, alerting, and dashboards. Use for tasks involving @sentio/sdk handlers in processor.ts, sentio.yaml config, metrics/event logs/entity store, running or sharing Sentio SQL queries, creating/updating alert rules and notification channels, or managing dashboards and panels.

sentio-platform

Use npx @sentio/cli@latest for SQL, data queries, alerts, endpoints, and project management.

Setup

1. Check login status: npx @sentio/cli@latest login --status 2. If not logged in, ask the user for api key and run: npx @sentio/cli@latest login --api-key

SQL

  • Execute: sentio data sql --project / --query "SELECT * FROM transfer LIMIT 10"
  • Async: sentio data sql --project / --query "..." --async
  • Fetch async result: sentio data sql --project / --result
  • Paginate: sentio data sql --project / --cursor
  • From file: sentio data sql --project / --file query.yaml
  • No cache: add --no-cache; control TTL with --cache-ttl-secs and --cache-refresh-ttl-secs
  • Specific processor version: --version
  • Data queries

  • List events: sentio data events --project /
  • List metrics: sentio data metrics --project /
  • Query event: sentio data query --project / --event Transfer --aggr total --group-by timestamp
  • Query metric: sentio data query --project / --metric burn --aggr avg --filter meta.chain=1
  • Query price: sentio data query --project / --price ETH
  • With functions: --func 'topk(5)', --func 'delta(1m)'
  • Time range: --start
  • Limit/offset: --limit --offset
  • Timezone: --timezone
  • File format docs: sentio data query --doc
  • Alerts

  • List: sentio alert list --project /
  • Get: sentio alert get --project /
  • Create metric: sentio alert create --project / --type METRIC --subject "Burn spike" --metric burn --aggr avg --op '>' --threshold 100
  • Create event: sentio alert create --project / --type METRIC --subject "Transfer anomaly" --event Transfer --filter amount>0 --aggr total --func 'delta(1m)' --op '>' --threshold 100
  • Create log: sentio alert create --project / --type LOG --subject "Large transfers" --query 'amount:>1000' --op '>' --threshold 0
  • Create SQL: sentio alert create --project / --type SQL --subject "Alert" --query 'select timestamp, amount from transfer where amount > 1000' --time-column timestamp --value-column amount --sql-aggr MAX --op '>' --threshold 1000
  • From file: sentio alert create --project / --file alert.yaml
  • Update: sentio alert update --project / --file updated.yaml
  • Delete: sentio alert delete --project /
  • Duration/interval: --for 5m --interval 1m; between condition: --op between --threshold 10 --threshold2 100
  • File format docs: sentio alert create --doc
  • Endpoints

  • Create: sentio endpoint create --project / --query "SELECT * FROM t WHERE amount > \${min}" --args '{"min":"int"}'
  • List: sentio endpoint list --project /
  • Get: sentio endpoint get --project / --id
  • Test: sentio endpoint test --project / --id --args '{"min":1000}'
  • Delete: sentio endpoint delete --project / --id
  • Dashboards

  • List: sentio dashboard list --project /
  • Create: sentio dashboard create --project / --title "My Dashboard"
  • Create from file: sentio dashboard create --project / --file dashboard.json
  • Export: sentio dashboard export --project /
  • Import: sentio dashboard import --project / --file dashboard.json
  • Import from stdin: sentio dashboard import --project / --stdin
  • Import override layout: sentio dashboard import --project / --file dashboard.json --override-layouts
  • Add SQL panel: sentio dashboard add-panel --project / --panel-name "Top Holders" --type TABLE --sql "SELECT * FROM CoinBalance ORDER BY balance DESC LIMIT 50"
  • Add event panel: sentio dashboard add-panel --project / --panel-name "Transfer Count" --type LINE --event Transfer --aggr total
  • Add metric panel: sentio dashboard add-panel --project / --panel-name "ETH Price" --type LINE --metric cbETH_price
  • Panel with filters/groups: --filter amount>1000 --group-by meta.address --func 'topk(5)'
  • Panel time range: --time-range-start -24h --time-range-end now --time-range-step 3600
  • Chart types: TABLE, LINE, BAR, PIE, QUERY_VALUE, AREA, BAR_GAUGE, SCATTER
  • Event aggr options: total, unique, AAU, DAU, WAU, MAU
  • Metric aggr options: avg, sum, min, max, count
  • Dashboard import JSON format

    When constructing or editing dashboard.json for import, refer to references/openapi.swagger.json for the full schema. Key structure:

    {
      "dashboardId": "",
      "dashboardJson": {
        "name": "My Dashboard",
        "panels": {
          "": {
            "id": "",
            "name": "Panel Name",
            "chart": {
              "type": "",
              "datasourceType": "",
              "sqlQuery": "SELECT ...",          // for SQL panels
              "queries": [...],                  // for metric/event panels
              "formulas": [...],
              "config": { ... }
            }
          }
        },
        "layouts": { ... }
      },
      "overrideLayouts": false
    }
    

  • Chart.type values: TABLE, LINE, BAR, PIE, QUERY_VALUE, AREA, BAR_GAUGE, SCATTER
  • Chart.datasourceType: determines query shape β€” SQL panels use sqlQuery string; metric/event panels use queries array
  • panels is a map keyed by panel ID; each panel contains a chart object
  • layouts controls responsive grid placement; omit or set overrideLayouts: true to auto-arrange
  • See references/openapi.swagger.json definitions web_service.Dashboard, web_service.Panel, web_service.Chart, common.Query for complete field lists
  • Project management

  • List projects: sentio project list
  • Get project: sentio project get /
  • Create project: sentio project create --owner --name --type sentio --visibility private
  • Delete project: sentio project delete /
  • Project types: sentio, subgraph, action
  • Processor management

  • Status: sentio processor status --project /
  • Source files: sentio processor source --project /
  • Activate pending version: sentio processor activate-pending --project /
  • Pause: sentio processor pause --project / --reason "maintenance" -y
  • Resume: sentio processor resume --project /
  • Stop: sentio processor stop --project /
  • Logs: sentio processor logs --project / --limit 100
  • Follow logs: sentio processor logs --project / -f
  • Filter logs: --log-type execution --level ERROR --query "timeout"
  • Price

  • Get price: sentio price get --coin ETH or --symbol ETH or --address 0x... --chain 1
  • Historical price: sentio price get --coin ETH --timestamp
  • Batch prices: sentio price batch --file prices.yaml
  • List supported coins: sentio price coins
  • Check latest available prices: sentio price check-latest
  • Simulation

  • Run transaction simulation: sentio simulation run --project / --file sim.yaml
  • Run bundle simulation: sentio simulation run-bundle --project / --chain-id --file bundle.yaml
  • List simulations: sentio simulation list --project /
  • Get simulation: sentio simulation get --project /
  • Get bundles: sentio simulation bundle --project /
  • Fetch call traces: sentio simulation trace --project /
  • Notes

  • All commands accept --api-key or use saved credentials from sentio login.
  • All commands accept --token for bearer token auth.
  • Use --json or --yaml for machine-readable output.
  • Use --project / to target a project, or --owner + --name separately, or --project-id .
  • For long SQL queries, use --async then fetch with --result .
  • SQL alert queries must include a time column and a numeric value column; use $startTime/$endTime placeholders.
  • references/openapi.swagger.json contains the full Sentio REST API spec β€” read it when constructing dashboard JSON payloads, debugging CLI calls, or building custom integrations. Key definitions for dashboards: web_service.ImportDashboardRequest, web_service.Dashboard, web_service.Panel, web_service.Chart, common.Query.
  • βš™οΈ Configuration

    1. Check login status: npx @sentio/cli@latest login --status 2. If not logged in, ask the user for api key and run: npx @sentio/cli@latest login --api-key

    πŸ“‹ Tips & Best Practices

  • All commands accept --api-key or use saved credentials from sentio login.
  • All commands accept --token for bearer token auth.
  • Use --json or --yaml for machine-readable output.
  • Use --project / to target a project, or --owner + --name separately, or --project-id .
  • For long SQL queries, use --async then fetch with --result .
  • SQL alert queries must include a time column and a numeric value column; use $startTime/$endTime placeholders.
  • references/openapi.swagger.json contains the full Sentio REST API spec β€” read it when constructing dashboard JSON payloads, debugging CLI calls, or building custom integrations. Key definitions for dashboards: web_service.ImportDashboardRequest, web_service.Dashboard, web_service.Panel, web_service.Chart, common.Query.