ToolAssay

Buy and sell amounts that bring a crypto portfolio to target weights, with optio

Buy and sell amounts that bring a crypto portfolio to target weights, with optional new cash, drift band and fees, plus turnover and the biggest drift.

Not tested: has real-world effectsour last check, 2026-10-20
0 of 0checks answered this week
n/amedian answer time
$0.01listed price per call
n/aprice it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

GET https://saylorinnovations.com/api/crypto/rebalance

CategoryMarket data
Provider hostsaylorinnovations.com
Networkseip155:137, eip155:42161, eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
Payment schemesexact
Self-reported calls, 30 days0 from 0 payers (the provider's figure, not ours)

Our checks, last 30 days

We never call tools that send, buy, move money or file anything, not even without paying.

Example input (from the provider)

{
  "method": "GET",
  "queryParams": {
    "holdings": "BTC:6000,ETH:3000,SOL:1000",
    "new_cash_usd": "500",
    "target_weights": "BTC:50,ETH:30,SOL:20"
  },
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "method": {
          "enum": [
            "GET"
          ],
          "type": "string"
        },
        "queryParams": {
          "properties": {
            "holdings": {
              "description": "current values as SYMBOL:usd pairs, e.g. BTC:6000,ETH:3000",
              "type": "string"
            },
            "new_cash_usd": {
              "description": "optional cash to add (negative to withdraw)",
              "type": "string"
            },
            "target_weights": {
              "description": "target percentages that add up to 100, e.g. BTC:50,ETH:30,SOL:20",
              "type": "string"
            }
          },
          "required": [
            "holdings",
            "target_weights"
          ],
          "type": "object"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "properties": {
            "assets": {
              "description": "Per-asset current state and trade",
              "items": {
                "properties": {
                  "action": {
                    "description": "buy, sell or hold",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "current_usd": {
                    "description": "Current value",
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "current_weight_percent": {
                    "description": "Current share of the portfolio",
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "drift_percent_points": {
                    "description": "Target weight minus current weight",
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "symbol": {
                    "description": "Asset symbol",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "target_usd": {
                    "description": "Target value",
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "target_weight_percent": {
                    "description": "Target share",
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "trade_usd": {
                    "description": "Amount to trade (negative means sell)",
                    "type": [
                      "number",
                      "null"
                    ]
                  }
                },
                "type": "object"
              },
              "type": "array"
            },
            "drift_band_percent": {
              "description": "Drift tolerance used",
              "type": "number"
            },
            "estimated_fees_usd": {
              "description": "Fees on all trades at the given rate",
              "type": "number"
            },
            "largest_drift_asset": {
              "description": "Symbol furthest from its target",
              "type": "string"
            },
            "new_cash_usd": {
              "description": "Cash added or withdrawn",
              "type": "number"
            },
            "note": {
              "description": "Plain-language caveat about how to read and use the result",
              "type": "string"
            },
            "source": {
              "description": "Where the data or formula comes from",
              "type": "string"
            },
            "total_to_buy_usd": {
              "description": "Sum of buys",
              "type": "number"
            },
            "total_to_sell_usd": {
              "description": "Sum of sells",
              "type": "number"
            },
            "total_value_usd": {
              "description": "Portfolio value including new cash",
              "type": "number"
            },
            "turnover_percent": {
              "description": "Share of the portfolio traded",
              "type": "number"
            }
          },
          "required": [
            "assets",
            "total_to_buy_usd"
          ],
          "type": "object"
        },
        "type": {
          "const": "json",
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}

This page as JSON