# Saylor Innovations Crypto Portfolio Rebalancer

> Saylor Innovations Crypto Portfolio Rebalancer is a paid API for AI agents from saylorinnovations.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-30).

Calculates buy/sell trade amounts to bring a crypto portfolio to target allocation weights, accounting for optional new cash, drift bands, and fees.

## Facts

- Endpoint: GET https://saylorinnovations.com/api/crypto/rebalance?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-30
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/saylor-innovations-crypto-portfolio-rebalancer-c36e4c27
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_I2gMFG1RAXtCCOnMFdIvo

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability saylor-innovations-crypto-portfolio-rebalancer-c36e4c27
```

Example prompt: I have BTC worth $6000 and ETH worth $3000 in my portfolio — can you calculate exactly how much of each I need to buy or sell to hit a 60% BTC and 40% ETH target, and include $1000 of new cash I'm adding?

## When to prefer this

Choose this endpoint when you need a fast, deterministic calculation of crypto rebalancing trades — especially when you want per-asset buy/sell amounts, drift analysis, and turnover computed in one call without executing any actual trades. Prefer it over general financial APIs when you specifically need crypto portfolio weight normalization with optional cash injection.

## Known failure modes

- Missing required 'holdings' parameter returns an error
- Missing required 'target_weights' parameter returns an error
- Target weights that don't sum to 100 may produce incorrect or error results
- Malformed symbol:value pairs (wrong delimiter or format) cause parse errors
- Negative new_cash_usd exceeding portfolio value may yield nonsensical results

## How this service works

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.

## Output

Returns a JSON object with a per-asset breakdown (symbol, current USD value, target USD value, trade action, trade amount in USD, current weight, target weight, drift in percentage points), plus portfolio-level figures: total value, new cash added, total turnover, and the asset with the biggest drift. Includes a plain-language note explaining how to interpret the results.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "queryParams"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "POST",
      "PUT",
      "PATCH",
      "DELETE",
      "HEAD"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "holdings",
      "target_weights"
     ],
     "properties": {
      "holdings": {
       "type": "string",
       "description": "current values as SYMBOL:usd pairs, e.g. BTC:6000,ETH:3000"
      },
      "fee_percent": {
       "type": "string",
       "description": "optional trading fee"
      },
      "new_cash_usd": {
       "type": "string",
       "description": "optional cash to add (negative to withdraw)"
      },
      "target_weights": {
       "type": "string",
       "description": "target percentages that add up to 100, e.g. BTC:50,ETH:30,SOL:20"
      },
      "drift_band_percent": {
       "type": "string",
       "description": "optional, leave assets within this many points of target alone"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "json"
    },
    "example": {
     "type": "object",
     "required": [
      "assets",
      "total_to_buy_usd"
     ],
     "properties": {
      "note": {
       "type": "string",
       "description": "Plain-language caveat about how to read and use the result"
      },
      "assets": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "action": {
          "description": "buy, sell or hold"
         },
         "symbol": {
          "description": "Asset symbol"
         },
         "trade_usd": {
          "description": "Amount to trade (negative means sell)"
         },
         "target_usd": {
          "description": "Target value"
         },
         "current_usd": {
          "description": "Current value"
         },
         "drift_percent_points": {
          "description": "Target weight minus current weight"
         },
         "target_weight_percent": {
          "description": "Target share"
         },
         "current_weight_percent": {
          "desc
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/saylor-innovations-crypto-portfolio-rebalancer-c36e4c27/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from saylorinnovations.com](https://www.zero.xyz/host/saylorinnovations.com/llms.txt)
